1、鏈接遠程數據庫:
一、顯示密碼
如:MySQL 鏈接遠程數據庫(192.168.5.116),端口「3306」,用戶名爲「root」,密碼「123456」mysql
C:/>mysql -h 192.168.5.116 -P 3306 -u root -p123456
二、隱藏密碼
如:MySQL 鏈接本地數據庫,用戶名爲「root」,sql
C:/>mysql -h localhost -u root -p
Enter password:
2、配置mysql容許遠程連接
默認狀況下,mysql賬號不容許從遠程登錄,只能在localhost登陸。本文提供了二種方法設置mysql能夠經過遠程主機進行鏈接。
1、改表法
在localhost登入mysql後,更改 "mysql" 數據庫裏的 "user" 表裏的 "host" 項,將"localhost"改稱"%"數據庫
例如:
#mysql -u root -p
Enter password:
……
mysql>
mysql>update user set host = '%' where user = 'root';服務器
mysql>select host, user from user;ide
2、受權法
例如: 你想myuser使用mypassword(密碼)從任何主機鏈接到mysql服務器的話。.net
mysql>GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%'IDENTIFIED BY 'mypassword' WITH GRANT OPTION;ip
若是你想容許用戶myuser從ip爲192.168.1.6的主機鏈接到mysql服務器,並使用mypassword做爲密碼get
mysql>GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3'IDENTIFIED BYit
'mypassword' WITH GRANT OPTION;io
mysql>FLUSH PRIVILEGES
使修改生效,就能夠了
常見問題: 一、在採用法二受權法以後,沒法在本地登陸mysql(如:#mysql -u root -p -h 192.168.5.116 Enter password: ERROR 1045 (28000): Access denied for user 'root'@'loadb116' (using password: YES) 上例中loadb116是主機名. 解決方法: 一、這時可使用:mysql -u root -p 登陸,進入到mysql後。 mysql> grant all privileges on *.* to 'root'@'loadb116' identified by '123456' with grant option; Query OK, 0 rows affected (0.00 sec) mysql> flush privileges; Query OK, 0 rows affected (0.00 sec) 二、在本地使用ip地址登陸 # mysql -u root -p -h 192.168.5.116 Enter password: Welcome to the MySQL monitor. Commands end with ; or /g. Your MySQL connection id is 60 Server version: 5.1.45 MySQL Community Server (GPL) Type 'help;' or '/h' for help. Type '/c' to clear the buffer. mysql>