2023年12月5日

Mysql8.0安装

作者 高劲松

一、操作系统与安装包

1、我们使用操作系统使用CentOS7-64

2、这里我们下载的是:mysql-8.0.31-1.el7.x86_64.rpm-bundle.tar

二、安装环境准备

1、执行yum命令,删除MySQL的lib库

[root@localhost /]#yum remove mysql mysql-server mysql-libs mysql-server;

2、执行find命令,查找MySQL的残留文件,然后执行 rm -rf fileName 删除残留MySQL文件

[root@localhost /]#find / -name mysql

[root@localhost /]#rm -rf 要删除的文件名

3、查看是否安装MySQL

[root@localhost /]#rpm -qa | grep -i mysql

执行完上述命令后,返回空数据,说明没有安装相关包

如果安装了,执行删除(yum remove mysql-community-server-*)

[root@localhost /]#yum remove 相关程序相关包名

4、再查看是否安装了mariadb,centos7系统会自带mariadb,这个是mysql的一个分支,需要移除掉

[root@localhost /]#rpm -qa | grep -i mariadb

如果有mariadb就删除 (yum remove mariadb-libs-*)

[root@localhost /]#yum remove 相关程序相关包名

三、安装

1、解压后的文件都是 rpm 文件,所以需要用到 rpm 包资源管理器相关的指令安装这些 rpm 的安装包

在安装执行 rpm 安装包之前先下载 openssl-devel 插件,因为 mysql 里面有些 rpm 的安装依赖于该插件。

yum install openssl-devel

 2、安装完该插件之后,依次执行以下命令安装这些 rpm 包

rpm -ivh mysql-community-common-8.0.31-1.el7.x86_64.rpm

rpm -ivh mysql-community-client-plugins-8.0.31-1.el7.x86_64.rpm

rpm -ivh mysql-community-libs-8.0.31-1.el7.x86_64.rpm

rpm -ivh mysql-community-libs-compat-8.0.31-1.el7.x86_64.rpm

rpm -ivh  mysql-community-devel-8.0.31-1.el7.x86_64.rpm

rpm -ivh mysql-community-client-8.0.31-1.el7.x86_64.rpm

rpm -ivh mysql-community-icu-data-files-8.0.31-1.el7.x86_64.rpm

rpm -ivh  mysql-community-server-8.0.31-1.el7.x86_64.rpm

[root@localhost opt]# rpm -ivh mysql-community-common-8.0.31-1.el7.x86_64.rpm

[root@localhost opt]# rpm -ivh mysql-community-client-plugins-8.0.31-1.el7.x86_64.rpm

[root@localhost opt]# rpm -ivh mysql-community-libs-8.0.31-1.el7.x86_64.rpm

[root@localhost opt]# rpm -ivh mysql-community-libs-compat-8.0.31-1.el7.x86_64.rpm

[root@localhost opt]# rpm -ivh  mysql-community-devel-8.0.31-1.el7.x86_64.rpm

[root@localhost opt]# rpm -ivh mysql-community-client-8.0.31-1.el7.x86_64.rpm

[root@localhost opt]# rpm -ivh  mysql-community-server-8.0.31-1.el7.x86_64.rpm

warning: mysql-community-server-8.0.31-1.el7.x86_64.rpm: Header V4 RSA/SHA256 Signature, key ID 3a79bd29: NOKEY

error: Failed dependencies:

        mysql-community-icu-data-files = 8.0.31-1.el7 is needed by mysql-community-server-8.0.31-1.el7.x86_64

[root@localhost opt]# ll

total 1769752

-rw-r–r–. 1 7155 31415   2218812 Sep 14  2022 mysql-community-icu-data-files-8.0.31-1.el7.x86_64.rpm

-rw-r–r–. 1 7155 31415  67166828 Sep 14  2022 mysql-community-server-8.0.31-1.el7.x86_64.rpm

[root@localhost opt]# rpm -ivh mysql-community-icu-data-files-8.0.31-1.el7.x86_64.rpm

[root@localhost opt]# rpm -ivh  mysql-community-server-8.0.31-1.el7.x86_64.rpm

注意:安装 rpm 包时提示 依赖检测失败,请详见文件末尾 可能遇到的问题 寻求解决方案。

在 Linux 中 MySQL 安装好了之后系统会自动的注册一个服务,服务名称叫做 mysqld,所以可以通过以下命令操作 MySQL:

