MySQL5.7 实现远程连接 —— 添加用户、删除用户与授权

个人练习项目部署到阿里云ECS服务器上,服务器环境:阿里云ECS公用镜像 ubuntu14.04 64 位,安装 PHP7.1 MySQL5.7 Nginx 。部署项目过程中数据库出现拒绝访问错误。部署教程戳这里
解决方案:

  1. 远程连接服务器,使用 root 用户登录 MySQL
    mysql -uroot -p
  2. 创建数据库用户并授权
    mysql>grant all privileges on db_name.* to db_user@'%' identified by 'db_password';
    mysql>flush privileges;

    file

    db_name数据库名,db_user用户名,%表示在任何一台电脑上都可以登录,也可以指定 IP 使某台机器可以远程登录,db_password登录密码,flush privileges;刷新权限立即生效(必须执行)

  3. 退出数据库,重启数据库
    mysql> exit;
    sudo service mysql restart
  4. 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 协议》,转载必须注明作者和本文链接
本帖由系统于 3年前 自动加精
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 8

你好,我的mysql远程登录一直不行,按照你的步骤来的。
想哭,我的也是阿里云的乌班图的操作系统。
你可以给我说下详细是怎么配置的吗?谢谢。

6年前 评论

@许世桓 /etc/mysql/mysql.conf.d/mysqld.cnf 检查下这个文件

6年前 评论

@Yvan 检查了bind-address已经注释了。
你在grant之前,肯定是create user blog 和create database blog的了把。
然后在grant的。
我也准备在在敲summer的第二本书,这次想把数据库脸上,实时的查看。
可以加你微信或是qq吗?有时候可以向你请教。
我在上海上班,和你不远、

6年前 评论

@许世桓 对的 的确是先创建的库 后授权

6年前 评论

@Yvan 依旧还是登录不上,我在查查,我卡了一天了,在这里。o(╥﹏╥)o

6年前 评论

@许世桓 你用阿里云的服务器,请注意安全组,不了解可以先了解,再者,注意本机的防火墙有木有打开,如果要打开,应该怎么设置,不了解可以先了解,ubuntu就是使用iptables

6年前 评论

@JimChen 谢谢,Yvan提醒了我是安全组的问题,去看,果然是没有配置,所以链接不是。配置好以后,链接上了,谢谢。文档链接,之前没有看过,现在在重新看一遍。

6年前 评论

创建用户的时候产生一条 warning, SHOW WARNINGS 看到

Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement.`

6年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!