#!/bin/bash
ln -s /usr/lib64/libtinfo.so.6.1 /usr/lib64/libtinfo.so.5
rpm -e mariadb-libs --nodeps
groupadd mysql
useradd -s /sbin/nologin -g mysql -M mysql
mkdir -p /data/mysql_data
yum install -y libaio-devel
cd /data
wget https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.30-linux-glibc2.12-x86_64.tar.xz
tar xf mysql-8.0.30-linux-glibc2.12-x86_64.tar.xz
mv mysql-8.0.30-linux-glibc2.12-x86_64 /data/mysql-8.0.30
ln -s /data/mysql-8.0.30 /data/mysql
chown -R mysql:mysql /data/mysql*
# 修改环境变量
echo 'export PATH=$PATH:/data/mysql/bin' >> /etc/profile
source /etc/profile
#初始化数据,初始化管理员的密码为空
mysqld --initialize-insecure --user=mysql --basedir=/data/mysql --datadir=/data/mysql_data
# 书写默认配置文件
cat > /etc/my.cnf <<EOF
[mysqld]
user=mysql
basedir=/data/mysql
datadir=/data/mysql_data
server_id=1
# log_bin=/data/mysql_data/mysql-bin
port=3306
socket=/tmp/mysql.sock
# pid-file=/data/mysql_data/mysql.pid
# log-error=/data/mysql_data/mysql.err
# slow_query_log=1
# slow_query_log_file=/data/mysql_data/slow.log
# long_query_time=0.1
# log_queries_not_using_indexes
innodb_file_per_table=1
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci
[mysql]
socket=/tmp/mysql.sock
default-character-set=utf8mb4
EOF
# 使用systemd管理mysql
cat > /etc/systemd/system/mysqld.service <<EOF
[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=/data/mysql/bin/mysqld --defaults-file=/etc/my.cnf
LimitNOFILE = 5000
EOF
# 启动mysql
systemctl enable mysqld
systemctl restart mysqld
# 更改管理员密码
# mysqladmin -uroot -p password mysql
# 修改初始密码
# alter user user() identifiled by "mysql";
# 修改密码
# alter user 'root'@'localhost' identified with mysql_native_password by 'mysql';
版权归属:
ZERO
许可协议:
本文使用《署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》协议授权
评论区