配置mysql 允许远程连接

今天折腾了好常时间远程连接mysql ,在云服务器里面打开了3306端口,使用了service mysql status查看到mysql进程正常。

netstat -anp | grep mysql 发现local address为127.0.0.1:3306也即只能本地访问mysql进程地址。

估计是没有打开远程访问,因此要修改mysql 配置允许远程访问:

第一步:

vim /etc/mysql/my.cnf找到bind-address = 127.0.0.1

目录位置注意找一下 我的默认是在/etc/mysql/mysqlconf.d/mysqld.cnf

注释掉这行,如:#bind-address = 127.0.0.1

或者改为: bind-address = 0.0.0.0

允许任意IP访问;

或者自己指定一个IP地址。

重启 MySQL:sudo /etc/init.d/mysql restart

第二步:

授权用户能进行远程连接

   grant all privileges on *.* to root@"%" identified by "password" with grant option;

   flush privileges;

   第一行命令解释如下,*.*:第一个*代表数据库名;第二个*代表表名。这里的意思是所有数据库里的所有表都授权给用户。root:授予root账号。“%”:表示授权的用户IP可以指定,这里代表任意的IP地址都能访问MySQL数据库。“password”:分配账号对应的密码,这里密码自己替换成你的mysql root帐号密码。

   第二行命令是刷新权限信息,也即是让我们所作的设置马上生效。

如果不进行第二步会提示没有权限,access denied.

原文地址:https://www.cnblogs.com/loanhicks/p/7505136.html