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