MySQL安装教程(Linux篇)

228 阅读3分钟

我主要介绍两种MySQL的安装方法:源码安装和YUM安装

相关配置要求

  • 系统版本:CentOS7.6
  • MySQL版本:8.0

源码安装

①获取源码包

打开MySQL源码包地址https://dev.mysql.com/downloads/mysql选择需要安装的 数据库版本,然后选择 Linux-通用版本

1.png

找到合适的源码包

注意: 这里的合适主要是指操作系统中的最高glibc版本,例如我的CentOS7.6中,glibc版本最高为2.17,所以我要找glibc2.17的源码包,可以通过命令ldd --version查看

2-1.png 2.png

复制源码包链接

3.png

②安装源码包

下载相关依赖库

yum install libaio

将源码包下载到/usr/local文件夹下,然后解压,具体命令如下

cd /usr/local
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.35-linux-glibc2.17-x86_64.tar.xz //下载MySQL源码包
tar -xvf mysql-8.0.35-linux-glibc2.17-x86_64.tar.xz //解压源码包
mv mysql-8.0.35-linux-glibc2.17-x86_64 mysql //重命名文件夹名字为mysql(可选)
ln -s /usr/local/mysql mysql //创建软链接
export PATH=/usr/local/mysql/bin:$PATH //添加到环境变量中

4.png

创建MySQL的用户和组

groupadd -g 27 -o -r mysql //创建新的用户组->mysql
useradd -M -N -g mysql -o -r -d /usr/local/mysql/data -s /bin/false -c "MySQL Server" -u 27 mysql //创建新的用户->mysql

③MySQL初始配置

为导入导出操作创建安全目录

cd /usr/local/mysql  //(如果已经在mysql文件夹下可忽略)
mkdir mysql-files
chown mysql:mysql mysql-files
chmod 750 mysql-files

配置服务器启动选项

cd /etc
touch my.cnf
chown root:root my.cnf
chmod 644 my.cnf
vi my.cnf

添加以下配置信息到my.cnf文件里面

[mysqld] 
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock 
port=3306
log-error=/usr/local/mysql/data/localhost.localdomain.err
user=mysql
secure_file_priv=/usr/local/mysql/mysql-files
local_infile=OFF

5.png

初始化数据目录

cd /usr/local/mysql
mkdir data
chmod 750 data
chown mysql:mysql data
bin/mysqld --defaults-file=/etc/my.cnf --initialize
cat /usr/local/mysql/data/localhost.localdomain.err //通过错误日志来查看初始密码

6.png

使用 systemd 启动服务器

cd /usr/lib/systemd/system
touch mysqld.service
chmod 644 mysqld.service
vi mysqld.service

添加以下配置信息到 mysqld.service 中

[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target

[Install]
WantedBy=multi-user.target

[Service]
User=mysql
Group=mysql

# Have mysqld write its state to the systemd notify socket
Type=notify

# Disable service start and stop timeout logic of systemd for mysqld service.
TimeoutSec=0

# Start main service
ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf $MYSQLD_OPTS

# Use this to switch malloc implementation
EnvironmentFile=-/etc/sysconfig/mysql

# Sets open_files_limit
LimitNOFILE = 10000

Restart=on-failure

RestartPreventExitStatus=1

# Set environment variable MYSQLD_PARENT_PID. This is required for restart.
Environment=MYSQLD_PARENT_PID=1

PrivateTmp=false

7.png

mysqld服务自启动
systemctl enable mysqld.service
启动mysql
systemctl start mysqld
查看mysql状态
systemctl status mysqld

8.png

mysql的管理命令:systemctl {start|stop|restart|status} mysqld

登录mysql

mysql -u root -p

密码为前面查询错误日志中的初始密码

设置新密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password'

9.png 至此,源码安装MySQL就已经完成了。不难看出,源码安装MySQL十分麻烦,且容易遇到一些环境配置上的错误🤯,上手难度较高,因此我个人更推荐使用下面介绍的YUM来安装MySQL!

YUM安装

①添加MySQL YUM存储库

获取MySQL YUM发布包:dev.mysql.com/downloads/r…

注意Linux的版本号,例如CentOS7.6对应的是Linux7。

10.png 然后通过wget工具下载到/usr/local文件夹下,具体命令如下

cd /usr/local
wget https://dev.mysql.com/get/mysql80-community-release-el7-11.noarch.rpm

10-1.png

添加 MySQL Yum 存储库到系统的存储库列表

yum install mysql80-community-release-el7-11.noarch.rpm
yum repolist enabled | grep "mysql.*-community.*"  //查看MySQL Yum存储库是否添加成功

10-2.png

②选择MySQL的发布系列

查看MySQL所有软件源

yum repolist all | grep mysql

这里我需要下载MySQL8.0版本,所以我就只启用 mysql80-community/x86_64,如果要下载MySQL5.7版本的话,需要禁用MySQL8.0的软件源,再启用MySQL5.7的软件源, yum-config-manager --disable mysql80-community -> yum-config-manager --enable mysql57-community

11.png 当然了,如果不放心启用了正确的MySQL软件源,可以通过命令yum repolist enabled | grep mysql检查。 11-1.png

③安装MySQL

yum install mysql-community-server

12.png

④管理MySQL(和上面源码安装好MySQL后一样,使用systemctl来管理)

systemctl {start|stop|restart|status} mysqld

启用MySQL

systemctl start mysqld
systemctl status mysqld //查看下MySQL状态

13.png

登录MySQL

grep 'temporary password' /var/log/mysqld.log //查看初始密码
mysql -u root -p //登录MySQL
ALTER USER 'root'@'localhost' IDENTIFIED BY '密码'; //修改超级用户的密码

13-1.png

新密码至少包含大写字母,小写字母、数字和特殊字符,以及密码总长度至少为 8 个字符

到这里,YUM安装MySQL就已经完成了,大家可以根据自己的需要来选择源码安装或YUM安装。