1.修改MySQL設定檔(/etc/mysql/my.cnf),注釋以下行:
#bind-address = 127.0.0.1
2.重啟mysql資料庫,對於Ubuntu系統,執行如下命令
sudo /etc/init.d/mysql restart
3.以root使用者登入mysql後,執行如下命令:
grant all privileges on *.* to root@’允許登入的遠程機器ip’
identified by ‘密碼’ 其中,*.*表示該主機中所有資料庫的所有表。(資料庫.表)
“給某IP地址上登入的root使用者授予訪問所有資料庫中的所有表的所有許可權”
mysql -u root -pvmwaremysql>use mysql;
mysql>update user set host = '%' where user = 'root';
mysql>select host, user from user;
grant all privileges on *.* to user
[email=user@ip]@ip[/email]
identified by "password";
flush privileges;
exitMySQL>use mysql;
MySQL>UPDATE user SET Password=PASSWORD('new_password') WHERE user='USER';
MySQL>FLUSH PRIVILEGES;
MYSQL>GRANT ALL ON YOUDB.* TO USER@IP or DOMAINNAME
IDENTIFIED BY 'PASSWORD';grant all privileges on *.* to user@ip identified by "password";
flush privileges;
exit
修改了my.cnf,需要重啟MySQL服務
由於是從源碼包安裝的Mysql,所以系統中是沒有紅帽常用的servcie mysqld restart這個指令碼
只好手工重啟
有人建議Killall mysql。這種野蠻的方法其實是不行的,強制終止的話,如果造成表損壞,損失是巨大的。
這裡推薦安全的重啟方法
$mysql_dir/bin/mysqladmin -u root -p shutdown
$mysql_dir/bin/safe_mysqld &
mysqladmin和mysqld_safe位於Mysql安裝目錄的bin目錄下,很容易找到的。