有時候建站的時候因為數據庫和網站放在不同的IP,這個時候就需要用程序進行mysql的遠程連接,而mysql因為安全的因素,默認的時候用戶設置的是不能遠程連接,只能本地連接,這個時候就需要自己去修改其中的設置。下面講方法。
進入cmd命令模式。
mysql -h localhost-u mysql -p
Enter password: ******
連接數據庫。
mysql> use mysql; (此DB存放MySQL的各種配置信息)
Database changed
mysql> select host,user from user; (查看用戶的權限情況)
+-------------+-------+
| host | user |
+-------------+-------+
| localhost | |
| localhost | root |
| localhost | |
| localhost | mysql |
+-------------+-------+
6 rows in set (0.02 sec)
由此可以看出,只能以localhost的主機方式訪問。
mysql> Grant all privileges on *.* to 'root'@'%' identified by ‘password’with grant option;
(%表示是所有的外部機器,如果指定某一台機,就將%改為相應的機器名;‘root’則是指要使用的用戶名,裡面的password需要自己修改成root的密碼)
mysql> flush privileges; (運行為句才生效,或者重啟MySQL)
Query OK, 0 rows affected (0.03 sec)
mysql> select host,user from user; (再次查看用戶的權限情況)
+-------------+-------+
| host | user |
+-------------+-------+
| % | mysql |
| % | root |
| localhost | |
| localhost | root |
| localhost | |
| localhost | mysql |
+-------------+-------+
mysql>exit
現在再試試:從遠程cmd那邊看能不能登錄,能登錄的話,一般用代碼也是可以連接的到的。
另外需要注意的是用戶權限表是在mysql數據庫的db表,裡面詳細記錄了哪些用戶有權限對哪幾個數據庫有操作的權限,這個對多用戶的管理比較重要。