官网上有很多种安装方式:
https://dev.mysql.com/doc/refman/8.0/en/installing.html

这里我们选择一种比较清晰和简单的安装方式进行安装.

# 准备

# MySQL 8.0 的 rpm 安装包

在页面 https://dev.mysql.com/downloads/repo/yum/ 中根据自己的操作系统版本选择需要下载的数据库版本。
(查看操作系统版本使用 uname -a 就可以了,)

10101-查看操作系统的版本.png

这里看到我的操作系统版本是 el7 . 所以我们使用 el7 版本的 数据库就可以了。

10102-下载数据库版本.png

下载下来之后,使用下面的命令进行安装数据库:

1
rpm -ivh mysql80-community-release-el7-3.noarch.rpm

10103-安装数据库.png

1
yum install mysql-server

10104-安装数据库.png

修改 MySQL 文件权限

1
chown mysql:mysql -R /var/lib/mysql

10105-安装数据库.png

初始化 MySQL

1
mysqld --initialize

10106-安装数据库.png

启动 MySQL

1
systemctl start mysqld

10107-安装数据库.png

查看运行状态

1
systemctl status mysqld.service

10107-安装数据库.png

设置开机自启动

1
2
systemctl enable mysqld
systemctl daemon-reload

查看数据库版本:

1
mysqladmin --version

设置数据库的用户名和密码

MySQL 默认的用户名为 root,密码呢?

官方文档里说;

1
A superuser account 'root'@'localhost' is created. A password for the superuser is set and stored in the error log file. To reveal it, use the following command for RHEL, Oracle Linux, CentOS, and Fedora systems:

使用 shell> sudo grep 'temporary password' /var/log/mysqld.log 或者 sudo grep 'temporary password' /var/log/mysql/mysqld.log 这条命令就可以查询到了,我试了。。我信你个鬼。

10110-安装数据库问题.png

并没有。。

还是强制处理吧、

  • 首先:停止 MySQL 服务: systemctl stop mysqld
  • 然后跳过验证启动: mysqld --user=root --skip-grant-tables &
  • 然后: mysql:mysql -u root -p , 输入密码是直接回车。
  • 进入后:执行 flush privileges;
  • 最后 flush privileges;
  • 退出,重启正常启动 MySQL

登录成功,至此,数据库安装完毕!

# 问题

运行 systemctl start mysqld 启动 MySQL 的时候,出现下面的报错

1
Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service" and "journalctl -xe" for details.

这个时候查看 MySQL 的启动日志

1
tail -n 200 /var/log/mysqld.log 

10109-安装数据库问题.png

权限问题,无法创建 /varlib/mysql/ 这个目录下的文件。

只需要使用以下命令修改目录的权限就可以了。

1
chgrp -R mysql  /var/lib/mysql/ && chown -R mysql  /var/lib/mysql/

# 最后

期望与你一起遇见更好的自己

期望与你一起遇见更好的自己