MySQL遠端存取的命令
格式: mysql -h主機地址 -u使用者名稱 -p使用者密碼
樣本:
yanggang@host:~$ mysql -h192.168.1.11 -uroot -p123456
ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.1.11' (111)
出現錯誤!無法串連遠端MySQL資料庫
MySQL遠端連線資料庫,有兩種方式:
mysql.sock和TCP/IP,前者比後者串連訪問速度更快,但僅限於同一台本機,詳見
上述錯誤,是沒有遠端存取許可權導致的
解決方案:
1 在目標伺服器上(192.168.1.11),修改mysql的my.cnf檔案:
sudo vi /etc/mysql/my.cnf
2 注釋掉bind-address,屏蔽其只對本地監聽
#bind-address= 127.0.0.1
3 啟動MySQL服務,使其修改的配置生效,詳見
sudo restart mysql
配置完了伺服器的資料存取權限,此時還是不能遠端存取MySQL資料庫
這是因為現在還沒有對伺服器上的資料庫或表賦予存取權限(GRANT)
4 在伺服器上,登入MySQL資料庫
mysql -u root -p123456
5 對資料庫top800賦予許可權
grant all privileges on top800.* to root@192.168.1.22 identified by '123456';
flush privileges;
6 現在可以遠端存取伺服器上的MySQL
mysql -h192.168.1.11 -uroot -p123456
預設,只能訪問information_schema和top800,其中top800是我們在步驟5賦予許可權的資料庫
知識拓展:
1 在伺服器上刪除使用者對資料庫的存取權限:
revoke all privileges on top800.* from root@192.168.1.22 identified by '123456';
2 在伺服器上刪除使用者root:
delete from user where user='yanggang';
3 在修改生效:
flush privileges;
4 在伺服器上查詢使用者:
更多參考