安装环境说明
项 | 值 |
---|---|
系统版本 | CentOS7 (具体是7.9,其他7系列版本均可) |
位数 | X86_64,64位操作系统 |
MySQL版本 | mysql-8.3.0-1.el7.x86_64.rpm-bundle.tar |
实际操作
官网下载安装包
具体操作不记录,相关教程很多。
mkdir /opt/tools/mysql8 -p
解压
cd /opt/tools/mysql8
tar -xvf mysql-8.3.0-1.el7.x86_64.rpm-bundle.tar
安装
首先,解压缩后得到很多个rpm包,安装顺序是最关键的,若顺序错误,就会出现相互依赖,导致安装失败!!!
安装的目标是:mysql-community-server-8.3.0-1.el7.x86_64.rpm,直接执行rpm -ivh安装则报错,根据错误信息提示,把依赖的包提前安装。
这里会出现相互依赖,即安装A,依赖B;安装B,依赖C;安装C,依赖D;所以,我把踩坑后的顺序记录下来,按照这个顺序就可以正常安装了。
1. 安装 mysql-community-client-plugins-8.3.0-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-plugins-8.3.0-1.el7.x86_64.rpm
2.安装 mysql-community-icu-data-files-8.3.0-1.el7.x86_64.rpm
rpm -ivh mysql-community-icu-data-files-8.3.0-1.el7.x86_64.rpm
3. 安装 mysql-community-common-8.3.0-1.el7.x86_64.rpm
rpm -ivh mysql-community-common-8.3.0-1.el7.x86_64.rpm
4. 安装 mysql-community-embedded-compat-8.3.0-1.el7.x86_64.rpm
rpm -ivh mysql-community-embedded-compat-8.3.0-1.el7.x86_64.rpm
5. 安装 mysql-community-client-plugins-8.3.0-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-plugins-8.3.0-1.el7.x86_64.rpm
6. 安装 mysql-community-icu-data-files-8.3.0-1.el7.x86_64.rpm
rpm -ivh mysql-community-icu-data-files-8.3.0-1.el7.x86_64.rpm
7. 安装 mysql-community-libs-8.3.0-1.el7.x86_64.rpm
注意:安装若失败,则是由于centos7默认安装的mariaDB导致
rpm -ivh mysql-community-libs-8.3.0-1.el7.x86_64.rpm
[root@localhost mysql8]# rpm -ivh mysql-community-libs-8.3.0-1.el7.x86_64.rpm
warning: mysql-community-libs-8.3.0-1.el7.x86_64.rpm: Header V4 RSA/SHA256 Signature, key ID a8d3785c: NOKEY
error: Failed dependencies:
mariadb-libs is obsoleted by mysql-community-libs-8.3.0-1.el7.x86_64
[root@localhost mysql8]# rpm -qa| grep mari
mariadb-libs-5.5.56-2.el7.x86_64
执行强制卸载:
[root@localhost mysql8]# rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64
然后重新执行安装命令,如下图
8.安装 mysql-community-client-8.3.0-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-8.3.0-1.el7.x86_64.rpm
9. 安装 mysql-community-server-8.3.0-1.el7.x86_64.rpm
注意:执行若报错,提示net-tools则需要通过yum进行安装后,再次执行
rpm -ivh mysql-community-server-8.3.0-1.el7.x86_64.rpm
[root@localhost mysql8]# rpm -ivh mysql-community-server-8.3.0-1.el7.x86_64.rpm
warning: mysql-community-server-8.3.0-1.el7.x86_64.rpm: Header V4 RSA/SHA256 Signature, key ID a8d3785c: NOKEY
error: Failed dependencies:
net-tools is needed by mysql-community-server-8.3.0-1.el7.x86_64
[root@localhost mysql8]# yum -install net-tools
systemctl start mysqld 启动MySQL
systemctl status mysqld 查看状态
10. 上述步骤执行完成,表示安装成功,下面进行基本配置,实现登录。
MySQL配置
- 安装成功后,自动创建mysql用户和mysql用户组
[root@localhost mysql8]# id mysql
uid=27(mysql) gid=27(mysql) groups=27(mysql)
- 安装后的默认路径,通过配置文件查看。
vi /etc/my.cnf
可以看到以下配置:
datadir=/var/lib/mysql 数据文件默认位置
socket=/var/lib/mysql/mysql.sock socket默认位置
log-error=/var/log/mysqld.log 日志默认位置
pid-file=/var/run/mysqld/mysqld.pid pid文件默认位置
- 查看初始化密码
【解决方式一:(查看初始密码,用于登陆)】
cat /var/log/mysqld.log | grep password
5. 通过初始密码进行登录
[root@localhost mysql8]# mysql -uroot -p
Enter password: 输入上步骤中的密码
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.3.0
Copyright (c) 2000, 2024, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
- 修改默认密码
注意:MySQL8之后,对密码强度要求更高,需要大写、数字、小写、特殊符合组合。
ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密码';
Flush privileges;
7. 设置远程登录
经过上述步骤,可以通过新密码实现本地化登录,但是若想通过客户端远程访问,则还需要开启MySQL远程登录。
注意:设置远程登录,通常不建议将root开启远程访问,可以新创建用户,并授权合理的数据库访问权限,这样更利于数据安全。
具体操作如下:
操作如下:
创建用户:
CREATE USER '新用户名'@'%' IDENTIFIED BY '新用户密码';
给用户授权:
Grant all privileges on 数据库名字.* to '用户名'@'%' identified by '用户密码' with grant option;
Flush privileges;
总结
MySQL8.3官方未提供二进制安装包,只有rpm安装包,之前网上很多教程是二进制安装方式,所以自己踩坑,将安装记录下来,帮助需要的人。
安装的坑主要有2方面,一是系统环境,比如当前系统安装了低版本的MySQL,那么就会有冲突,具体问题具体分析。二是rpm的安装顺序,顺序不对,则会出现依赖错误。同时,要根据报错信息,逐个解决,最后才能安装成功。
系统虽然安装完成,但实际项目中,还会对配置文件进行优化,提升MySQL性能。配置文件MySQL8和之前的5.7有很多冲突之处,若生搬硬套之前的配置文件,则会出现意想不到的错误。