mysql8的下载包路径:https://dev.mysql.com/downloads/repo/yum/
mysql8安装文档路径:https://dev.mysql.com/doc/refman/8.0/en/linux-installation-rpm.html
- 解压包
tar -xvf mysql-8.0.30-1.el7.x86_64.rpm-bundle.tar
- 安装rpm包
yum install -y mysql-community-{server,client,common,libs,icu-data-files}-*
- 修改配置文件,主要是修改表名大小写不敏感和sql支持select中返回groupby不包含的其他字段(这步非常重要,必须在启动数据库前做,因为表名大小写不敏感必须在初始化数据库时做,后面再改的话只能卸载数据库重来)
vi /etc/my.cnf
mysqld中增加两个属性:
lower_case_table_names=1
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
- 启动mysql8
systemctl start mysqld
- 查找密码
grep 'temporary password' /var/log/mysqld.log
- 登录修改密码,增加用户并赋权(注意密码必须包含大小写、数字和特殊字符,并长度大于等于8)
mysql -uroot -p
# 修改根用户密码
ALTER USER 'root'@'localhost' IDENTIFIED with mysql_native_password BY 'Root1234!';
# 创建一个所有ip能访问的用户
CREATE USER 'root'@'%' IDENTIFIED with mysql_native_password BY 'Root1234!';
# 给该用户授权所有权限
GRANT ALL ON *.* TO 'root'@'%';
#修改密码插件为旧的插件,防止客户端工具不支持,如果前面的语句没有加with mysql_native_password则执行下面的语句:
alter user 'root'@'%' identified with mysql_native_password by 'Root1234!';
flush privileges;
- 查看配置是否修改成功
show global variables like '%lower_case%';
show global variables like '%sql_mode%';
- 如果要卸载mysql,步骤如下:
#删除相关的rpm包
#先找哪些mysql相关的包,然后一个个的删除
rpm -qa|grep -i mysql
rpm -ev mysql-community-libs-compat-8.0.30-1.el7.x86_64 --nodeps
rpm -ev mysql-community-client-8.0.30-1.el7.x86_64 --nodeps
rpm -ev mysql-community-client-plugins-8.0.30-1.el7.x86_64 --nodeps
rpm -ev mysql-community-server-8.0.30-1.el7.x86_64 --nodeps
rpm -ev mysql-community-icu-data-files-8.0.30-1.el7.x86_64 --nodeps
rpm -ev mysql-community-common-8.0.30-1.el7.x86_64 --nodeps
rpm -ev mysql-community-server-debug-8.0.30-1.el7.x86_64 --nodeps
rpm -ev mysql-community-libs-8.0.30-1.el7.x86_64 --nodeps
#把mysql相关的目录全部删掉
find / -name mysql
rm -rf /etc/selinux/targeted/active/modules/100/mysql
rm -rf /etc/selinux/targeted/tmp/modules/100/mysql
rm -rf /var/lib/mysql
rm -rf /var/lib/mysql/mysql
rm -rf /usr/lib64/mysql
#删除日志
rm /var/log/mysqld.log