centos安装mysql8.*
大约 4 分钟
安装前准备
卸载旧版本
#查看是否安装mariadb
rpm -qa|grep mariadb
#卸载
rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64
#检查是否卸载干净
rpm -qa|grep mariadb
安装依赖
#查看是否安装libaio
rpm -qa|grep libaio
#如果没有安装则执行
yum -y install libaio
#查看是否安装numactl
rpm -qa|grep numactl
#如果没有安装则执行
yum -y install numactl
安装mysql
解压安装文件
#本次操作在/opt目录下进行
#下载
wget https://downloads.mysql.com/archives/get/p/23/file/mysql-8.0.20-el7-x86_64.tar
#拆分tar包
tar -xvf mysql-8.0.30-el7-x86_64.tar
#解压安装包
tar -zxvf mysql-8.0.30-el7-x86_64.tar.gz
#重命名
mv mysql-8.0.30-el7-x86_64 mysql
#创建存储数据文件
mkdir mysql/data
配置用户组
#创建mysql用户组/用户
groupadd mysql
useradd -r -g mysql mysql
#更改属组
chown -R mysql:mysql /opt/mysql/
#更改权限
chmod -R 644 /opt/mysql/
修改配置文件和启动文件
#配置参数文件,因为mysql我们放在/opt/mysql,所以对应的路径需要全部更改
su root
vim /etc/my.cnf
[client]
port = 3306
socket = /opt/mysql/data/mysql.sock
default-character-set = utf8mb4
[mysql]
default-character-set = utf8mb4
[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_general_ci
init_connect = 'SET NAMES utf8mb4'
port = 3306
socket = /opt/mysql/data/mysql.sock
skip-external-locking
key_buffer_size = 16M
max_allowed_packet = 1M
table_open_cache = 64
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M
datadir = /opt/mysql/data
local_infile = 1
#local_infile 是为了本地加载数据文件
#lower_case_table_names=1
#如果要设置lower_case_table_names可以在初始化里面设置 ./mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql --lower_case_table_names=1
[mysqldump]
quick
max_allowed_packet = 16M
[mysql]
no-auto-rehash
[myisamchk]
key_buffer_size = 20M
sort_buffer_size = 20M
read_buffer = 2M
write_buffer = 2M
[mysqlhotcopy]
interactive-timeout
#修改启动文件
su mysql
vim /opt/mysql/support-files/mysql.server
#将/usr/local/ 全部替换为/opt/
/usr/local/ > /opt/
#启动
/opt/mysql/support-files/mysql.server start
#设置软连接
ln -s /opt/mysql/support-files/mysql.server /etc/init.d/mysql
ln -s /opt/mysql/bin/mysql /usr/bin/mysql
ln -s /opt/mysql/mysql.sock /var/mysql.sock
#重启
service mysql restart
初始化mysql
#初始化MySQL
su mysql
cd /opt/mysql/bin/
./mysqld --initialize --user=mysql --datadir=/opt/mysql/data --basedir=/opt/mysql
初始化完成后会打印一个随机密码,后面会用到
#启动mysql并改密码
mysql -uroot -p
Enter password: 输入初始化随机密码
#更改密码
alter user 'root'@'localhost' identified by '123456';
#设置远程访问权限
use mysql;
update user set user.Host='%' where user.User='root';
#刷新权限
flush privileges;