- 环境准备
1.1上传安装包mysql-8.0.34-1.el7.x86_64.rpm-bundle.tar
1.2 上传安装脚本install_mysql.sh
1.3 检查系统中是否存在mariadb的rpm包
rpm -qa|grep mariadb
若存在则删除 rpm -e xxx
1.4 将安装包解压 tar -xvf mysql-8.0.34-1.el7.x86_64.rpm-bundle.tar
1.5 将解压后的文件和脚本文件放在同一位置
1.6 赋予权限 chmod 755 install_mysql.sh
1.7 执行安装脚本 ./ install_mysql.sh
#!/bin/bash
echo "=====开始安装MySQL数据库====="
rpm -ivh mysql-community-common-8.0.34-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-plugins-8.0.34-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-8.0.34-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-compat-8.0.34-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-8.0.34-1.el7.x86_64.rpm
rpm -ivh mysql-community-icu-data-files-8.0.34-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-8.0.34-1.el7.x86_64.rpm
echo "======MySQL数据库安装完成======”
echo "检测MySQL数据库是否安装成功“
rpm -qa|grep mysql
安装成功之后会出现以下打印
- 环境配置
2.1创建文件夹
mkdir -p /home/mysql/run/mysqld
mkdir /home/mysql/log/
mkdir /home/mysql/data/
chown -R mysql:mysql /home/mysql (赋予MySQL文件夹权限)
2.2 配置my.cnf文件夹(配置文件位置/etc/my.cnf)
[client]
socket=/home/mysql/mysql.sock
port = 3306
[mysqld]
lower_case_table_names = 1
port = 3306
datadir=/home/mysql/data
socket=/home/mysql/mysql.sock
log-error=/home/mysql/log/mysqld.log
pid-file=/home/mysql/run/mysqld/mysqld.pid
max_connections = 6000
max_user_connections = 6000
wait_timeout = 86400
2.3 初始化MySQL数据库
mysqld --initialize --user=mysql
2.4 启动数据库
systemctl start mysqld
设置开机启动
systemctl enable mysqld
2.5 查看MySQL初始密码
cat "/home/mysql/log/mysqld.log" | grep password | head -1 | rev | cut -d ' ' -f 1 | rev
2.6 进入MySQL数据库
mysql -uroot -p
输入上面显示的密码
若想设置简单密码必须先修改初始密码
alter user 'root'@'localhost' identified by 'MySql123!';
2.7 展示密码设置情况 SHOW VARIABLES LIKE 'validate_password%';
2.7.1 若出现该情况
则需要执行命令
INSTALL COMPONENT 'file://component_validate_password';
2.8 修改密码设置
set global validate_password.length=6;
set global validate_password.policy=0;
set global validate_password.check_user_name=off;
2.9 设置密码 alter user 'root'@'localhost' identified by '123456';
2.10 设置远程连接
use mysql;
select host from user where user='root';
update user set host = '%' where user ='root';
select host from user where user='root';
flush privileges;
2.11 若想Navicat 连接数据库,mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password, ,需要修改加密规则。
select host,user,plugin,authentication_string from mysql.user;
修改加密规则
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
flush privileges; (刷新权限)
退出MySQL数据库,并重启数据库
systemctl restart mysqld