mysql数据库指定ip远程访问(设置远程连接)

远程访问mysql报错,ip不允许链接的情况:
错误号码1045
Access denied for user ‘用户名’ @’数据库地址’ (using password:YES)

 

查看权限

# 查看mysql系统所有权限
show privileges;
 
# 查看当前用户权限
SHOW GRANTS;
# 或
SHOW GRANTS FOR CURRENT_USER;
# 或
SHOW GRANTS FOR CURRENT_USER();

# 查看某用户的全局权限
SHOW GRANTS FOR 'user'@'主机地址' ;

 

1.登录

# 连接格式
mysql -h数据库服务器地址 -P端口 -u用户名 -p"密码";

# 示例
mysql -h127.0.0.1 -P3306 -uroot -p"密码";

# 简写(数据库服务器地址默认,一般是指直接在数据库服务上操作)
mysql -uroot -p"密码";

之后输入密码进行登录。

2.设置远程访问,及权限设置明

2.1,创建用户,并设置允许的远程ip访问权限

# 创建用户
create user '新用户名'@'允许的来源ip' identified by '新用户的密码';
# 查看是否创建成功
select Host,User from mysql.user;
# 设置用户授权(该示例只有“select,execute,index”这3个权限哦)
grant select,execute,index on *.* to '新用户名'@'允许的来源ip';

#刷新权限
flush privileges;

2.2,命令解释

第一行是创建新用户(如果您想直接开放root用户则不需要新创建),其中密码是新用户的密码, 其中ip是允许远程访问的IP的值。
第二行是查看mysql系统用户表,检查新建用户是否成功。

第三行是设置指定用户的权限。GRANT 关键字后面空格人后跟权限名称。我这里只给了“select,execute,index”这3个权限。如果想给全部权限应该是 GRANT ALL PRIVILEGES ON …… 

ALL PRIVILEGES ON 后面的*.*表示所有数据库,即完全访问权限,也可以指定为特定数据库或特定表。
而IP这里,可以使用%来表示所有IP。

第四行是使设置立刻生效。

 

mysql赋权操作

v8及以前:

# mysql的赋权操作(适用v8以前版本):
GRANT ALL PRIVILEGES ON *.* TO ‘root‘@‘%‘ IDENTIFIED BY ‘密码‘ WITH GRANT OPTION;
# 变更权限后执行刷新权限才能生效
flush privileges;

mysql8中应该使用:

#mysql8中应该使用:
grant all privileges on *.* to 'root'@'%' ;

【赋权命令格式解释】

GRANT:赋权命令
ALL PRIVILEGES:当前用户的所有权限
ON:介词
*.*:当前用户对所有数据库和表的相应操作权限
TO:介词
‘root’@’%’:权限赋给root用户,所有ip都能连接
IDENTIFIED BY ‘123456’:连接时输入密码,密码为123456
WITH GRANT OPTION:允许级联赋权

 

参考:

《mysql用户、权限管理》

《MySQL权限管理》

 

原文地址:http://www.cnblogs.com/xiongzaiqiren/p/16821748.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性