遠程使用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"