CentOS7.9部署Mysql8(二进制方式)
服务器上已经安装Mysql5.7,3306端口,rpm部署方式。 现需要再安装Mysql8,因此需要采用其他方式安装,现采取二进制方式安装。
1、下载安装包: https://dev.mysql.com/downloads/mysql/
2、下载完成后放到

3、
mkdir -p /data/mysql8
cd /data/mysql8
mkdir data
mkdir tmp
mkdir logs
cd /usr/local/src
mkdir -p /application/
mv ./mysql-8.4.7-linux-glibc2.17-x86_64.tar.xz /application/mysql8
4、
useradd -s /sbin/nologin mysql8
chown -R mysql:mysql8 /data/mysql8/
chown -R mysql:mysql8 /application/mysql8/
chmod -R 755 /data/mysql8
5、添加环境变量
echo 'export PATH=$PATH:/application/mysql8/bin' >> /etc/profile
source /etc/profile
6、创建配置文件:
1)/etc/my8.cnf
[mysqld]
user=mysql8
basedir=/application/mysql8
datadir=/data/mysql8/data
socket=/data/mysql8/mysql.sock
pid-file=/data/mysql8/mysql.pid
log-error=/data/mysql8/logs/error.log
tmpdir=/data/mysql8/tmp
server_id=80
bind-address=0.0.0.0 #可远程连接
port=3380 #绑定端口为3380
character-set-server=utf8mb4
lower_case_table_names=1 #不区分大小写
max_allowed_packet=128M
default_storage_engine=InnoDB
mysqlx=0 #关闭mysqlx
[mysql]
socket=/data/mysql8/mysql.sock
[client]
socket=/data/mysql8/mysql.sock
2)/etc/systemd/system/mysqld8.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=mysql8
Group=mysql8
ExecStart=/application/mysql8/bin/mysqld --defaults-file=/etc/my8.cnf
Restart=on-failure
PrivateTmp=false
PIDFile=/data/mysql8/mysql.pid
LimitNOFILE=65535
Restart=on-failure
RestartPreventExitStatus=1
PrivateTmp=false
7、数据初始化:--lower-case-table-names=1 重要! 否则默认0,初始化后不可更改
/application/mysql8/bin/mysqld --initialize-insecure --user=mysql8 --basedir=/application/mysql8 --datadir=/data/mysql8/data --lower-case-table-names=1 --log-error=/data/mysql8/logs/mysql8_error.log
8、设置
systemctl daemon-reload # 重新加载服务配置
systemctl start mysqld8.service # 启动服务
systemctl enable mysqld8.service # 开机自启
systemctl status mysqld8.service # 查看状态(确保为active running)
关闭:systemctl stop mysqld8.service
启动:systemctl start mysqld8.service
重启:ystemctl restart mysqld8.service
9、看error.log是否说明root用户初始密码为空
登录Mysql8:
mysql -S /data/mysql8/mysql.sock
1)修改root密码
2)使root可以远程连接登录数据库
3)。。。
