文章目录
  1. 1. mysql配置
    1. 1.1. 配置远程访问
    2. 1.2. mysql修改密码
    3. 1.3. mysql出现访问拒绝

mysql配置

配置远程访问

1.查看表

1
2
3
4
5
6
7
8
use mysql;
select host,user from user;

host | user |
+-----------+-----------+
| % | root |
| localhost | mysql.sys |
| localhost | root |

host是主机,root表示主机可以登录的用户,%表示所有主机,但不包括localhost

2.如果没有%,root

1
2
grant all privileges on 库名.表名 to '用户名'@'IP地址' identified by '密码' with grant option;
flush privileges;

库名:要远程访问的数据库名称,所有的数据库使用“*”
表名:要远程访问的数据库下的表的名称,所有的表使用“*”
用户名:要赋给远程访问权限的用户名称
IP地址:可以远程访问的电脑的IP地址,所有的地址使用“%”

3.如果配置所有ip可以远程登录root

1
2
3
4
5
6
7
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION; 

所有的地址都可以使用root用户,密码为123456远程访问所有的数据库和表

GRANT ALL PRIVILEGES ON testdb.* TO 'lxh'@'172.16.52.225' IDENTIFIED BY 'lxh' WITH GRANT OPTION;

IP为172.16.52.225的电脑可以使用lxh用户,密码为lxh远程访问数据库testdb的所有表

注意
需要注意mysql的配置文件中的bindaddress 的参数和skip-networking 配置

bindaddress : 设定哪些ip地址被配置,使得mysql服务器只回应哪些ip地址的请求),最好注释掉该参数或设置成为127.0.0.1以外的值

skip-networking : 如果设置了该参数项,将导致所有TCP/IP端口没有被监听,也就是说出了本机,其他客户端都无法用网络连接到本mysql服务器,所以应该注释掉该参数

mysql修改密码

如果MySQL数据库用户的密码设置过于简单,数据库在用户登录后会提示重置密码,并且不接受简单的密码。

提示需要重置密码:

ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

1
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

以上操作后又遇到新问题:
ERROR 1819 (HY000): Your password does NOT satisfy the CURRENT policy requirements。

这是因为密码不符合mysql的密码策略检查

先设置复杂密码

1
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Aa123456*';

flush privileges;

mysql初始密码策略

1
SHOW VARIABLES LIKE 'validate_password%';

使用以下两个设置简单密码策略

set global validate_password_policy=0;

set global validate_password_length=1;

再设置简单密码

ALTER USER ‘root‘@’localhost’ IDENTIFIED BY ‘123456’;

flush privileges;

mysql出现访问拒绝

ERROR 1045 (28000): Access denied for user ‘root‘@’localhost’ (using password: YES)

解决:

1)修改mysql配置文件,跳过权限检查

​ vim /etc/my.cnf

​ 加入

​ skip-grant-tables

​ 重启mysql服务

2)修改密码

​ use mysql;

​ update user set authentication_string=password(123456) where user=’root’;

​ flush privileges;

3)注释掉

​ #skip-grant-tables

​ 重启mysql服务

文章目录
  1. 1. mysql配置
    1. 1.1. 配置远程访问
    2. 1.2. mysql修改密码
    3. 1.3. mysql出现访问拒绝