Centos部署MySQL 8.0




01.下载安装程序并安装依赖包:

cd /opt/Downloads
wget http://download.wenjun1984.cn/MySQL/mysql-8.0.44-linux-glibc2.17-x86_64.tar

02.添加用户和用户组:

groupadd mysql
useradd -r -g mysql -s /bin/false mysql

03.解压mysql安装包并且修改其名称:

tar -xvf mysql-8.0.44-linux-glibc2.17-x86_64.tar
tar -xvf mysql-8.0.44-linux-glibc2.17-x86_64.tar.xz
mv mysql-8.0.44-linux-glibc2.17-x86_64 /opt/Apps/mysql8
chown -R mysql.mysql /opt/Apps/mysql8

04.执行初始化脚本:

/opt/Apps/mysql8/bin/mysqld \
--initialize \
--user=mysql \
--basedir=/opt/Apps/mysql8 \
--datadir=/opt/Apps/mysql8/data

注: 执行初始化脚本之后会生成一个临时密码,妥善保存下来(比如qgDuHKd7w2,6)

05.最小化编辑my.cnf:

vim /etc/my.cnf,输入以下配置:
[mysqld]
basedir=/opt/Apps/mysql8/
datadir=/opt/Apps/mysql8/data/

06.设置服务启动脚本:

cp /opt/Apps/mysql8/support-files/mysql.server /etc/init.d/mysql8

07.启动服务并加入开机自启:

chkconfig mysql8 on
service mysql8 start

08.建立对应mysql启动程序的软链接,并建立mysql链接:

ln -s /opt/Apps/mysql8/bin/mysql /usr/bin
mysql -uroot -p'qgDuHKd7w2,6'

注:通过mysql客户端连接服务器,此处使用之前的临时密码。

09.修改mysql中的root用户密码并删除多余用户:

alter user user() identified by "xxxxxxxxx";
create user root@127.0.0.1 identified by 'xxxxxxxxx';
create user root@'%' identified by 'xxxxxxxxx';
grant all privileges on *.* to root@127.0.0.1 WITH GRANT OPTION;
grant all privileges on *.* to root@'%' WITH GRANT OPTION;
flush privileges;
exit;

注:添加一个本地管理员,避免禁止反解后不能登录。

10.修改mysql配置文件并重启:

vim /etc/my.cnf,覆盖全部配置:
[mysql]
user='root'
password='Aa111111'
host='localhost'
default-character-set=utf8mb4
socket=/opt/Apps/mysql8/mysql.sock

[mysqld]
basedir=/opt/Apps/mysql8/
datadir=/opt/Apps/mysql8/data/
socket=/opt/Apps/mysql8/mysql.sock
character-set-server=utf8mb4
skip-name-resolve
max_connections=3000
wait_timeout=600
interactive_timeout=600
back_log=600
max_allowed_packet=512M

server-id=1

log-bin=/opt/Apps/mysql8/data/mysql-binlog
binlog_format=ROW
binlog_row_image=full
#general_log=1
#general_log_file=/opt/Apps/mysql8/data/mysql-general.log
slow_query_log=1
slow_query_log_file=/opt/Apps/mysql8/data/mysql-slow.log
long_query_time=10
sync_binlog=1
expire_logs_days=7

table_open_cache=256
thread_cache_size=16
thread_stack=512K

default-storage-engine=INNODB
innodb_buffer_pool_size=40963M
innodb_file_per_table=1
innodb_buffer_pool_dump_at_shutdown=1
innodb_rollback_on_timeout=on
innodb_flush_log_at_trx_commit=2

sort_buffer_size=256K
join_buffer_size=256K
symbolic-links=0

[mysqld_safe]
log-error=/opt/Apps/mysql8/data/mysqld.log
pid-file=/opt/Apps/mysql8/data/mysqld.pid

[mysqldump]
user='root'
password='Aa111111'
host='localhost'
socket=/opt/Apps/mysql8/mysql.sock

11.重新启动mysql并使用客户端连接:

service mysql restart
mysql
作者:闻骏  创建时间:2019-11-29 00:18
最后编辑:闻骏  更新时间:2025-12-11 19:52