温馨提示:请自行下载Mysql所需版本https://downloads.mysql.com/archives/community/
1.新建用户组,更改所属
# 新建mysql用户/组
useradd -u 1011 -d /opt/mysql-8.0.26 mysql
# 更改所属者/组
chown -R mysql .
mkdir /var/{data,logs,conf,sock}/mysql && chown -R mysql /var/{data,logs,conf,sock}/mysql
2.编辑配置文件vim /var/conf/mysql/my.cnf
[mysqld]
user=mysql
# 数据存放位置
datadir=/var/data/mysql
# 根目录
basedir=/opt/mysql-8.0.26
# 套接字
socket=/var/sock/mysql/mysql.sock
# mysql启动日志
log-error=/var/logs/mysql/mysql.err
pid-file=/var/logs/mysql/mysql.pid
port=3387
# 最大连接数
max_connections=200
# 错误连接次数
max_connect_errors=10
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci
# 单个节点
server-id=1
binlog_format="ROW"
# 日志文件
log_bin=/var/logs/mysql/mysql_bin
default-storage-engine=INNODB
default_authentication_plugin=mysql_native_password
lower_case_table_names=1
group_concat_max_len=102400
# 时区(东八区)
default-time_zone='+8:00'
[mysql]
default-character-set=utf8mb4
[client]
port=3387
socket=/var/sock/mysql/mysql.sock
default-character-set=utf8mb4
3.编辑环境变量配置文件vim /etc/profile 刷新环境变量source /etc/profile
export PATH=$PATH:/opt/mysql-8.0.26/bin
4.初始化数据库,自动生成随即密码,记住密码!
mysqld --defaults-file=/var/conf/mysql/my.cnf --initialize --user=mysql --basedir=/opt/mysql-8.0.26 --datadir=/var/data/mysql
5.编辑启动脚本vim /usr/lib/systemd/system/mysql.service 刷新systemctl daemon-reload
[Unit]
Description=MySQL
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Service]
User=mysql
Group=mysql
Type=notify
TimeoutSec=0
PIDFile=/var/logs/mysql/mysql.pid
ExecStart=/opt/mysql-8.0.26/bin/mysqld --defaults-file=/var/conf/mysql/my.cnf $MYSQLD_OPTS
Restart=on-failure
RestartPreventExitStatus=1
Environment=MYSQLD_PARENT_PID=1
PrivateTmp=true
[Install]
WantedBy=multi-user.target
6.开启远程连接
mysql -u root -p --socket=/var/sock/mysql/mysql.sock
# 重置root权限密码
alter user 'root'@'localhost' identified by 'XXX';
# 刷新权限
flush privileges;
# 选中数据库
use mysql;
# 设置允许远程连接
update user set host='%' where user='root';
# 修改root权限密码
alter user 'root'@'%' identified by 'XXX';
# 刷新权限
flush privileges;