遠程使用Navicat for mysql 用戶端軟體串連 mySql資料時,串連出現 2003-Can’t connect to MySQL on ’192.168.1.2’(10061)錯誤時,是由於MySQL不準許遠端連線。
修改方法如下:
1:在服務端MySQL檔案夾下找到my.ini檔案。修改bind-address=127.0.0.1 為 bind-address=0.0.0.0 (在MySQL 5的my.ini中未發現此項)
2:重新啟動MySQL服務。
測試連接情況:
如果沒有給遠程登入使用者添加所有機器都能訪問的許可權,將會出現“1045-Access denied for user root@IT(using password:NO)”,這表明需要添加許可權;
添加命令如下:
1)grant all on *.* to 使用者名稱@"%" identified by "密碼";
2)flush privileges;
完成以上步驟,就可以遠端存取MySQL資料庫了。
grant 許可權1,許可權2,…許可權n on 資料庫名稱.表名稱 to 使用者名稱@使用者地址 identified by ‘串連口令’;
許可權1,許可權2,…許可權n代表select,insert,update,delete,create,drop,index,alter,grant,references,reload,shutdown,process,file等14個許可權。
當許可權1,許可權2,…許可權n被all privileges或者all代替,表示賦予使用者全部許可權。
當資料庫名稱.表名稱被*.*代替,表示賦予使用者動作伺服器上所有資料庫所有表的許可權。
使用者地址可以是localhost,也可以是ip地址、機器名字、網域名稱。也可以用’%'表示從任何地址串連。
‘串連口令’不可為空,否則建立失敗。
例如:
mysql>grant select,insert,update,delete,create,drop on vtdc.employee to joe@10.163.225.87 identified by ‘123′;
給來自10.163.225.87的使用者joe分配可對資料庫vtdc的employee表進行select,insert,update,delete,create,drop等操作的許可權,並設定口令為123。
mysql>grant all privileges on vtdc.* to joe@10.163.225.87 identified by ‘123′;
給來自10.163.225.87的使用者joe分配可對資料庫vtdc所有表進行所有操作的許可權,並設定口令為123。
mysql>grant all privileges on *.* to joe@10.163.225.87 identified by ‘123′;
給來自10.163.225.87的使用者joe分配可對所有資料庫的所有表進行所有操作的許可權,並設定口令為123。
mysql>grant all privileges on *.* to joe@localhost identified by ‘123′;
給本機使用者joe分配可對所有資料庫的所有表進行所有操作的許可權,並設定口令為123。
mysql添加使用者方法
建立資料庫gamesp
create database gamesp;
添加使用者
grant all on 資料庫名.* to 使用者名稱@localhost identified by '密碼';
grant all on gamesp.* to newuser@localhost identified by 'password';
添加一個遠端使用者,名為username密碼為password
GRANT ALL PRIVILEGES ON *.* TO username@"%" IDENTIFIED BY 'password'
說明:
(1)grant all 賦予所有的許可權
(2)gamesp.* 資料庫 gamesp 中所有的表
(3)newuser 使用者名稱
(4)@localhost 在本地電腦上的 mysql server 伺服器
(5)identfified by 'password' 設定密碼
刪除使用者
use mysql
mysql>Delete FROM user Where User="xxxxx" and Host="localhost";
mysql>flush privileges;
修改密碼
mysqladmin -uroot -plk317921web password "111111"