【Linux】CentOS7 YUM 和RPM 安装MySQL5.7


​​​​​​ 

一、卸载已安装的MySQL包

1、查找mysql安装包

使用命令   yum list installed | grep mysql
​
[root@localhost7 ~]# yum list installed | grep mysql
mysql-community-client.x86_64         5.7.31-1.el7               @mysql57-community
mysql-community-common.x86_64         5.7.31-1.el7               @mysql57-community
mysql-community-libs.x86_64           5.7.31-1.el7               @mysql57-community
mysql-community-libs-compat.x86_64    5.7.31-1.el7               @mysql57-community
mysql-community-server.x86_64         5.7.31-1.el7               @mysql57-community
mysql57-community-release.noarch      el7-11                     @/mysql57-community-release-el7-11.noarch   
​
或者用以下命令查找   rpm -qa|grep mysql
​
[root@localhost7 ~]# rpm -qa|grep mysql
mysql-community-server-5.7.31-1.el7.x86_64
mysql-community-common-5.7.31-1.el7.x86_64
mysql-community-client-5.7.31-1.el7.x86_64
mysql57-community-release-el7-11.noarch
mysql-community-libs-compat-5.7.31-1.el7.x86_64
mysql-community-libs-5.7.31-1.el7.x86_64
​

2、将前面的6个安装包都删除

[root@localhost7 ~]# yum remove xxxxxxx
 或者
[root@localhost7 ~]# rpm -e --nodeps xxxxxxx
​
xxxxx是前面的安装包名,--nodeps是强制删除。
​

3、查找mysql残留文件夹,并删除

[root@localhost7 ~]# find / -name mysql
/etc/logrotate.d/mysql
/var/lib/mysql
/var/lib/mysql/mysql
/usr/bin/mysql
/usr/lib64/mysql
/usr/share/mysql
​
 删除 (请勿删错,谨慎操作!)
 rm -rf xxxxxx 

4、删除mariadb

   [root@localhost7 ~]#  rpm -qa|grep mariadb

          显示 :mariadb-libs-5.5.60-1.el7_5.x86_64

   [root@localhost7 ~]#  rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64

二、安装MySQL 5.7

安装在 /usr/local/ 目录下,安装包一般放在/opt目录下,解压后的软件一般放在/usr/local目录下   

1、下载安装包

[root@localhost /]# cd  /usr/local/
[root@localhost local]# wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm  

2、安装mysql源与服务

[root@localhost local]#  yum -y localinstall mysql57-community-release-el7-11.noarch.rpm   
​
[root@localhost local]#  yum -y install mysql-community-server
​
或者 用如下方式
​
rpm -ivh mysql57-community-release-el7-11.noarch.rpm  
cd  /etc/yum.repos.d/      必须进入该目录
yum install mysql-server 
​

3、YUM安装界面,等待时间较久。

在这里插入图片描述

4、启动mysql服务,并设置开机自启

CentOS6 用的是  service 不是systemctl 
​
启动mysql
[root@localhost local]# systemctl start mysqld
​
开机自启
[root@localhost local]# systemctl enable mysqld
[root@localhost local]# systemctl daemon-reload

三、登录并修改数据库密码

1、获取临时密码

【说明】mysql安装完成之后,会在 /var/log/mysqld.log 文件中,给root生成了一个临时的默认密码。  
​
 获取临时密码:(密码较为复杂)
 grep 'temporary password'  /var/log/mysqld.log
​
 不推荐使用 vim  /var/log/mysqld.log 命令去文件中找密码,真的找不到,找到了感觉也不对。

临时密码

2、用临时密码,登录MySQL

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

3、登陆失败,可跳过验证

修改MySQL 配置文件,跳过验证

vim  /etc/my.cnf           (windows下修改的是my.ini)

在[mysqld]后面任意一行添加     skip-grant-tables 保存并退出

重启 mysql                   systemctl restart mysqld

重新登陆                      mysql -u root -p 

在这里插入图片描述

4、登陆成功,修改密码策略

【注意】默认密码设置时必须包含大小写字母、特殊符号、数字,并且长度大于8位。

 登录成功后,mysql需要立即设置密码,否则无法进行任何操作,可以设置如下密码 Root1234!
 
 ALTER USER 'root'@'localhost' IDENTIFIED BY 'Root1234!';
 
 然后修改密码强度,修改初始密码策略,再把密码修改为自己喜欢容易记得
 查看密码策略
 SHOW VARIABLES LIKE 'validate_password%';
 
