为 mysql 添加远程连接账户

1、以管理员身份登录mysql

mysql -u root -p

2、选择mysql数据库

use mysql

3、创建用户并设定密码

create user 'test'@'localhost' identified by '123456'

4、使操作生效

flush privileges

5、使操作生效

flush privileges

6、用新用户登录

mysql -u test -p

允许用户从远程访问数据库的方法

解决方法(建议使用第二种方法进行解决):
1。 改表法。可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"

mysql -u root -p

mysql>use mysql;

mysql>update user set host = '%' where user = 'root';

mysql>select host, user from user;

2. 授权法。例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。

GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;


如果你想允许用户myuser从ip为192.168.1.3的主机连接到mysql服务器,并使用mypassword作为密码


GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;  (只允许固定ip登录)

ps:之后你就可以 使用 新建的账户远程链接 mysql 了,有一部分小伙伴可能在这里还会报个 2003 的错,乖乖 快看看 你的 服务器 是不是防火墙没关 ,没关的话赶快gay掉他

╭~~~╮
(o~.~o)

.

.

.

.

嘿嘿  关掉防火墙还是不管用  好  接下来就是终极大招了  

修改默认配置文件 my.cnf  中的 bind-address , 一般在 /etc 目录下 ,把这句话前面加个 # 禁掉就可以

╭~~~╮ 
(o~.~o)

.

.

.

.

什么 , 还不行 (┬_┬)  

快看看是不是服务器提供商的安全组规则拦截,这里以阿里云为例  默认的安全组只开通了几个端口 ,我这只是个小的测试服务器,没有重要的东西 ,也懒得调了,附上我的安全组规则,这样子是默认开放了所有的安全组规则的

 

OK 完美解决  

转载自   http://blog.csdn.net/chr23899/article/details/40401089

既不回头,何必不忘; 既然无缘,何须誓言; 今日种种,逝水无痕; 明夕何夕,君已陌路;
原文地址:https://www.cnblogs.com/zyjfire/p/7227999.html