设置Ubuntu下MySQL的远程访问
用Ubuntu做Server挺顺手的,安装MySQL数据库只要sudo apt-get install mysql-server一条命令就好了,但要想远程访问MySQL对新手来说却有点麻烦,下面就介绍一下远程连接MySQL的方法,需要做两步:
第一步是要创建一个可以远程连接的 MySQL 用户
mysql>user mysql;
mysql> GRANT ALL PRIVILEGES ON 数据库.* TO 用户名@"%" IDENTIFIED BY "用户密码";
当然如果也可以选择一个已有的用户,开启已有用户的远程连接就行了。
mysql> update user set host='%' where user='root' and host='localhost';
%这个符号代表所有IP都可以访问,也可以指定为主机名或IP地址
为什么要两个where条件呢?因为user表的user和host字段有唯一约束,默认可能会有多个root
如果你不想让别人知道你的MySQL数据库root密码还能用这种方法吗?当然不能。
第二步是要修改 mysql 的配置文件 /etc/mysql/my.cnf
$> sudo vi /etc/mysql/my.cnf
在旧版本(MySQL5.0)中找到 skip-networking,把它注释掉就可以了
#skip-networking
在新版本中:
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address = 127.0.0.1
把这一行要注释掉
#bind-address = 127.0.0.1
或者把允许访问的 ip 填上
#bind-address = 192.168.1.100
然后重启 MySQL,这也算第三步吧,呵呵。
$> sudo /etc/init.d/mysql restart
* Starting MySQL database server mysqld
...done.
* Checking for corrupt, not cleanly closed and upgrade needing tables.
andy@Ubuntu:~$ sudo /etc/init.d/mysql start
* Starting MySQL database server mysqld
...done.
这样就可以远程访问MySQL了,祝你成功!