[Mysql] Grant 身份與權限設定

Machine A

1. 進入 mysql 建立 身份與密碼
(1) 限定 username 從 localhost 進入 mysql 存取 dbname
GRANT SELECT,INSERT,UPDATE,DELETE,CREATE ON dbname.* TO ‘username’@’localhost’ IDENTIFIED BY ‘password’;

 

(2) 限定 username 於 內部ip 進入 mysql 存取 dbname
GRANT SELECT,INSERT,UPDATE,DELETE,CREATE ON dbname.* TO ‘uesrname’@’192.168.1.%’ IDENTIFIED BY ‘password’;

 

2. 離開 mysql + mark my.cnf 的 bind-address
$ vim /etc/mysql/my.cnf
# bind-address      = 127.0.0.1

 

3. 將 mysql 重啟
$ sudo /etc/init.d/mysql restart

 

4. check mysql listen

$ sudo netstat -plutn | grep -i sql
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 9747/mysqld 
=> 需為 0.0.0.0:3306

5. 測試連線 (可於 machine A 或 與 machine A 同網段的機器透過 內部IP 進行連線)

$  mysql -u dbname -p -h 192.168.1.xx

 

 

參考來源:

1. Grant 設定:MySQL 新增 User (Grant)

2. 排除 mysql 111 error:Connect Error (2003) Can’t connect to MySQL Server on ” (111)