CentOS8安装mysql8.0具体步骤操作系统:CentOS Linux release 8.0及以上
Mysql版本:Mysql 8.0.22 x86_64 (MySQL Community Server - GPL)
Mysql8下载地址:MySQL :: Download MySQL Community Server
Oracle官网下载很慢,国内镜像:Index of /mysql/MySQL-8.0/
我是把如下这几个包下载之后打包到mysql_8_rpm.zip了
1.彻底清除服务器上所有相关Mysql文件
rpm -aq | grep mysql | xargs rpm -e --nodeps ( 卸载应用同时卸载掉相关联的缓存 ) |
rpm -aq | grep mariadb | xargs rpm -e --nodeps |
rm -rf find / -name mysql |
卸载
mysql卸载主要分为三步:
- 卸载已安装的mysql程序;
- 删除相关的文件夹;
- 删除my.cnf文件。
卸载已安装的程序
# 查看已安装的mysql程序
shell> rpm -qa | grep -i mysql
mysql-errmsg-8.0.21-1.module_el8.2.0+493+63b41e36.x86_64
mysql-8.0.21-1.module_el8.2.0+493+63b41e36.x86_64
mysql-common-8.0.21-1.module_el8.2.0+493+63b41e36.x86_64
mysql-server-8.0.21-1.module_el8.2.0+493+63b41e36.x86_64
# 按照查询结果一一删除,可能会有顺序要求,因为部分文件存在依赖关系
shell> rpm -ev mysql-server-8.0.21-1.module_el8.2.0+493+63b41e36.x86_64
shell> rpm -ev mysql-errmsg-8.0.21-1.module_el8.2.0+493+63b41e36.x86_64
shell> rpm -ev mysql-8.0.21-1.module_el8.2.0+493+63b41e36.x86_64
shell> rpm -ev mysql-common-8.0.21-1.module_el8.2.0+493+63b41e36.x86_64
# rpm -qa | grep -i mariadb(删除centos默认系统自带的)
shell> rpm -qa | grep -i mariadb
shell> rpm -ev mariadb-connector-c-config-3.0.7-1.el8.noarch
删除相关的文件夹
# 查看对应的MySQL目录
find / -name mysql
# 结果:
/var/lib/docker/volumes/wp_db_data/_data/mysql
/var/lib/docker/volumes/94f2988e2ff63103c8c14f2bd69df6a4579e16bc2e5fd364b366878cd1e2fdc3/_data/mysql
... ...
# 删除对应目录文件[和docker有关的不删,那是另外的东西]:
rm -rf /var/log/mysql
rm -rf /usr/share/selinux/packages/mysql
rm -rf /lanblue/conf/mysql
... ...
删除配置文件
# 最后删除配置文件
shell> rm -rf /etc/my.cnf
2.使用传输工具rz或xftp根据个人喜好上传到CenOS8任意目录,(本人喜欢放到在home目录下新建的Mysql8目录下)
3.解压后会生成四个文件包:
4.依次进行安装解压后会生成四个rpm包(注意:--force --nodeps为不检查依赖关系,强制安装,一定要带上否则容易失败):
rpm -ivh mysql-community-common-8.0.22-1.el8.x86_64.rpm --force --nodeps |
rpm -ivh mysql-community-libs-8.0.22-1.el8.x86_64.rpm --force --nodeps |
rpm -ivh mysql-community-client-8.0.22-1.el8.x86_64.rpm --force --nodeps |
rpm -ivh mysql-community-server-8.0.22-1.el8.x86_64.rpm --force --nodeps |
5.检查是否全部安装成功:
rpm -aq|grep mysql |
6.初始化密码设计,并生成随机密码,方便初次进行密码设置:
mysqld --initialize //会在/var/log/mysqld.log生成随机密码 mysqld --initialize --user=mysql --lower-case-table-names=1 // 初始化时设置不区分大小写(win默认1-不缺分,mac默认2-部分区分,linux默认0-全部区分) |
7.改变属主:
chown -R mysql:mysql /var/lib/mysql/ |
8.启动Mysql:(千万不要直接启动,先编辑my.cnf 配置好数据存储路径和忽略大小写,8.0大小写在第一次初始化启动之后,无法再设置忽略大小写配置)
my.cnf 添加配置 lower_case_table_names=1
systemctl start mysqld (一般我喜欢使用restart 进行重启mysql) |
9.查看第一次生成的Mysql随机密码:
cat /var/log/mysqld.log | grep password (注意不要带空格) |
10.数据库Mysql进行设置:
mysql_secure_installation |
由于CentOS8与CentOS6及以下版本差别较大,再补充一CentOS8命令:
配置mysql开机启动 |