目录
1、下载安装包并解压
cd /energy/apps-local/lib
wget -O mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz
tar -zxvf mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz
mv mysql-5.7.44-linux-glibc2.12-x86_64 mysql
2、创建数据目录与日志目录
mkdir -p /energy/apps-local/data/mysql
mkdir -p /energy/apps-local/logs/mysql
3、设置环境变量
# 将以下代码加入/etc/profile末尾
# MySQL
export PATH=/energy/apps-local/lib/mysql/bin:$PATH
4、刷新环境变量
source /etc/profile
5、执行初始化
# 初始化,通过指定--initialize-insecure参数不创建初始密码
mysqld --initialize-insecure --user=root --basedir=/energy/apps-local/lib/mysql --datadir=/energy/apps-local/data/mysql
6、创建配置文件目录
mkdir -p /energy/apps-local/lib/mysql/my.cnf.d
7、新建配置文件
新建/energy/apps-local/lib/mysql/my.cnf.d/mysql-client.cnf,清空并重新录入以下内容
[mysqld]
datadir=/energy/apps-local/data/mysql
basedir=/energy/apps-local/lib/mysql
user=root
bind-address=0.0.0.0
port=3306
character-set-server=utf8
explicit_defaults_for_timestamp=1
socket=/energy/apps-local/data/mysql/mysql.sock
max_connections=2000
max_user_connections=600
log-bin=/energy/apps-local/data/mysql/mysql-bin
server-id=1
pid-file=/energy/apps-local/data/mysql/mysqld.pid
log-error=/energy/apps-local/logs/mysql/mysqld.log
slow_query_log=1
slow_query_log_file=/energy/apps-local/logs/mysql/slow-query.log
long_query_time=5
[client]
socket=/energy/apps-local/data/mysql/mysql.sock
8、为安装目录赋予可执行权限
chown -R root:root /energy/apps-local/lib/mysql
chmod -R 700 /energy/apps-local/lib/mysql
9、创建服务启动脚本
创建systemctl启动脚本/usr/lib/systemd/system/mysqld.service,并录入以下内容
[Unit]
Description=mysqld
After=syslog.target network.target
[Service]
User=root
PrivateTmp=true
Restart=always
ExecStart=/energy/apps-local/lib/mysql/bin/mysqld --defaults-file=/energy/apps-local/lib/mysql/my.cnf.d/mysql-client.cnf
[Install]
WantedBy=multi-user.target
10、启动服务并将启动脚本加入开机自启动
systemctl enable --now mysqld
11、查看服务状态
systemctl status mysqld
12、创建mysql.sock软连接
ln -s /energy/apps-local/data/mysql/mysql.sock /tmp/mysql.sock
13、设置root账号密码
本地登录并为root账户,创建“root@%”账户并赋予权限
# 以root身份登录
$ mysql -u root
# 修改root密码
mysql> use mysql;
# 创建“root@%”账户并赋权
mysql> create user root identified by 'root123456';
mysql> grant all privileges on *.* to 'root '@'%' identified by 'root123456' with grant option;
14、打开防火墙
firewall-cmd --zone=drop --add-port=3306/tcp --permanent
firewall-cmd --reload