修改mysql远程访问-查看文章

修改mysql远程访问

发表于:2017-11-11 10:27:08 分类:开发杂记 阅读:868次

趁双11买了个阿里云练练手。结果发现怎么装mysql,启动了一直绑定监听ip为127.0.0.1。这样子远程图形界面就没办法连接了——习惯了用sqlyog操作。

反正折腾了近一宿,因为liunx系统只是了解了一下,命令啥的都没记住,各种百度终于解决了。记录一下备忘:

  1. mysql创建一个支持远程访问的用户。

在Xshell上连接上数据库,查看mysql库中user表:
mysql -u root -p
输入密码后,切换到mysql库:
use mysql;
可以查询所有用户的网络访问权限:
select user,host from user;

可以使用下面命令直接添加一个可以远程访问的用户。
GRANT ALL PRIVILEGES ON *.* TO 'username'@'%'IDENTIFIED BY 'password' WITH GRANT OPTION; 

其中%表示所有ip,如果需要特定ip的话,将其改不ip地址即可;默认为localhot。

2.修改监听绑定的ip。

netstat -nao 查看mysql监听状态。如发现127.0.0.1:3306的话,远程是无法连接的。这时候就需要修改mysql的配置文件了。
大家都说是修改/etc/my.cnf文件,但是我安装的竟然完全找不到。然后通过以下方式解决。
root@XXXX:/usr/sbin# which mysql
/usr/bin/mysql
root@XXXX:/usr/sbin# /usr/bin/mysql --verbose --help |grep -A 1 'Default options'
Default options are read from the following files in the given order:
/etc/my.cnf /etc/mysql/my.cnf ~/.my.cnf 

然后在/etc/mysql/my.cnf文件里找到了:
!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mysql.conf.d/

root@XXXX:/etc/mysql/mysql.conf.d# ls
mysqld.cnf  mysqld_safe_syslog.cnf
root@XXXX:/etc/mysql/mysql.conf.d# cat mysqld.cnf
终于在这个文件里看到了:
# localhost which is more compatible and is not less secure.
bind-address		= 127.0.0.1
然后将bind这一行注释掉,重启mysql服务:
service mysql restart
两次netstat -nao已经发现mysql监听ip改变:
tcp6       0      0 :::3306                 :::*                    LISTEN      off (0.00/0/0)

到此,已可以通过sqlyog远程连接了。

关键词:mysql,liunx


验证码: