远程访问Ubuntu中的Mysql

MySQL安装时默认不允许其他机器远程访问,因此需要对MySQL做一些修改。

这篇文章说的很全:

http://www.cyberciti.biz/tips/how-do-i-enable-remote-access-to-mysql-database-server.html


主要步骤

1,首先找到mysql的配置文件,默认位置是/etc/mysql/my.cnf。找到bind-address参数,默认为:

bind-address=127.0.0.1 -- 即仅运行本地访问

将127.0.0.1修改为你希望可以访问mysql的那台机器的ip。例如你希望从10.55.11.10访问这个mysql server,则改为:

bind-address=10.55.11.10

如果希望从任意一台机器都可以访问mysql,则改为:

bind-address=0.0.0.0


修改配置文件后需重启mysql,可以用这个命令查看端口监听的情况:

sudo netstat -tap | grep mysql

值得注意的一点,在修改/etc/mysql/my.cnf时,默认该文件的权限是644。我图方便改成了777以后,Mysql启动时报错:

warning: World-writable config file /etc/my.cnf is ignored

关于这点请参考这个帖子:

http://www.linuxquestions.org/questions/linux-enterprise-47/i-have-rhel-5-0-and-mysql-start-problem-my-mysql-server-doesnt-start-700553/#post3430610


2,创建数据库用户

CREATE USER 'UserName'@'%' IDENTIFIED BY 'coyote';
GRANT ALL PRIVILEGES ON *.*  'UserName'@'%' WITH GRANT OPTION;

上面的'%'表示该用户可以从任意机器远程登录到mysql,但注意的是这种用户只能远程访问mysql,也就是说在mysql运行的机器上用该用户是无法登录的。

 

其他需要注意的问题

--------------------------------------------------------------------------------------------------------

文中提到的修改linux防火墙的步骤,对于ubuntu来说应该用ufw,请参考:

https://help.ubuntu.com/8.04/serverguide/firewall.html


还有一个bug,关于my.cnf丢失的问题:

https://bugs.launchpad.net/ubuntu/+source/mysql-dfsg-5.1/+bug/573318?comments=all


你可能感兴趣的:(mysql,linux,ubuntu,File,防火墙)