允许mysql远程访问 及 如何修改密码

  • Post author:
  • Post category:mysql


mysql数据库默认是不允许远程访问的,要想能远程访问mysql,必须进行授权.



授权方式:



如果使用的是可视化插件:


在可视化插件比如SQLyong上执行:

grant all privileges on *.* to 'root' @'%' identified by 'yourpassword';



如果使用的是命令行窗口:


从任何主机上使用root用户,密码:youpassword(你的root密码)连接到mysql服务器:

# mysql -uroot -pyourpassword


mysql>GRANT ALL PRIVILEGES ON *.* TO



‘root’@’%’



IDENTIFIED BY ‘youpassword’ WITH GRANT OPTION;




操作完后切记执行以下命令刷新权限


FLUSH PRIVILEGES

在远程访问改服务器上的mysql:

eg:  mysql -uroot -pqishiyoumima -h 远程mysql服务器ip   提示 welecome to the MySQL monitor, 则说明可以访问




MySQL修改密码方式:



用set password 命令

首先登录MySQL.

格式:mysql> set password for 用户名@localhost = password(‘新密码’);

例子:mysql> set password for root@localhost = password(‘123’);


此时,退出可视化插件,再打开发现连不上了,必须使用新密码才能连上.

可在命令行中验证一下新密码是否生效,如图,使用新密码 qishiyoumima 去连接, 出现Welcome to the MySQL monitor 说明新密码生效了



总结:


1  给所有远程主机授予访问该mysql的权限(通过密码qishiyoumima) ,  也即添加一个用户名为root ,密码为qishiyoumima ,权限为%(表示任意ip都能连接)的远程连接用户

GRANT ALL PRIVILEGES ON *.* TO 'root' @'%' IDENTIFIED BY 'qishiyoumima';


2  给指定ip为10.0.123.234 的主机授予访问该mysql的权限(用过密码qishiyoumima)

GRANT ALL PRIVILEGES ON *.* TO 'root' @'10.0.123.234' IDENTIFIED BY 'qishiyoumima'; 


3  刷新权限使授权生效

FLUSH PRIVILEGES


4.1  更改本地主机mysql密码( @’%’表示针对非本地主机, @host 表示针对本地主机)

SET PASSWORD FOR root@localhost=PASSWORD("wybzdmm");


4.2 更改远程连接账户的密码

SET PASSWORD FOR qx@'%'=PASSWORD('123qwe');


5  查看有哪些远程连接

上面那些 带”%” 的, “%”表示可以从远程连接


6 删除远程连接账户

drop user root@'%';


此时,再用远程连接账户的账号密码去连接就连不上了,没有权限



7 创建一个用于远程连接的新用户,并授予远程访问权限:




版权声明:本文为wudinaniya原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。