实验版本:
CentOS:CentOS Linux release 7.9.2009 (Core)
MySQL:mysql-5.7.37-linux-glibc2.12-x86_64.tar.gz
找了很多教程,包括官网的教程,都安装不成功,亲测本教程有效。
1. 安装MYSQL5.7
首先下载MySQL二进制软件包
cd # 回到用户目录
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.37-linux-glibc2.12-x86_64.tar.gz
MySQL依赖于libaio
库,查看是否安装,没有安装就安装一下
创建mysql用户和组并解压软件包
useradd -r mysql
tar -zxv -f mysql-5.7.37-linux-glibc2.12-x86_64.tar.gz
mv mysql-5.7.37-linux-glibc2.12-x86_64 /usr/local/mysql # 移动重命名到/usr/local/mysql
2. 配置systemctl启动
为导入和导出操作创建安全目录
cd /usr/local/mysql
mkdir mysql-files
chown mysql:mysql mysql-files
chmod 750 mysql-files
创建MySQL配置文件
用root身份执行以下命令,其中my.cnf是MySQL的配置文件,可能在目录/etc已经存在此文件。
cd /etc
touch my.cnf
chown root:root my.cnf
chmod 644 my.cnf
需要按照下面修改my.cnf:
[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
port=3306
log-error=/usr/local/mysql/data/mysql-log.err
user=mysql
sucure_file_priv=/usr/local/mysql/mysql-files
local_infile=OFF
初始化数据目录
数据目录所有权分配给mysql用户,大部分MySQL安装仍然归root
cd /usr/local/mysql
mkdir data
chmod 750 data
chown mysql:mysql data
初始化数据目录
cd /usr/local/mysql
bin/mysqld --defaults-file=/etc/my.cnf --initialize
密码会出现在/usr/local/mysql/data/mysql-log.err文件中,如果出现错误,也可以上面的文件查看具体是什么问题
配置systemd文件
cd /usr/lib/systemd/system
touch mysqld.service
chmod 644 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
ExecStart=/app/mysql/bin/mysqld --defaults-file=/etc/my.cnf
LimitNOFILE = 5000
设置mysqld服务开机自启动并开启服务
systemctl enable mysqld.service
systemctl start mysql
检查mysqld服务的状态
systemctl status mysqld
3. 检查MySQL是否安装成功
重置MySQL root账户密码
cd /usr/local/mysql
bin/mysql -u root -p # 接下来输入在mysql-log.err中看到的密码即可
输入以下命令重置密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password';
测试服务器
查看是否可以检索信息
cd /usr/local/mysql
bin/mysqlshow -u root -p # 输入密码
查看MySQL服务器版本信息
cd /usr/local/mysql
bin/mysqladmin -u root -p version # 输入密码
4. 配置全局环境
如果不想使用带有其他路径的命令,需要修改/etc/profile文件,那么你就可以直接使用上面的mysqlshow
或者mysqladmin
这些命令,在前面不需要加其他的路径,使用vim /etc/profile
,大概在53行左右,添加PATH=/usr/local/mysql/bin:$PATH
,点击ESC
使用:wq!
退出即可,然后使用source /etc/profile
重新加载配置文件即可。
综上,就是在CentOS7.9安装MySQL5.7.37的教程,所有过程都是亲自测试过的,应该是可以用的。