我們都習慣了在自己的機子上面安裝Mysql,然後用SQLyog等用戶端軟體來串連,今天試了一下串連遠端mysql資料庫伺服器,結果彈出一串的英文,意思好像是說客戶機沒有得到許可,不能訪問資料庫,在google搜了一下,使用這種方法解決了:
1、進入mysql,建立一個新使用者kay:
2、 格式:grant 許可權 on 資料庫名.表名 使用者@登入主機 identified by "使用者密碼";
grant select,update,insert,delete on *.* to kay@192.168.1.8 identified by "kaypass";
3、 查看結果,執行:
use mysql;
select host,user,password from user;
可以看到在user表中已有剛才建立的kay使用者。host欄位表示登入的主機,其值可以用IP,也可用主機名稱,
將host欄位的值改為%就表示在任何用戶端機器上能以kay使用者登入到mysql伺服器,建議在開發時設為%。
update user set host = '%' where user = 'kay';
還有一下方法:(我沒有試,僅供參考):
A、 ./mysqladmin -uroot -p21century reload
./mysqladmin -uroot -p21century shutdown
B、./mysqld_safe --user-root &
記住:對授權表的任何修改都需要重新reload,即執行第3步。
如果經過以上3個步驟還是無法從用戶端串連,請執行以下操作,在mysql資料庫的db表中插入一條記錄:
use mysql;
insert into db values('192.168.88.234','%','xuys','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y');
update db set host = '%' where user = 'xuys';
重複執行上面的第2、3步。