ubuntu16.04下MySQL添加远程账户

 

数据库默认只允许从本地连接,从其他主机发出的连接会被拒绝,其他主机操作服务器上MySQL时,就需要开启远程账户。Windows系统下开启远程账户比较容易,在Ubuntu,由于MySQL的配置文件是只读类型,过程会稍微繁琐。

  1.开放3306端口:

ubuntu16.04下MySQL添加远程账户

ubuntu16.04下MySQL添加远程账户

  127.0.0.1:3306表示MySQL默认绑定local host,拒绝远程访问。

  输入以下命令:

ubuntu16.04下MySQL添加远程账户

  输入  sudo su  进入root账户,需要输入密码,

  cd命令转到mysqld.cnf文件目录下,执行chomd 755 命令修改配置文件权限(默认为只读文件,vi命令无法修改),

  vi修改文件,找到bind-address = 127.0.0.1将其注释,开放所有连接(输入  i  可插入字符,修改完成后,按esc可退出,光标移到最后一行,输入   :wq   即可保存修改)。

  

  2.设置密码格式:

  MySQL的密码强度等级分为 0/LOW、1/MEDIUM、2/STRONG。有以下取值:

  Policy                 Tests Performed                                                                                                        
  0 or LOW               Length                                                                                                                      
  1 or MEDIUM         Length; numeric, lowercase/uppercase, and special characters                             
  2 or STRONG        Length; numeric, lowercase/uppercase, and special characters; dictionary file      
  默认是1,即MEDIUM,所以刚开始设置的密码必须符合长度,且必须含有数字,小写或大写字母,特殊字符。

  如果你的密码恰好符合MEDIUM,可跳过这一步,否则需要将密码强度改为LOW,甚至修改密码长度,否则会出现如下错误:

ubuntu16.04下MySQL添加远程账户

  登陆MySQL:mysql -u -p

  将密码强度设为LOW;

set global validate_password_policy=0; 

  LOW默认的密码长度为8,如有需要可以通过以下命令修改(最小长度为4,password_length=1,2,3,4结果都一样)

set global validate_password_length=4; 

ubuntu16.04下MySQL添加远程账户

 

  3.添加远程账户:

  如果是Windows只需要进行这一步就可以了,哭泣。

grant all privileges on *.* to 用户名 @"%" identified by "密码";
  *.*  代表 数据库名.表名,数据库名.* 代表给数据库中所有表都赋予权限。

  @ 后面是访问mysql的客户端ip地址(或是 主机名) % 代表任意的客户端。

  密码要符合第二步里设置的密码格式。

   立即生效:

flush privileges;

  至此Ubuntu16.04下MySQL添加远程账户就设置完成了。

  

 

上一篇:Java分布式:消息队列(Message Queue)


下一篇:pdf文件之itextpdf插入html内容以及中文解决方案