1.前置条件:

把yum包更新到最新

[root@localhost ~]# yum update

查看系统中是否已安装 MySQL 服务

rpm -qa|grep mysql

如果有安装mysql,则需要先卸载之前安装的mysql
yum -y remove mysql

然后再查看mysql是否都卸载完成,如果还有没卸载完成的,则单独卸载

如:yum -y remove mysql-libs-5.1.73-8.el6_8.x86_64

新建一个下载目录并给权限

mkdir -p /opt/mysql

chmod 755 -R /opt/mysql

进入该目录

cd /opt/mysql

2查看配置YUM源

在MySQL官网中下载YUM源rpm安装包:https://dev.mysql.com/downloads/repo/yum/

3 下载并安装MySQL官方的 Yum Repository

[root@localhost ~]# wget -i -c https://dev.mysql.com/get/mysql80-community-release-el9-5.noarch.rpm

使用上面的命令就直接下载了安装用的Yum Repository,大概25KB的样子

如果有-bash: wget: command not found错误请执行以下命令

yum install wget -y

后给权限

chmod 755 *.rpm

给权限后就可以直接yum安装了。

[root@localhost ~]# yum -y install mysql80-community-release-el9-5.noarch.rpm

之后就开始安装MySQL服务器。

[root@localhost ~]# yum -y install mysql-community-server

  这步可能会花些时间,安装完成后就会覆盖掉之前的mariadb。

# 若报错:先执行:

yum module disable mysql

#再执行:

yum install mysql-community-server

4 MySQL数据库设置

初始化数据,主要是忽略大小写

/usr/sbin/mysqld --initialize --user=mysql --lower-case-table-names=1

# vi修改配置 /etc/my.cnf  

vi /etc/my.cnf

#添加配置[mysqld]区段下增加: ,忽略表名大小写

lower_case_table_names=1

  启动MySQL

[root@localhost ~]# systemctl start mysqld.service

# systemctl enable mysqld.service

  查看MySQL运行状态,运行状态如图:

[root@localhost ~]# systemctl status mysqld.service

rocky9 yum 安装与配置MySQL8-LMLPHP

检查正确后请重启系统

此时MySQL已经开始正常运行,不过要想进入MySQL还得先找出此时root用户的密码,通过如下命令可以在日志文件中找出密码:

[root@localhost ~]# grep "password" /var/log/mysqld.log

[root@slaver4 package]# grep "password" /var/log/mysqld.log2 2019-07-09T14:27:27.564729Z 1 [Note] A temporary password is generated for root@localhost: 1j:nj40f35%N

查到后用如下命令进入数据库:

[root@localhost ~]# mysql -u root -p

输入初始密码,此时不能做任何事情,因为MySQL默认必须修改密码之后才能操作数据库

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'Xsh@12345';

 这里有个问题,新密码设置的时候如果设置的过于简单会报错:

原因是因为MySQL有密码设置的规范(length>8位,有大小写字母和特殊字符)

#加外网访问的用户

create user root@'%' identified WITH mysql_native_password by 'Xsh@12345';

grant all privileges on *.* to root@'%';

#刷新权限

flush privileges ;

可以运行以下sql语句检查

select host,user,user password,plugin,authentication_string from mysql.user;

SELECT VERSION();

SELECT NOW();

正确后退出

quit

打开 /etc 目录下的 my.cnf 文件(此文件是 MySQL 的主配置文件)(vi 请先自学下基本用法)

vi /etc/my.cnf

在 [mysqld] 前添加如下代码:

[client]

default-character-set=utf8

在 [mysqld] 后添加如下代码:

character-set-server=utf8

default-storage-engine=InnoDB

#开防火墙端口

firewall-cmd --zone=public --add-port=3306/tcp --permanent

#防火墙重新加载

firewall-cmd --reload

#看开放的防火墙端口

firewall-cmd --zone=public --list-ports

最后重启系统。

  但此时还有一个问题,就是因为安装了Yum Repository,以后每次yum操作都会自动更新,需要把这个卸载掉:

[root@localhost ~]# yum -y remove mysql80-community-release-el9-5.noarch

  此时才算真的完成了。

04-13 02:15