一、版本说明
Centos版本:CentOS-8.3.2011
Mysql版本:mysql-8.0.12-linux-glibc2.12
Mysql下载地址:https://downloads.mysql.com/archives/community/
二、解压安装包
tar xvf mysql-8.0.12-linux-glibc2.12-x86_64.tar
获得:mysql-8.0.12-linux-glibc2.12-x86_64.tar.xz 和 mysql-test-8.0.12-linux-glibc2.12-x86_64.tar.xz 二个文件
xz -d mysql-8.0.12-linux-glibc2.12-x86_64.tar.xz
tar xvf mysql-8.0.12-linux-glibc2.12-x86_64.tar
mv mysql-8.0.12-linux-glibc2.12-x86_64 /usr/local/mysql
三、添加用户组和用户
groupadd mysql
useradd -r -g mysql -s /bin/false mysql
四、创建文件以及授权
mkdir /usr/local/mysql/data
chown -R mysql:mysql /usr/local/mysql
chown -R mysql:mysql /usr/local/mysql/data
五 配置
vim /etc/my.cnf
[client]
socket=/usr/local/mysql/data/mysql.sock
[mysql]
socket=/usr/local/mysql/data/mysql.sock
[mysqld]
port=3306
datadir=/usr/local/mysql/
datasocket=/usr/local/mysql/data/mysql.sock
basedir=/usr/local/mysql
log-error=/usr/local/mysql/data/error.log
pid-file=/usr/local/mysql/data/mysqld.pid
character_set_server=utf8mb4
user=mysql
max_connections=1500
symbolic-links=0
default-time-zone = '+8:00'
tmp_table_size=40M
innodb_buffer_pool_size = 2048M
slow-query-log=1
long_query_time=2s
low_query_log_file=/usr/local/mysql/data/sql-slow.log
innodb_log_file_size = 64M
lower_case_table_names=1
六 初始化
/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ --lower-case-table-names=1
在/usr/local/mysql/data/error.log中找到初始密码
A temporary password is generated for root@localhost: UjjpvTi&g4*F
七 添加mysql服务
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
编辑/etc/init.d/mysql,找到start模块,添加–user=root到mysqld_safe 即可
八 启动MySQL
service mysql start
九 开启自启
chkconfig --add mysql
chkconfig mysql on
十 添加环境变量
vim /etc/profile
#mysql
export PATH=/usr/local/mysql/bin:$PATH
保存退出后,使用 source /etc/profile 使其生效
十一 修改密码以及开启远程访问
登录
mysql -uroot -p
修改密码
set password=‘123456’;
use mysql;
update user set host=‘%’ where user=‘root’;
flush privileges;
十二 防火墙开放3306端口
# 添加开放端口
firewall-cmd --add-port=3306/tcp --permanent
# 重新载入
firewall-cmd --reload
# 重启防火墙
systemctl restart firewalld