一、鏈接服務器:在命令提示符下
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)在不一樣的物理硬盤設備上從新分配磁盤活動; 若是可能,應將最繁忙的數據庫存放在不一樣的物理設備上,這跟使用同一物理設備的不一樣分區是不一樣的,由於它們將爭用相同的物理資源(磁頭)。