【说明】
	1)、validate_password_dictionary_file   指定密码验证的文件路径;

	2)、validate_password_length            固定密码的总长度;
	
	3)、validate_password_mixed_case_count  整个密码中至少要包含大/小写字母的总个数;
	
	4)、validate_password_number_count      整个密码中至少要包含阿拉伯数字的个数;
	
	5)、validate_password_policy            指定密码的强度验证等级,默认为 MEDIUM;
	
	6)、validate_password_special_char_count 整个密码中至少要包含特殊字符的个数;
	
	关于 validate_password_policy 的取值:
	LOW:只验证长度;
	1/MEDIUM:验证长度、数字、大小写、特殊字符;
	2/STRONG:验证长度、数字、大小写、特殊字符、字典文件;
可进行以下设置
 长度设为6
set global validate_password_length=6; 
 大小写字母个数至少0个
set global validate_password_mixed_case_count =0; 
 强度等级为LOW
set global validate_password_policy =LOW; 
 特殊字符至少0个
set global validate_password_special_char_count=0;

在这里插入图片描述

5、登录成功,修改密码

设置初始密码为 Root1234!
 ALTER USER 'root'@'localhost' IDENTIFIED BY 'Root1234!';
 
 在改变密码策略后,在重新设置密码为123456好记忆!
 
修改密码为123456 
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456'; 
设置远程登录
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;  
退出
mysql>  exit

6、设置编码为UTF-8,并查看编码

vim /etc/my.cnf

在mysqld 后面添加如下代码
character_set_server=utf8
init_connect='SET NAMES utf8'

保存退出,重启mysql ,查看编码
show variables like '%character%';

在这里插入图片描述

在这里插入图片描述

四、防火墙开启3306端口

1、CentOS7和8

1.防火墙的基本启动/停止/重启命令
 (防火墙关闭后显示notrunning,开启后显示running)
   systemctl status firewalld.service                   查看防火墙状态
   systemctl start/stop firewalld.service               启动、停止防火墙
   systemctl restart/reload firewalld.service           重启、重新加载防火墙 
   systemctl enable/disable firewalld.service           开机就开启、关闭防火墙

2.新增/删除一个开放端口
    1)新增端口  firewall-cmd --zone=public --add-port=3306/tcp --permanent
    2)新增多个  firewall-cmd --zone=public --add-port=80-90/tcp –permanent
    3)删除端口  firewall-cmd --zone=public --remove-port=3306/tcp --permanent
说明:
    –zone #作用域
    –add-port=3306/tcp #添加端口,格式为:端口/通讯协议
    –permanent 永久生效,没有此参数重启后失效

2 、CentOS6

1.防火墙的基本启动/停止/重启命令
   service iptables status               查看防火墙状态
   service iptables start/stop           启动、停止防火墙
   service iptables restart/reload      重启、重新加载防火墙
   chkconfig iptables on/off            开机就开启、关闭防火墙
   
2.新增一个开放端口
(1)直接添加:
    /sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
    /etc/rc.d/init.d/iptables save
(2)修改防火墙文件添加:
     vi /etc/sysconfig/iptables
    -A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
    service iptables restart
  
3.centos6查看本机已经启用的监听端口
    netstat -ant

在这里插入图片描述

五、相关报错

1、yum install mysql-community-server依赖关系错误

CentOS 6、CentOS7 下
是因为 mysql 的依赖问题,安装前未卸载干净,最快的解决方案就是卸载重装.(参考1.2 /1.3),
可以用上述方法重新卸载一次,或者用下面方式在卸载一次都可以。(查找删除的命令不同而已)

1、快速删除
	yum remove  mysql mysql-server mysql-libs
2.查找残留文件
	rpm -qa | grep -i mysql
3、将查询出来的文件逐个删除,如:
	yum remove mysql-community-common-5.7.20-1.el6.x86_64
4、查找残留目录
	whereis mysql
5、逐条删除目录,如
	rm –rf /usr/lib64/mysql
CentOS 8 下
未找到匹配的参数: mysql-community-server
【错误】:没有任何匹配 (官网有说明)CentOS 8 安装mysql之前要先禁用默认的mysql模块,
提前卸载net-snmp-agent,否则mariadb会跟安装的mysql-5.7冲突导致安装报错,因为mysql5.7还是innodb

卸载net-snmp-agen
yum remove net-snmp-agen-libs.x86_64
禁用模块  
sudo yum -y module disable mysql
重新用此命令安装   
sudo yum -y install mysql-community-server

2、Centos7安装Mysql5.7 提示GPG 密钥不存在/不合适

参考文章

rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mateo-520

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值