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服务器mysql安装和外网访问

mysql给root开启远程访问权限,修改root密码

查看mysql版本的四种方法

Ubuntu Server下启动/停止/重启MySQL数据库