去官网下载MySQL8的安装包
https://dev.mysql.com/downloads/mysql/https://dev.mysql.com/downloads/mysql/
将下载好的安装包上传至服务器上
查看原有的 mysql 和 mariadb 并进行删除
rpm -qa|grep mysql
rpm -qa|grep mariadb
查询之后进行删除,删除命令如下:
rpm -e --nodeps +(搜索出来的)
解压刚刚上传的MySQL安装包
tar -xvf mysql-8.0.30-1.el7.x86_64.rpm-bundle.tar
解压后生成以下文件
逐个安装rpm包,注意安装顺序,根据每个rpm的依赖进行安装即可
rpm -ivh mysql-community-common-8.0.30-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-plugins-8.0.30-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-8.0.30-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-8.0.30-1.el7.x86_64.rpm
rpm -ivh mysql-community-icu-data-files-8.0.30-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-8.0.30-1.el7.x86_64.rpm
注意: Mysql8 默认是 区分大小写的,如果在mysql初始化之后修改配置文件会出现报错的情况,需要在初始化之前进行配置文件的修改
在【mysql】内添加一句代码
lower_case_table_names=1
查看服务状态
systemctl status mysqld
此时MySQL服务尚未启动,先进行数据库初始化操作,输入以下命令:
mysqld --initialize --console
在授权目录:
chown -R mysql:mysql /var/lib/mysql/
启动MySQL服务:
systemctl status mysqld
MySQL已启动!
确定MySQL启动之后 输入:
获取临时密码,然后登陆mysql复制临时密码,然后登陆mysql
grep 'temporary password' /var/log/mysqld.log
获取临时密码,然后登陆mysql复制临时密码,然后登陆mysql
Mysql -uroot -p
修改密码:
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
刷新权限:此时就可以用新密码登录了。
Flush privileges;
附加: 上面操作了修改 配置文件解决mysql区分大小写的问题
进入mysql后可以进行查看:
show variables like "%case%";
显示如下图,即为不区分大小写(若Value 为 0时就是区分大小写)
配置允许远程连接Mysql
mysql>ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
#进入 mysql 执行此命令
mysql> use mysql;
mysql> select user,host from user;
#查看状态
如果连接不成功,需要看一下防火墙是否开启允许访问
firewall-cmd --zone=public --add-port=3306/tcp --permanent
#FirewallD防火墙开放3306端口
#命令含义:
#--zone #作用域
#--add-port=3306/tcp #添加端口,格式为:端口/通讯协议
#--permanent #永久生效,没有此参数重启后失效
systemctl restart firewalld.service
#重启防火墙