Linux版本:CentOS 7.5 64bit
MySQL版本:8.0.19
使用 wget 命令下载RPM捆绑包文件,该文件包含安装MySQL所需的所有RPM软件包,包较大,使用后台下载(我下载了很久)
wget -b https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.19-1.el7.x86_64.rpm-bundle.tar
下载完成后使用 tar 命令将文件提取出来
tar -xvf mysql-8.0.19-1.el7.x86_64.rpm-bundle.tar
从捆绑包内提取出的文件如下:
以上的RPM包无需全部安装,根据官网的提示,仅需安装部分包即可。
接下来按以下列出的顺序采用命令 rpm -ivh 按顺序逐一安装
- mysql-community-common-8.0.19-1.el7.x86_64.rpm
- mysql-community-libs-8.0.19-1.el7.x86_64.rpm
- mysql-community-client-8.0.19-1.el7.x86_64.rpm
- mysql-community-server-8.0.19-1.el7.x86_64.rpm
- mysql-community-libs-compat-8.0.19-1.el7.x86_64.rpm
从上图可以看出当安装到第四个包(mysql-community-server-8.0.19-1.el7.x86_64.rpm)时安装失败了,根据错误提示信息,
使用命令 yum -y install numactl 安装 numactl 完成后重新安装 mysql-community-server-8.0.19-1.el7.x86_64.rpm
成功安装 mysql-community-server-8.0.19-1.el7.x86_64.rpm 后,
继续使用相同的命令安装 mysql-community-libs-compat-8.0.19-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-compat-8.0.19-1.el7.x86_64.rpm
完成以上的操作步骤后,MySQL已安装完成。通过以下命令启动MySQL服务
systemctl start mysqld
# 设置开机自启动
systemctl enable mysqld
systemctl daemon-reload
MySQL服务启动成功后自动创建一个超级用户帐户(root),设置超级用户的密码并将其存储在日志文件(mysqld.log)中。
日志文件默认在 /var/log/ 路径下,可使用以下命令快速查找出密码
grep 'temporary password' /var/log/mysqld.log
所以我的 root 账号的初始密码为:oxWjDaDJe9#k
输入以下命令登录MySQL,其中 -u 后面是账号,-p 后面是密码
mysql -uroot -poxWjDaDJe9#k
登录MySQL成功后,输入以下命令更改密码,BY 后面是自定义的新密码。
默认密码策略要求密码至少包含一个大写字母,一个小写字母,一位数字和一个特殊字符,并且密码总长度至少为8个字符。
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass6!';
修改密码的SQL语句执行完毕后仍需输入 flush privileges; 执行完该语句后新密码才生效。
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)
MySQL安装完后默认 root 账户仅支持主机为 localhost 登录,即只能本地登录,不能远程登录。
若需远程登录,需将数据库mysql中的user表中的host字段值改为 "%" 表示支持所有主机登录。
mysql> use mysql; // 切换到 mysql 库
mysql> update user set host='%' where user='root'; // 更新 host 值为 %
mysql> flush privileges; // 刷新生效
接下来就可以远程登录了,如下使用 Navicat 远程登录
默认的加密方式为caching_sha2_password, MySQL 8.0以前的客户端在连接 MySQL 8.0服务器时会出现 Authentication plugin 'caching_sha2_password' cannot be loaded 的错误,需要将加密方式更该为mysql_native_password。
文件或资源 | 位置 |
---|---|
客户端程序和脚本 | /usr/bin |
mysqld 服务器 | /usr/sbin |
配置文件 | /etc/my.cnf |
数据目录 | /var/lib/mysql |
错误日志文件 |
|
secure_file_priv的值 | /var/lib/mysql-files |
System V 初始化脚本 |
|
Systemd service |
|
Pid 文件 | /var/run/mysql/mysqld.pid |
Socket | /var/lib/mysql/mysql.sock |
Keyring directory | /var/lib/mysql-keyring |
Unix manual pages | /usr/share/man |
Include (header) files | /usr/include/mysql |
Libraries | /usr/lib/mysql |
Miscellaneous support files (for example, error messages, and character set files) | /usr/share/mysql |