mysql 一些基礎知識一


一、鏈接服務器:在命令提示符下
    mysql -h localhost -uroot -p123456
    登陸服務器時順便選擇一個數據庫
    mysql db -h localhost -u root -p 123456 
    退出MYSQL命令: exit (回車)
2.修改密碼:在命令提示符下
    mysqladmin -h localhost -u root -p 123456 password 新密碼
    mysqladmin -uroot password yourpasswd 爲root添加密碼
    set password for root@localhost=password('yourpasswd');//登錄後改密碼
3.導出數據庫:在命令提示符下
    mysqldump -u root -p123456 wenzhang > 1.sql
    mysqldump (-h localhost) -u root -p 123456 數據庫名 表名> c:\2.sql
4.導出數據庫,只帶結構:在命令提示符下
    mysqldump   -h localhost -u root -p 123456 數據庫名 -d>c:\2.sql
5.導入數據庫:在命令提示符下
    mysql  -h localhost -u root -p 123456 數據庫名< c:\2.sql
6.建立數據庫DB
    create database 
7.查看數據庫
    show databases;
8.刪除數據庫
    drop database 數據庫名;
9.選用數據庫
    use 數據庫名;
10.查看當前正在使用的數據庫
    select database();
11.查看當前的日期和時間
    select now();
12.查看當前的用戶
    select user();
13.查看當前的版本
    select version();
14.查看數據表
    show tables;
查看建立表的代碼
    show create table 表名
15.查看錶結構
    describe  表名稱  |  desc 表名稱;
    SHOW FIELDS FROM 
16.給表添加一列
    alter table 表名 add 列名 屬性;
17.修改表的字段類型
    alter table 表名 modify 字段 新類型;
18.修改表的字段名稱
    alter table 表名 change 字段 新字段 類型;
19.刪除字段
    alter table 表名 drop 字段;
20.修改表名
    alter table admin rename to admin1;
    REPAIR TABLE 修復表
    OPTIMIZE TABLE 優化表
    SHOW KEYS FROM mysql

21.新增用戶sql

    增長一個用戶test1密碼爲abc,讓他能夠在任何主機上登陸,並對全部數據庫有查詢、插入、修改、刪除的權限
    grant select,insert,update,delete on *.* to test2@localhost identified by \"abc\";數據庫

    若是你不想test2有密碼,能夠再打一個命令將密碼消掉。
    grant select,insert,update,delete on mydb.* to test2@localhost identified by \"\";緩存

 
     顯示當前mysql版本和當前日期
    select version(),current_date;服務器

22 優化 explain ide

 分析結果的含義:
  1)table:表名;
  2)type:鏈接的類型,(ALL/Range/Ref)。其中ref是最理想的;
  3)possible_keys:查詢能夠利用的索引名;
  4)key:實際使用的索引;
  5)key_len:索引中被使用部分的長度(字節);
  6)ref:顯示列名字或者"const"(不明白什麼意思);
  7)rows:顯示MySQL認爲在找到正確結果以前必須掃描的行數;性能

2三、使用optimize table
  對於常常修改的表,容易產生碎片,使在查詢數據庫時必須讀取更多的磁盤塊,下降查詢性能。具備可變長的表都存在磁盤碎片問題,這個問題對blob數據類型更爲突出,由於其尺寸變化很是大。能夠經過使用optimize table來整理碎片,保證數據庫性能不降低,優化那些受碎片影響的數據表。 optimize table能夠用於MyISAM和BDB類型的數據表。實際上任何碎片整理方法都是用mysqldump來轉存數據表,而後使用轉存後的文件並從新建數據表;優化

2四、使用not null和enum
  儘可能將列定義爲not null,這樣可以使數據的出來更快,所需的空間更少,並且在查詢時,MySQL不須要檢查是否存在特例,即null值,從而優化查詢;
  若是一列只含有有限數目的特定值,如性別,是否有效或者入學年份等,在這種狀況下應該考慮將其轉換爲enum列的值,MySQL處理的更快,由於全部的enum值在系統內都是以標識數值來表示的;加密

2五、使用procedure analyse()
  可使用procedure analyse()顯示最佳類型的建議,使用很簡單,在select語句後面加上procedure analyse()就能夠了;例如:
  select * from students procedure analyse();
  select * from students procedure analyse(16,256);
  第二條語句要求procedure analyse()不要建議含有多於16個值,或者含有多於256字節的enum類型,若是沒有限制,輸出可能會很長;.net

 2六、使用查詢緩存
  1)查詢緩存的工做方式:
  第一次執行某條select語句時,服務器記住該查詢的文本內容和查詢結果,存儲在緩存中,下次碰到這個語句時,直接從緩存中返回結果;當更新數據表後,該數據表的任何緩存查詢都變成無效的,而且會被丟棄。
  2)配置緩存參數:
  變量:query_cache _type,查詢緩存的操做模式。有3中模式,0:不緩存;1:緩存查詢,除非與 select sql_no_cache開頭;2:根據須要只緩存那些以select sql_cache開頭的查詢; query_cache_size:設置查詢緩存的最大結果集的大小,比這個值大的不會被緩存。

2七、調整硬件   1)在機器上裝更多的內存;   2)增長更快的硬盤以減小I/O等待時間;   尋道時間是決定性能的主要因素,逐字地移動磁頭是最慢的,一旦磁頭定位,從磁道讀則很快;   3)在不一樣的物理硬盤設備上從新分配磁盤活動;   若是可能,應將最繁忙的數據庫存放在不一樣的物理設備上,這跟使用同一物理設備的不一樣分區是不一樣的,由於它們將爭用相同的物理資源(磁頭)。

相關文章
相關標籤/搜索