服务器环境搭建之安装MySQL 8

395 阅读3分钟

上一篇我们安装了Nginx,成功在浏览器访问云服务器的IP地址看见了Nginx的默认欢迎页,要想部署自己的网站,数据库肯定少不了。今天我们来一起安装MySQL.

1.给linux添加mysql的yum源

打开mysql yum源网站选择下载适合自己操作系统的版本

image.png 笔者是CentOS 8系统,所以选择了第二个
可以直接上传下载的rpm包,也可以直接通过wget命令在服务器上下载:
wget http://repo.mysql.com/${version-number}
笔者这里的下载命令就是

wget http://repo.mysql.com/mysql80-community-release-el8-4.noarch.rpm

使用以下命令安装下载的发布包
sudo yum install ${version-number}
示例:

sudo yum install mysql80-community-release-el8-4.noarch.rpm

检查MySQL Yum存储库是否已经成功添加
yum repolist enabled | grep "mysql.*-community.*"

2.从mysql yum源中选择mysql安装版本

查看mysql yum仓库的资源
yum repolist all | grep mysql
查看当前yum源可以安装的版本
yum repolist enabled | grep mysql

3.安装mysql

通过以下命令安装mysql
yum install -y mysql80-community
启动mysql服务器
systemctl start mysqld
正常情况呢,到这里应该是可以成功启动MySQL服务的,但是笔者这里遇到了一个问题,如图:

image.png
然后笔者就去寻求解决办法啦,可能是因为Linux 8的问题,以前没有遇到过~那么解决办法也贴在下面啦

#永久生效
# 操作前先备份
cp /etc/selinux/config /etc/selinux/config.bak
cat /etc/selinux/config
# 更改setlinux级别
#SELINUX参数enforcing代表打开,disabled代表关闭
#将SELINUX=enforcing改成SELINUX=disabled
#查看selinux状态:
getenforce

# 原文链接:https://blog.csdn.net/w309827333/article/details/113869275

但是,笔者的问题还是没有得到解决QAQ,于是我又去谷歌寻求解决方案,终于在StackExchange找到了一位外国友人留下的评论,如果各位看官老爷有遇上小弟这个情况,可以通过链接去看一下。按照他的解决方案,需要重启systemctl命令(重新加载了守护进程,之后所有systemctl命令再次开始工作)
命令我也再次贴出来:
kill -TERM 1
笔者抱着试试的态度,没想到问题就解开了,但是又出现了新的问题,报错找不到mysqld.service

image.png
然后经过百度了解,发现这样安装,少了mysql-server,所以会报错找不到。解决办法就是:
yum install -y mysql-server

4.启动mysql

终于可以启动mysql啦,直接上命令:
systemctl start mysqld
各位要是启动时出现Access denied 或者 Unit mysqld.service not fount 请看一下上述解决方案
启动成功之后,使用命令查看mysql的状态:
systemctl status mysqld

image.png
出现绿色的active(running)就启动成功啦

5.密码重置

笔者在这一步直接就可以登录mysql数据库了,在以前的版本,安装完成会将默认的mysql root密码打印在错误日志中,查看方式:
grep 'temporary password' /var/log/mysql/mysqld.log
登录上MySQL之后,需要修改root密码:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';

6.修改配置文件

安装完成后,此时我们的mysql默认位置如下:

#(a)数据库目录
/var/lib/mysql/
#(b)配置文件
/usr/share/mysql(mysql.server命令及配置文件)
#(c)相关命令
/usr/bin(mysqladmin mysqldump等命令)
#(d)启动脚本
/etc/rc.d/init.d/(启动脚本文件mysql的目录)

这里呢主要需要修改的配置文件主要是针对开机启动。默认字符集已经支持utf-8,mysql的用户组和用户自动创建。

# 配置开机自启
vim /etc/rc.local
# 添加
service mysqld start