默認情況下,mysql是不允許被遠程調用的。而在項目開發過程中,這個情況是不能被回避的。
安裝mysql,這個免安裝版的之前已經在相關的博客介紹過了。
參見:Mysql免安裝版安裝配置及常用操作。
安裝版下載:http://dev.mysql.com/downloads/mysql/
無論是安裝好的數據庫還是免安裝的,mysql會自帶一個名為mysql的數據庫。而user表就是這個mysql數據庫來維護的,所以我們操作其實也就是針對這個user的訪問權限。問題清楚了,如果訪問不了,
第一種情況:則是該user表中沒有該用戶也就是user表的user字段中沒有該用戶
第二種情況:該用戶在user表中存在,而該用戶沒有訪問其他表的權限,而權限具體也是由mysql的user、db、host 、table_priv、columns_priv這個表來維護的
問題明了,後面就是針對問題的具體處理
方案一:
登陸之後
Mysql>use mysql
查詢user表是否存在該用戶及密碼
Mysql>select host,user,password from user;
設置mysql的root無限制訪問遠程調用
update user set host = '%' where user = 'root';
grant all privileges on *.* to root@'%' identified by "root";
方案二:創建用戶,給用戶授權
//創建指定密碼,指定host的用戶
CREATE USER 'username'@'host' IDENTIFIED BY 'password';
Host:需要被訪問的mysql服務器地址/username:用戶名password:密碼
GRANT ALL PRIVILEGES ON user.* TO “username”@”IP” IDENTIFIED BY "123456"
Username則為登陸用戶名,IP則為需要遠程登陸mysql的服務器地址。