Ubuntu下开启mysql远程登陆权限
Posted chenyangsocool
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ubuntu下开启mysql远程登陆权限相关的知识,希望对你有一定的参考价值。
在腾讯云上租了个云服务器,并且安装启动了mysql。
这时候用本地的mysql workbench去连接就会报错,提示无法成功连接。
其实这是因为没有开启账户的远程登陆权限。那么下面就开启一下:
1.新建一个mysql登陆账户
GRANT ALL PRIVILEGES ON *.* TO \'admin\'@\'%\' IDENTIFIED BY \'admin\' WITH GRANT OPTION; flush privileges;
这里解释一下上面的两行代码。
第一行代码是新建了一个用户名为admin,并且访问权限为%,即允许所有ip访问的账户,它的密码是admin。
其中@‘%’中的%可以自定义:
%代表所有ip都可以访问
也可以将%替换为特定的ip地址来限定访问ip如@‘192.168.1.1’
也可以更灵活的改为@‘192.168.1.%’,表示允许前缀为192.168.1.**的ip地址来访问
第二行代码表示刷新。
第一步完成,此时你用本地workbench连接依旧会报错提示无法连接。
该错误的原因是,ubuntu中mysql监听3306端口的ip问题。我们可以查看3306端口监听:
netstat -anpt|grep 3306
你会发现监听的端口ip是127.0.0.1:3306,所以我们要把这个ip改成所有ip。
2.修改mysql的配置文件来修改监听ip
PS:很多人都说是修改/etc/mysql/my.cnf,但是我安装的是5.7.18-0ubuntu0.16.04.1 (Ubuntu),它的配置文件在/etc/mysql/mysql.conf.d文件夹下的mysqld.cnf中
sudo vim mysqld.cnf
将bind-address前加上#注释掉即可:
#bind-address= 127.0.0.1
3.重启mysql
sudo service mysql restart
完成!此时就可以顺利本地连接远程数据库啦!
对了,如果你用的是腾讯云,记得要在控制台中开启安全组3306端口并绑定至你的服务器才能成功连接哦!
参考的文章:
Ubuntu Server下启动/停止/重启MySQL数据库
以上是关于Ubuntu下开启mysql远程登陆权限的主要内容,如果未能解决你的问题,请参考以下文章
linux下mysql开启远程访问权限及防火墙开放3306端口