- 卸载mariadb数据库
#查看mariadb数据库
rpm -qa | grep mariadb
#卸载mariadb数据库: rpm -e --nodeps mariadb文件名, 如:
rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64
- 卸载已安装的mysql
#查看 mysql 数据库
rpm -qa | grep -i mysql
#卸载 mysql 数据库
rpm -e mysql文件名
# 如果有关联文件,不能直接卸载。可以用一下命令强制卸载:rpm -e --nodeps mysql文件名)
rpm -e --nodeps mysql文件名
#删除etc目录下的my.cnf文件
rm /etc/my.cnf
#删除残留目录
find / -name mysql -print
将上述的结果目录全部通过rm -rf命令删除掉.
# 安装基础软件
yum -y install openssl openssl-devel
yum -y install libaio libaio-devel
yum -y install perl perl-devel
yum -y install perl-JSON.noarch
yum -y install autoconf
#关闭selinux,进入到/etc/selinux/config文件,将SELINUX=enforcing 改为SELINUX=disabled
vim /etc/selinux/config
#重启
reboot
- 从MySql官网上下载最新的yum repository版的rpm包,并存放到/usr/local目录下,下载地址:https://dev.mysql.com/downloads/repo/yum/
或者从MySql官网上下载最新的https://dev.mysql.com/downloads/mysql/
- 如果下载的是rpm包,则安装刚下载的rpm包,然后下载mysql-server
yum -y localinstall mysql80-community-release-el7-3.noarch.rpm
yum -y install mysql-community-server
- 如果下载的是tar包,则进行解压后逐个安装
#解压
tar -xvf mysql-8.0.18-1.el7.x86_64.rpm-bundle.tar
#严格按照下面的顺序逐个安装
rpm -ivh mysql-community-common-8.0.18-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-8.0.18-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-8.0.18-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-8.0.18-1.el7.x86_64.rpm
- 修改MySQL的my.cnf配置文件
vim /etc/my.cnf
#修改如下
[mysqld]
port=3306 #mysql默认的端口就是3306
max_connections=200 #最大连接数
default-authentication-plugin=mysql_native_password #设置mysql8版本的数据库的密码加密方式
datadir=/var/lib/mysql #存放数据库的数据的目录地址
socket=/var/lib/mysql/mysql.sock
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
#打开GTID
enforce_gtid_consistency=ON
gtid-mode=ON
- 如果是tar包形式安装,需要进行初始化和授权
mysqld --initialize --console
chown -R mysql:mysql /var/lib/mysql/
- 启动mysql服务
systemctl start mysqld.service
- 查询初始密码
cat /var/log/mysqld.log | grep password
9. 使用初始密码修改数据库密码
#登录数据库
mysql -uroot -p+OAZhk/yo8ty
#降低密码策略
SET GLOBAL validate_password.policy=0;
#设置新密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'YOUR_PASSWORD';
#开启远程连接
mysql> use mysql;
mysql> update user set host='%' where user='root';
mysql> flush privileges;
mysql> exit;
#提交
flush privileges;
#退出并重启重启mysql
systemctl restart mysqld.service