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';
解释: “%”指的是所有地址。
出现如图所示为修改成功
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; |
错误解决方案:
setenforce 0
七、卸载
1、卸载 MySQL 前需要先停止 MySQL
命令:systemctl stop mysqld
停止 MySQL 之后查询 MySQL 的安装文件:rpm -qa | grep -i mysql
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