3、至此我们的MySQL就安装结束,查看以下目录文件:

数据库目录:/var/lib/mysql/

命令配置: /usr/share/mysql (mysql.server命令及配置文件)

相关命令: /usr/bin (mysqladmin mysqldump等命令)

启动脚本: /etc/rc.d/init.d/ (启动脚本文件mysql的目录)

系统配置: /etc/my.conf

四、执行MySQL初始化

1、将MySQL服务添加到系统服务中,我们就可以使用service启停MySQL服务了

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

2、使用service启动

[root@localhost /]# service mysqld start

3、查看MySQL启动状态

[root@localhost /]# systemctl status mysqld

4、使用service停止

[root@localhost /]# service mysqld stop

5、使用service重启

[root@localhost /]# service mysqld restart

6、设置开机启动

[root@localhost /]# chkconfig mysqld on

五、修改root密码

1、MySQL服务启动后查看日志记录,找出初始root密码

[root@localhost /]# cat /var/log/mysqld.log

在日志记录中会有root的初始化密码:A temporary password is generated for root@localhost: hc7u6+pQ<N:
2、连接 MySQL 
    mysql -u root -p

3、修改密码设置规则,否则无法设置简单的数据库登录密码。经过以下设置就可以通过123456登录root账户

[root@localhost /]#mysql -uroot -p

Enter password:

mysql> set global validate_password_policy=LOW;

Query OK, 0 rows affected (0.00 sec)

mysql> set global validate_password_length=6;

Query OK, 0 rows affected (0.00 sec)

mysql> alter user root@localhost identified by ‘123456’;

Query OK, 0 rows affected (0.00 sec)

报错解决方案

安装Mysql8.0后,执行相关语句出现如下错误:

ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

解决问题

1、需要执行如下语句修改密码:

set password=’your password’;

2、如果密码符合Mysql要求,会修改成功。如果出现以下错误信息:

ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

执行如下两条语句:

set global validate_password.policy=0;

set global validate_password.length=1;

然后再次执行步骤1中的语句即可。

六、远程访问设置

1、设置MySQL服务的远程访问权限

mysql> grant all privileges on *.* to ‘root’ @’%’ identified by ‘123456’;

Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> flush privileges;

Query OK, 0 rows affected (0.00 sec)

2、开放端口

[root@localhost /]# firewall-cmd –zone=public –add-port=3306/tcp –permanent 

Success

iptables -I INPUT -p tcp –dport 6001  -j ACCEPT

[root@localhost /]# firewall-cmd –reload

Success

8.0版本远程访问

update user set Host='%' where User='root'; 解释: “%”指的是所有地址。
出现如图所示为修改成功

MySql8如何设置远程连接

4、查看权限

select host, user from user; 查看权限。

客户端访问报错

在这里插入图片描述
解决方案: mysql> ALTER USER ‘root’@’localhost’ IDENTIFIED WITH mysql_native_password BY ‘123456’; ERROR 1396 (HY000): Operation ALTER USER failed for ‘root’@’localhost’ mysql> ALTER USER ‘root’@’%’ IDENTIFIED WITH mysql_native_password BY ‘123456’; Query OK, 0 rows affected (0.39 sec) mysql>  FLUSH PRIVILEGES;

错误解决方案:

https://blog.csdn.net/q195136130/article/details/131039061

setenforce 0

七、卸载

1、卸载 MySQL 前需要先停止 MySQL

命令:systemctl stop mysqld

停止 MySQL 之后查询 MySQL 的安装文件:rpm -qa | grep -i mysql

https://img-blog.csdnimg.cn/89e6a23f3cdc443995f88f82c7d375c2.png

2、卸载上述查询出来的所有的 MySQL 安装包

rpm -e mysql-community-client-plugins-8.0.26-1.el7.x86_64 –nodeps

rpm -e mysql-community-server-8.0.26-1.el7.x86_64 –nodeps

rpm -e mysql-community-common-8.0.26-1.el7.x86_64 –nodeps

rpm -e mysql-community-libs-8.0.26-1.el7.x86_64 –nodeps

rpm -e mysql-community-client-8.0.26-1.el7.x86_64 –nodeps

rpm -e mysql-community-libs-compat-8.0.26-1.el7.x86_64 –nodeps
 

3、删除MySQL的数据存放目录

rm -rf /var/lib/mysql/
 

4、删除MySQL的配置文件备份

rm -rf /etc/my.cnf.rpmsave