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

时间:2022-09-18 22:32:01

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远程访问 及  如何修改密码



MySQL修改密码方式:

用set password 命令

首先登录MySQL.

格式:mysql> set password for 用户名@localhost = password('新密码');
例子:mysql> set password for root@localhost = password('123'); 

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


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

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

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



总结:

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  查看有哪些远程连接

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

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


6 删除远程连接账户

drop user root@'%';

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

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

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