一、檢視MySQL 版本
 
1、在終端下:mysql -V  
2、在mysql中:mysql> status;
3:在help裡面查詢   mysql --help | grep Distrib
4:使用mysql的函式  mysql> select version();
 
二、Mysql 安裝
1、 yum list | grep mysql   命令來檢視yum上提供的mysql資料庫可下載的版本
2、yum install -y mysql-server mysql mysql-deve  使用yum預設安裝,一般不是最新的版本,可到官網去現在rpm 包進行安裝
 
三、Mysql 配置
注意:如果我們是第一次啟動mysql服務,mysql伺服器首先會進行初始化的配置,如:
1、service mysqld start 
第一次啟動設定 root 賬號 密碼
2、mysqladmin -u root password  'new-password'
3、 chkconfig --list | grep mysqld   命令來檢視mysql服務是不是開機自動啟動 
mysqld             0:關閉    1:關閉    2:關閉    3:關閉    4:關閉    5:關閉    6:關閉
4、chkconfig mysqld on  設定開機啟動
chkconfig --list | grep mysql  再次檢視

mysqld             0:關閉    1:關閉    2:啟用    3:啟用    4:啟用    5:啟用    6:關閉

 
四、mysql資料庫的主要配置檔案
 
1./etc/my.cnf 這是mysql的主配置檔案 可以使用cat 檢視
2、mysql資料庫的資料庫檔案通常是存放在了/ver/lib/mysql這個目錄下
3./var/log mysql資料庫的日誌輸出存放位置 可以自己在my.cnf 中配置
 
 
五、切底刪除mysql
rpm -qa|grep mysql                         檢視是否還有mysql軟體

yum remove mysql mysql-server mysql-libs compat-mysql51

rm -rf /var/lib/mysql                         刪除mysql 檔案目錄
rm /etc/my.cnf                                  刪除mysql 配置檔案
 

可以通過 netstat -anp 命令來檢視一下,Linux系統是否在監聽 3306 這個埠號:

六、使用者管理

1、建立使用者:

CREATE USER 'dog'@'localhost' IDENTIFIED BY '123456'; 
CREATE USER 'pig'@'192.168.1.101_' IDENDIFIED BY '123456'; 
CREATE USER 'pig'@'%' IDENTIFIED BY '123456'; 
CREATE USER 'pig'@'%' IDENTIFIED BY ''; 
CREATE USER 'pig'@'%';

說明:username – 你將建立的使用者名稱, host – 指定該使用者在哪個主機上可以登陸,如果是本地使用者可用localhost,

如果想讓該使用者可以從任意遠端主機登陸,可以使用萬用字元%. password –  該使用者的登陸密碼,密碼可以為空,如果為空則該使用者可以不需要密碼登陸伺服器.

2、授權命令:

GRANT privileges ON databasename.tablename TO 'username'@'host'
GRANT SELECT, INSERT ON test.user TO 'pig'@'%'; 
GRANT ALL ON *.* TO 'pig'@'%';

說明: privileges – 使用者的操作許可權,如SELECT , INSERT , UPDATE  等(詳細列表見該文最後面).

如果要授予所的許可權則使用ALL.;databasename –  資料庫名,tablename-表名,如果要授予該使用者對所有資料庫和表的相應操作許可權則可用*表示, 如*.*.

 如果想讓該使用者可以授權,用以下命令:

        GRANT privileges ON databasename.tablename TO 'username'@'host' WITH GRANT OPTION;

3、設定與更改使用者密碼

SET PASSWORD FOR 'username'@'host' = PASSWORD('newpassword');

 如果是當前登陸使用者用 SET PASSWORD = PASSWORD("newpassword");

4、撤銷使用者許可權  REVOKE privilege ON databasename.tablename FROM 'username'@'host';

REVOKE SELECT ON *.* FROM 'pig'@'%';

注意: 假如你在給使用者’pig’@'%’授權的時候是這樣的(或類似的):GRANT SELECT ON test.user TO  ‘pig’@'%’,

則在使用REVOKE SELECT ON *.* FROM  ‘pig’@'%’;

命令並不能撤銷該使用者對test資料庫中user表的SELECT 操作.相反,如果授權使用的是GRANT SELECT ON  *.* TO ‘pig’@'%’;

則REVOKE SELECT ON test.user FROM  ‘pig’@'%’;命令也不能撤銷該使用者對test資料庫中user表的Select 許可權.

具體資訊可以用命令SHOW GRANTS FOR ‘pig’@'%’; 檢視.

5、刪除使用者 DROP USER ‘username’@'host’;

七、開啟慢查詢

1、動態開啟,不用重啟服務

幸好在mysql5.1中已經為我們提供了線上設定慢查詢日誌的方法,

通過設定mysql系統變數就可以達到這個目的。這樣就不用重啟mysql了。

    線上開啟慢查詢日誌:
    1. mysql > set global slow_query_log=1;
    2. mysql > set global long_query_time=3;
    3. mysql > set global slow_query_log_file=’mysql-slow.log’;
            如果不需要記錄慢查詢了,可以很方便的關閉:
    1. mysql > set global slow_query_log=0;

注意:在5.1.29以前用的是log_slow_queries變數,5.1.29及之後的版本log_slow_queries變數就用slow_query_log變數代替了。

slow_query_log指定開啟還是關閉,slow_query_log_file指定日誌檔案filename,long_query_time指定慢查詢的閾值。

  注意2:long_query_time變數從MySQL 5.1.21開始,可以被設定的最小值為0,且精度可以被設定到微秒級(例如值可以被設定為 1.000002,即1秒又2微秒);

而在5.1.21之前的版本,這個變數可以被設定的最小值為1,且只能為整型。

2、在my.cnf 在配置

 

3、檢視慢查詢日誌

命令mysqldumpslow 分析 MYSQL

show variables like ‘%slow%’; 檢視MYSQL 慢查詢日誌存放路勁

mysqldumpslow 的常用引數如下:

-s 後面接下面的引數表示 mysqldumpslow 結果顯示的順序!

c query執行的次數

t sql執行的時間

l lock鎖表的時間

r sql返回的行數

ac,at,al,ar,表示倒序排列

-t,是top n,即為返回前面n條資料。

-g,後邊可以寫一個正則匹配模式,大小寫不敏感

我常用 mysqldumpslow -s al -t 20 slow.log