Mysql和Redis修改密码

前言:学习项目用的是服务器上的数据库。使用的Docker安装的mysql。密码忘记修改了。结果被黑了......

1. 修改mysql连接权限及修改密码。

1.1 修改连接权限

允许哪些机器可以连接到该数据库。
在用Navicat配置远程连接Mysql数据库时遇到如下报错信息,这是由于Mysql配置了不支持远程连接引起的。

登录mysql root用户,修改表信息

如果使用的docker,需要先进入容器内

# 查看正在运行的容器
docker ps
#进入mysql容器bash控制台
docker exec -it mysql /bin/bash 
# 登录mysql的root用户
mysql -uroot -p xxxxxx

查看当前用户信息

# 使用mysql数据库
use mysql;
# 从user表中查询root用户的host
select host from user where user='root';

将Host改为通配符%

  • Host列指定了允许用户登录所使用的IP。
  • user=root Host=192.168.1.1。这里的意思就是说root用户只能通过192.168.1.1的客户端去访问。
  • user=root Host=localhost,表示只能通过本机客户端去访问。
  • %是个通配符,如果Host=192.168.1.%,那么就表示只要是IP地址前缀为“192.168.1.”的客户端都可以连接。如果Host=%,表示所有IP都有连接权限。

注意:在生产环境下不能为了省事将host设置为%,这样做会存在安全问题,具体的设置可以根据生产环境的IP进行设置

# 修改连接权限
update user set host = '%' where user ='root';
# 刷新权限
flush privileges;

此时,可通navicat登录。

1.2 修改mysql密码

若密码为初始密码root,且数据库暴露在外网中。黑客可通过脚本扫描登录该数据库。造成隐患。

进入容器,连接数据库

# 查看正在运行的容器
docker ps
#进入mysql容器bash控制台
docker exec -it mysql /bin/bash 
# 登录mysql的root用户
mysql -uroot -p xxxxxx

修改密码,刷新权限

# 修改用户名为root,主机为%的账号密码
update mysql.user set authentication_string=password('xxxxxx') where user = 'root' and Host = '%';
# 刷新权限
flush privileges;

2.修改redis数据库密码

查看redis安装目录

whereis redis

# 安装目录
/usr/local/redis

指令配置文件启动redis-server

# 先进入到redis安装目录,然后指定配置文件启动redis-server
./redis-server /usr/local/redis/redis.conf

查看当前redis是否设置密码,Docker版

# 启动redis客户端
docker exec -it redis redis-cli
# 查看当前是否设置有密码
config get requirepass
# 当前设置有密码
(error) NOAUTH Authentication required.

修改redis密码

  • 找到redis配置文件
# 设置密码
requirepass xxxxxx

在实际测试工作过程中,有时因为生产环境已有历史数据原因,需要测试环境数据id从某个值开始递增,此时,我们需要修改数据库中自增ID起始值,下面以MySQL为例:

# 自增字段需要是主键
alter table xxxxxx AUTO_INCREMENT=10000;
posted @ 2021-12-28 11:41  初夏那片海  阅读(218)  评论(0)    收藏  举报