Mysql重设密码和远程访问

mysql安装默认的root账户没有密码,所以登录mysql需要通过mysql -uroot -h 127.0.0.1 -P 3306登录后,设置密码。

重设密码

登录mysql数据库

1
mysql -uroot -h 127.0.0.1 -P 3306

更新密码

1
2
3
mysql> update user set password = PASSWORD('123456') where user = 'root';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0

重新登录就需要输入密码了。

远程连接

mysql远程连接是通过mysql数据库中user表中的host主机字段来限定的,如果是%则匹配所有主机,如果是localhost、127.0.0.1或者是主机名的话,则表示只允许本机登录。一般线上服务器都是限制本机登录。

直接该表字段

1
mysql> update user set host = '%' where user = 'root' and host = 'localhost';

授权指令

mysql提供了grant指令来实现一些常用的授权,比如限制指定用户访问指定的表,权限(只读、写等)。

1
2
3
4
5
root用户允许任何机器连接到mysql服务器,密码123456,使用以下指令
mysql> grant all privileges on *.* to 'root'@'%' idenified by '12345' with grant option;

jack用户从ip地址为10.10.25.126的主机连接到mysql服务器,密码123456,使用以下指令
mysql> grant all privileges on *.* to 'jack'@'10.10.25.126' identified by '123456' with grant option;
文章目录
  1. 1. 重设密码
    1. 1.1. 登录mysql数据库
    2. 1.2. 更新密码
  2. 2. 远程连接
    1. 2.1. 直接该表字段
    2. 2.2. 授权指令