
1. //登錄數據庫 mysql -u root -pvmwaremysql>use mysql; //%為所有ip都可以遠程訪問 mysql>update user set host = '%' where user = 'root'; //或直接添加一條語句也行 mysql>insert into user (host,user,password) values('192.168.0.51','root',password('123')); //查看一下修改 mysql>select host, user from user; //推送設置到內存或重啟服務器也行 mysql>FLUSH PRIVILEGES 2. GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%'IDENTIFIED BY 'mypassword' WITH GRANT OPTION; 如果是固定ip就這么寫 grant all privileges on *.* to 'root'@'192.168.0.49'identified by '123' with grant option; //推送設置到內存或重啟服務器也行 mysql>FLUSH PRIVILEGES

Mysql默認是不可以通過遠程機器訪問的,通過下面的配置可以開啟遠程訪問 在MySQL Server端: 執行mysql 命令進入mysql 命令模式, 1、新建用戶遠程連接mysql數據庫 grant all on *.* to admin@'%' identified by '123456' with grant option; flush privileges; 允許任何ip地址(%表示允許任何ip地址)的電腦用admin帳戶和密碼(123456)來訪問這個mysql server。 注意admin賬戶不一定要存在。 2、支持root用戶允許遠程連接mysql數據庫 grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option; flush privileges; //**************/ mysql> use mysql; mysql> selecthost,user from user; mysql> update user set host = '%' where user = 'root'; 執行完后可能提示error.再mysql> select host,user from user;查看下吧. root對應的host成了%,表示可以任意IP地址登錄了. mysql> flushprivileges; 把緩存flush掉.在使用update語句修改用戶記錄后,需要FLUSH語句告訴服務器重載授權表. 那么如何遠程訪問呢? 在另一台MySQL 客戶端(裝有mysql程序包的pc ,windows或者是linux均可) 執行命令: Sql代碼 復制代碼 收藏代碼 mysql -h172.21.5.29 -uadmin -padmin 即可了 //172.21.5.29就是MySQL Server的IP地址,admin admin就是剛才在 172.21.5.29上設置的遠程訪問帳戶 mysql -h172.21.5.29 -uadmin -padmin 即可了 //172.21.5.29就是MySQL Server的IP地址,admin admin就是剛才在 172.21.5.29上設置的遠程訪問帳戶 我發現一個問題, 如果上面的命令你執行完畢, 你在 本地就是localhost , 執行 : Sql代碼 mysql -hlocalhost -uadmin -padmin 結果是失敗的。 原來 上面的 % 竟然不包括localhost 所以你還必須加上這樣的 命令 mysql>GRANT ALL ON *.* TO admin@'localhost' IDENTIFIED BY 'admin' WITH GRANT OPTION;