一次搭建UAT环境,空服务器,记录安装mysql过程中遇到的各种问题
1.环境检查
执行下述命令,查看服务器是否有mysql安装记录
rpm -qa | grep mysql
如果有包的存在,执行命令删除对应包,确保环境无安装mysql
yum remove mysql-community-libs-8.0.35-1.el7.x86_64
2.下载mysql rpm包
https://dev.mysql.com/downloads/mysql/
根据系统下载对应系统版本的mysql包
3.安装mysql
1.解压rpm包,文件如下(对应用户组应文root root,此处我修改过权限)
2.rpm -ivh 安装mysql,安装顺序如下
rpm -ivh mysql-community-common-8.0.35-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-8.0.35-1.el7.x86_64.rpm
rpm -ivh mysql-community-devel-8.0.35-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-compat-8.0.35-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-8.0.35-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-8.0.35-1.el7.x86_64.rpm
3.安装中出现进度条,代表安装成功
出现如下报错,需安装依赖,或者rpm 语句后面加上 --nodeps --force,安装时忽略依赖关系(最好安装依恋,尽量避免强制安装)
4.全部执行完成后,执行命令启动mysql服务
systemctl start mysqld
5.执行命令查看服务运行情况,显示runing,服务启动成功安装完成
systemctl status mysqld
4.登录mysql
1.查看临时登录密码
grep 'temporary password' /var/log/mysqld.log
2.使用临时密码登录mysql报错
mysql -uroot -p
3.更改 /etc/my.cnf 配置文件 [mysqld]下新增配置(忽略登录报错)
skip-grant-tables
4.重启mysql服务
systemctl restart mysqld
5.再次使用临时密码登录,登录成功
mysql -uroot -p
5.修改root密码,开启root远程登录
1.登录mysql修改root密码
alter user 'root'@'localhost' identified with mysql_native_password by 'your_password';
刷新生效
flush privileges;
2.创建远程登录root
create user 'root'@'%' identified by 'your_password';
授予全部权限
grant all on . to 'root'@'%';
刷新生效
flush privileges;
6.mysq修改不区分大小写(针对mysql8以上版本)
mysql8版本之后,无法通过mysql配置文件重启服务直接修改不区分大小写
具体实现步骤如下(新安装使用此方法,如果数据库已运行,不要使用,会初始化数据库,备份数据也不确保能恢复!!!!!!!)
1.关闭mysql服务
systemctl stop mysqld
2.更改 /etc/my.cnf 配置文件 [mysqld]下新增配置(不区分大小写)
lower_case_table_names=1
3.删除mysql初始化默认目录下的文件
rm -rf /var/lib/mysql/*
4.重新初始化(会根据我们更改的新配置文件初始化)
mysqld --initialize-insecure --user=mysql --datadir=/var/lib/mysql
5.重启mysql服务
systemctl start mysqld
6.登录mysql验证,如图修改成功
show variables like 'lower%';
7.修改mysql密码规则为弱密码规则
1.登录数据库查看密码规则(mysql默认强密码规则)
show variables like 'validate_password%';
2.修改密码规则为弱密码,数据库依次执行
密码校验规则弱(只校验密码长度)
set global validate_password.policy=0;
大小写字母个数0个
set global validate_password.mixed_case_count=0;
数字个数0个
set global validate_password.number_count =0;
特殊字符0个
set global validate_password.special_char_count=0;
密码最少长度3位
set global validate_password.length=3;
3.验证配置
show variables like 'validate_password%';
其他配置可根据需求,自行更改/etc/my.cnf