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目录下,很容易找到的。