mysql远程数据库权限分配

mysql远程数据库权限分配

手上有多台服务器,就拿出一台专门做数据库服务器

前提条件

总有有两台服务器分别为服务器A和服务器M,A作为网站服务器,M作为数据库服务器。

服务器名称 服务器IP 备注
服务器A 115.115.115.155 站点运行服务器
服务器M 117.117.117.117 mysql服务器

首先配置M服务器

  • 增加数据库用户

    参考create uer

    CREATE USER
      user [auth_option] [, user [auth_option]] ...
    
    user:
      (see Section 7.2.3, “Specifying Account Names”)
    
    auth_option: {
      IDENTIFIED BY 'auth_string'
    | IDENTIFIED BY PASSWORD 'hash_string'
    | IDENTIFIED WITH auth_plugin
    | IDENTIFIED WITH auth_plugin AS 'hash_string'
    }
    
    #示例
    CREATE USER 'wpuser'@'localhost | ip' IDENTIFIED BY 'password';
    #这里我创建了一个wpuer密码为password,你可以根据自己的要求修改password定义的host为localhost,当你使用远程另外一台服务器连接的时候,可以将这个localhost更改为远程服务器的IP地址比如这里的服务器A,地址为115.115.115.115
    
  • 分配权限

    参考grant

    GRANT ALL PRIVILEGES ON wordpress.* TO 'wpuser'@'localhost';
    # 针对对worpress这个数据库,为wpuser用户分配了所有的权限。你可以将localhost更改为服务器A的地址115.115.115.115
    
  • 远程服务器测试登录

    切换为服务器A,尝试登录服务器M

    mysql -u user -h database_server_IP -p
    
    #示例
    mysql -u wpuser-h 115.115.115.115 -p 
    输入密码
    
    
  • 报错

    ERROR 2003 (HY000): Can’t connect to MySQL server on ‘115.115.115.115’ (111)

    回到服务器M上,修改 my.cnf。

    my.cnf一般在/etc/mysql下面,如果不在,使用locate my.cnf查找,修改前的my.cnf配置文件为: 
    修改前的my.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 
    #
    

    修改后

    # 
    # 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  屏蔽这条配置
    #
    

    最后 重启一下你的mysql服务器

    sudo service mysql restart
    

mysql官网

digitalocean参考教程

分享到:

发表评论

昵称

沙发空缺中,还不快抢~