MySQL5.7 实现远程连接 —— 添加用户、删除用户与授权
个人练习项目部署到阿里云ECS服务器上,服务器环境:阿里云ECS公用镜像 ubuntu14.04 64 位,安装 PHP7.1 MySQL5.7 Nginx 。部署项目过程中数据库出现拒绝访问错误。部署教程戳这里
解决方案:
- 远程连接服务器,使用 root 用户登录 MySQL
mysql -uroot -p
- 创建数据库用户并授权
mysql>grant all privileges on db_name.* to db_user@'%' identified by 'db_password'; mysql>flush privileges;
db_name
数据库名,db_user
用户名,%
表示在任何一台电脑上都可以登录,也可以指定 IP 使某台机器可以远程登录,db_password
登录密码,flush privileges;
刷新权限立即生效(必须执行) - 退出数据库,重启数据库
mysql> exit; sudo service mysql restart
- Ubuntu 服务器下,MySQL默认是只允许本地登录,因此需要修改配置文件将地址绑定注释掉:
配置文件路径/etc/mysql/mysql.conf.d/mysqld.cnf
# Instead of skip-networking the default is now to listen only on # localhost which is more compatible and is not less secure. #bind-address = 127.0.0.1 #注释掉此行就可以远程登录了
本作品采用《CC 协议》,转载必须注明作者和本文链接
本帖由系统于 4年前 自动加精
你好,我的mysql远程登录一直不行,按照你的步骤来的。
想哭,我的也是阿里云的乌班图的操作系统。
你可以给我说下详细是怎么配置的吗?谢谢。
@许世桓 /etc/mysql/mysql.conf.d/mysqld.cnf 检查下这个文件
@Yvan 检查了bind-address已经注释了。
你在grant之前,肯定是create user blog 和create database blog的了把。
然后在grant的。
我也准备在在敲summer的第二本书,这次想把数据库脸上,实时的查看。
可以加你微信或是qq吗?有时候可以向你请教。
我在上海上班,和你不远、
@许世桓 对的 的确是先创建的库 后授权
@Yvan 依旧还是登录不上,我在查查,我卡了一天了,在这里。o(╥﹏╥)o
@许世桓 你用阿里云的服务器,请注意安全组,不了解可以先了解,再者,注意本机的防火墙有木有打开,如果要打开,应该怎么设置,不了解可以先了解,ubuntu就是使用iptables
@JimChen 谢谢,Yvan提醒了我是安全组的问题,去看,果然是没有配置,所以链接不是。配置好以后,链接上了,谢谢。文档链接,之前没有看过,现在在重新看一遍。
创建用户的时候产生一条 warning,
SHOW WARNINGS
看到