wuliuwang 发表于 2018-10-9 10:56:15

用oneinstack安装的mysql如何设置远程连接?

  oneinstack网站:
  oneinstack.com
  == 下面分mysql8版本和其他版本,两种情况不同。
1.云主机安全组端口开放3306端口
参考文档:《云主机安全组端口开放教程》
2. 打开iptables 3306端口
  如果您的操作系统为CentOS系列:
iptables -I INPUT 4 -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT  service iptables save #保存iptables规则
3. 数据库授权
  注意⚠️:远程连接新建一个帐号(帐号名不能为root)。
  如:添加一个用户名为db_user,密码为db_pass,授权为% (%表示所有IP能连接)对db_name数据库所有权限,命令如下:
1)MySQL8.0版本
# mysql -uroot -p
  MySQL [(none)]> create user db_user@'%'>  MySQL [(none)]> grant all privileges on db_name.* to db_user@'%' with grant option; #授权
  MySQL [(none)]> exit; #退出数据库控制台,特别注意有分号
  其他数据库版本:
# mysql -uroot -p  
MySQL [(none)]> grant all privileges on db_name.* to db_user@'%' identified by 'db_pass'; #授权语句,特别注意有分号
  
MySQL [(none)]> flush privileges;
  
MySQL [(none)]> exit; #退出数据库控制台,特别注意有分号
  总结:
  1.iptables -I INPUT 4 -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
  2.service iptables save
  3.mysql -uroot -p

  4.grant all privileges on *.* to sunny@'%'>  5.flush privileges;
  6.exit;
  解释如下:

[*]  打开iptables 3306端口。
[*]  保存iptables规则
[*]  数据库授权给新用户sunny,密码为123456,授权%表示,所有ip能连接,对所有数据库*.*具有权限。
[*]  刷新设置
[*]  退出
  如果仅分配某数据库,比如oneinstack数据库,则*.*改为oneinstack.*
  如果安装完成后,
  # mysql -uroot -p
  bash: mysql: command not found
  # cd ~
  # vim .bash_profile
  加一句:
  export PATH=$PATH:/usr/local/mysql/bin
  然后使之生效:
  # source .bash_profile
  参考:
  https://oneinstack.com/question/298/
  linux下mysql默认安装目录和常用命令
  https://www.cnblogs.com/xj2015/p/6826139.html


页: [1]
查看完整版本: 用oneinstack安装的mysql如何设置远程连接?