我主要介绍两种MySQL的安装方法:源码安装和YUM安装
相关配置要求
- 系统版本:CentOS7.6
- MySQL版本:8.0
源码安装
①获取源码包
打开MySQL源码包地址https://dev.mysql.com/downloads/mysql选择需要安装的 数据库版本,然后选择 Linux-通用版本
找到合适的源码包
注意: 这里的合适主要是指操作系统中的最高glibc版本,例如我的CentOS7.6中,glibc版本最高为2.17,所以我要找glibc2.17的源码包,可以通过命令
ldd --version查看
复制源码包链接
②安装源码包
下载相关依赖库
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 //添加到环境变量中
创建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
初始化数据目录
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 //通过错误日志来查看初始密码
使用 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
mysqld服务自启动
systemctl enable mysqld.service
启动mysql
systemctl start mysqld
查看mysql状态
systemctl status mysqld
mysql的管理命令:
systemctl {start|stop|restart|status} mysqld
登录mysql
mysql -u root -p
密码为前面查询错误日志中的初始密码
设置新密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password'
至此,源码安装MySQL就已经完成了。不难看出,源码安装MySQL十分麻烦,且容易遇到一些环境配置上的错误🤯,上手难度较高,因此我个人更推荐使用下面介绍的YUM来安装MySQL!
YUM安装
①添加MySQL YUM存储库
获取MySQL YUM发布包:dev.mysql.com/downloads/r…
注意Linux的版本号,例如CentOS7.6对应的是Linux7。
然后通过wget工具下载到
/usr/local文件夹下,具体命令如下
cd /usr/local
wget https://dev.mysql.com/get/mysql80-community-release-el7-11.noarch.rpm
添加 MySQL Yum 存储库到系统的存储库列表
yum install mysql80-community-release-el7-11.noarch.rpm
yum repolist enabled | grep "mysql.*-community.*" //查看MySQL Yum存储库是否添加成功
②选择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
当然了,如果不放心启用了正确的MySQL软件源,可以通过命令
yum repolist enabled | grep mysql检查。
③安装MySQL
yum install mysql-community-server
④管理MySQL(和上面源码安装好MySQL后一样,使用systemctl来管理)
systemctl {start|stop|restart|status} mysqld
启用MySQL
systemctl start mysqld
systemctl status mysqld //查看下MySQL状态
登录MySQL
grep 'temporary password' /var/log/mysqld.log //查看初始密码
mysql -u root -p //登录MySQL
ALTER USER 'root'@'localhost' IDENTIFIED BY '密码'; //修改超级用户的密码
新密码至少包含大写字母,小写字母、数字和特殊字符,以及密码总长度至少为 8 个字符
到这里,YUM安装MySQL就已经完成了,大家可以根据自己的需要来选择源码安装或YUM安装。