centos7 yum 安装mysql8.0.36

一、前置条件:CentOS Mini 安装需要先安装ifconfig 和 wget工具,参考步骤:

1.首先,让我们找出哪个包提供了ifconfig命令。要完成这项任务,输入以下命令:

yum provides ifconfig


输出:

[root@localhost ~]# yum provides ifconfig
Failed to set locale, defaulting to C
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.ustc.edu.cn
 * extras: mirrors.ustc.edu.cn
 * updates: mirrors.ustc.edu.cn
net-tools-2.0-0.25.20131004git.el7.x86_64 : Basic networking tools
Repo        : @base
Matched from:
Filename    : /usr/sbin/ifconfig



[root@localhost ~]# 



2.就像你在上面的输出中所看到的,net-tools包提供了ifconfig命令。因此,让我们安装net-tools包来使用ifconfig命令。

yum install net-tools


3.现在,你就可以像以往一样使用ifconfig命令了。
 

二、安装前的准备

1.清理和卸载系统重所有mysql 和 mariadb程序及其文件、文件夹,避免冲突不能正常安装:

如果此前有安装过的,用过的,备份数据库,然后全部卸载清理干净。

1. 备份数据库

mysqldump -uroot -p'密码'  [DB名称] > [备份脚本名称].sql


2. 停止服务

service mysqld stop


3. 卸载mysql

yum remove mysql mysql-server

4. 查找和清理

rpm -qa | grep mysql
rpm -qa | grep mariadb

使用如下命令卸载和删除: rpm -e 和 rm -rf 后面紧跟的是你查找出来的软件包和文件夹、文件名。

rpm -e '替换成需要卸载的包的名称,不需要加引号' --nodeps
rm -rf '绝对路径/文件名'

最后再用find命令查找一下还有没有mysql相关的东西,务必全部清除干净,免去各种奇奇怪怪的问题:

find / -name mysql

 清理干净就可以准备安装步骤了,先更新切换到阿里云的源加速器,更新一遍yum


5. 下载yum源
检查当前操作系统的版本, 找到对应的yum源并下载

[root@VM-1 bin]# cat /etc/redhat-release 
CentOS Linux release 7.6.1810 (Core) 

进入下载页面

MySQL :: Download MySQL Yum Repository

使用 Red Hat 7

wget https://dev.mysql.com/get/mysql80-community-release-el7-11.noarch.rpm


5. 安装yum源

rpm -Uvh mysql80-community-release-el7-11.noarch.rpm


插曲:

之前安装了mysql 5.7 产生了冲突

查看 rpm -qa | grep mysql

删除 mysql 5.7 相关

rpm -e mysql57-community-release
rpm -e mysql-community-
再次安装成功

三、正式安装的正确操作

0、更换yum源

1、打开 mirrors.aliyun.com,选择centos的系统,点击帮助

2、执行命令:

yum install wget -y

3、改变某些文件的名称

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

4、执行更换yum源的命令

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

5、更新本地缓存

yum clean all
yum makecache

1、再次查看系统中是否自带安装mysql

yum list installed | grep mysql

2、删除系统自带的mysql及其依赖(防止冲突)

yum -y remove mysql-libs.x86_64

3、安装wget命令

yum install wget -y 

4、给CentOS添加rpm源,并且选择较新的MySQL源

wget -i -c https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm

5、安装下载好的rpm文件

 yum install mysql80-community-release-el7-3.noarch.rpm -y

6、使用yum安装mysql

yum install mysql-community-server -y

6.1、安装中遇到错误解决方式 错误: mysql-community-libs-8.0.32-1.el7.x86_64.rpm 的公钥尚未安装 失败的软件包是:mysql-community-libs-8.0.32-1.el7.x86_64 GPG 密钥配置为:file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql 解决办法: 执行如下命令后再次安装:

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

7、启动mysql服务 #启动mysql服务,查看启动状态及是否开机启动

systemctl start mysqld.service
systemctl status mysqld.service
systemctl list-unit-files | grep enabled

8、获取mysql的临时密码

grep "password" /var/log/mysqld.log

9、使用临时密码登录

mysql -uroot -p

#输入密码

10、修改密码 #密码要符合mysql安全规则,否则修改不成功

ALTER USER 'root'@'localhost' IDENTIFIED BY '密码';

11、修改远程访问权限

create user 'aiops'@'%' identified by '123456';
grant all privileges on *.* to 'aiops'@'%' with grant option;
flush privileges;

12、设置字符集为utf-8 #在[mysqld]部分添加: character-set-server=utf8 #在文件末尾新增[client]段,并在[client]段添加:

default-character-set=utf8

四、开发测试启用弱密码的方法

启动mysql

[root@localhost rootftp]# systemctl start mysqld
[root@localhost rootftp]# systemctl status mysqld
 
● mysqld.service - MySQL Server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor pres>
   Active: active (running) since Thu 2022-03-03 04:46:34 EST; 20s ago
     Docs: man:mysqld(8)
           http://dev.mysql.com/doc/refman/en/using-systemd.html
  Process: 41027 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=>
 Main PID: 41061 (mysqld)
   Status: "Server is operational"
    Tasks: 38 (limit: 23385)
   Memory: 471.0M
   CGroup: /system.slice/mysqld.service
           └─41061 /usr/sbin/mysqld
 
Mar 03 04:46:27 localhost.localdomain systemd[1]: Starting MySQL Server...
Mar 03 04:46:34 localhost.localdomain systemd[1]: Started MySQL Server.


修改密码
查看密码

grep 'temporary password' /var/log/mysqld.log


2022-03-03T07:10:39.887374Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: U<=VsitGY83w

mysql


修改密码
##  这里是个错误的提示样子,仅做提醒大佬们,因为所输入的密码不符合mysql默认密码安全规则

[root@localhost rootftp]# mysql
 
mysql> alter user 'root'@'localhost' identified by 'root';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
mysql> set global validate_password_length=1;
ERROR 1193 (HY000): Unknown system variable 'validate_password_length'
mysql> show global
    -> ;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
mysql> SHOW VARIABLES LIKE 'validate_password%';
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.


 
##  提示:先按照默认密码规则设置并记住设置的密码,
### 密码组合最好是: 大写字母+数字+小写字母+特殊符号,
## 记下来,最好抄下来,忘记了会哭
 

mysql> ALTER USER 'root'@'localhost' identified by '12345678Aa?';  # 注意密码规则
Query OK, 0 rows affected (0.00 sec)
 
mysql> flush privileges;    # 刷新权限规则
Query OK, 0 rows affected (0.00 sec)
 
mysql> show variables like 'validate_password%';
+--------------------------------------+--------+
| Variable_name                        | Value  |
+--------------------------------------+--------+
| validate_password.check_user_name    | ON     |
| validate_password.dictionary_file    |        |
| validate_password.length             | 8      |
| validate_password.mixed_case_count   | 1      |
| validate_password.number_count       | 1      |
| validate_password.policy             | MEDIUM |
| validate_password.special_char_count | 1      |
+--------------------------------------+--------+
7 rows in set (0.01 sec)
 
mysql> set global validate_password.length=4;       # 减少密码长度要求 
Query OK, 0 rows affected (0.00 sec)
 
mysql> set global validate_password.policy=0;        # 取消密码验证策略
Query OK, 0 rows affected (0.00 sec)
 
mysql> SHOW VARIABLES LIKE 'validate_password%';
+--------------------------------------+-------+
| Variable_name                        | Value |
+--------------------------------------+-------+
| validate_password.check_user_name    | ON    |
| validate_password.dictionary_file    |       |
| validate_password.length             | 4     |
| validate_password.mixed_case_count   | 1     |
| validate_password.number_count       | 1     |
| validate_password.policy             | LOW   |
| validate_password.special_char_count | 1     |
+--------------------------------------+-------+
7 rows in set (0.00 sec)


 
### “新密码”即更新密码规则后自己设置的密码,
### 做了如上规则更改以后可以设置简单密码,诸如:123456
### 简单密码仅限于本地开发调试方便,
### 正式部署或生产环境时候必须按照密码规则设置复杂度足够和
### 符合密码规则和各种安全标准规范合规的密码,以增强系统的安全性
### 常见的安全标准规范如 GB强制的等级保护、分级保护之二、三、四级,以及企业或组织要求的规则等;
 

mysql> ALTER USER 'root'@'localhost' identified by '新密码';    # 建议设置合规安全的密码,开发测试可以设置简单密码
Query OK, 0 rows affected (0.00 sec)
 
 
mysql> exit
Bye
[root@192 home]# mysql -u root -p
 
Enter password:         # 输入新设置的密码登入
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 10
Server version: 8.0.34 MySQL Community Server - GPL
 
Copyright (c) 2000, 2023, Oracle and/or its affiliates.
 
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
 
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.


 
# 数据库操作和使用请参考官方文档或者其他技术博文,此处不再赘述
 
mysql> exit
Bye
[root@192 home]# 
问题 短密码不能设置,需要修改密码策略
set global validate_password.length=4; 密码长度改成4
set global validate_password.policy=0; 密码校验强度改成LOW后,只校验密码长度
查看当前安全变量值并修改

mysql> show variables like 'validate_password%';
+--------------------------------------+--------+
| Variable_name                        | Value  |
+--------------------------------------+--------+
| validate_password.check_user_name    | ON     |
| validate_password.dictionary_file    |        |
| validate_password.length             | 8      |
| validate_password.mixed_case_count   | 1      |
| validate_password.number_count       | 1      |
| validate_password.policy             | MEDIUM |
| validate_password.special_char_count | 1      |
+--------------------------------------+--------+
7 rows in set (0.01 sec)
 
mysql> set global validate_password.length=4;
Query OK, 0 rows affected (0.00 sec)
 
mysql> set global validate_password.policy=0;
Query OK, 0 rows affected (0.00 sec)
 
mysql> SHOW VARIABLES LIKE 'validate_password%';
+--------------------------------------+-------+
| Variable_name                        | Value |
+--------------------------------------+-------+
| validate_password.check_user_name    | ON    |
| validate_password.dictionary_file    |       |
| validate_password.length             | 4     |
| validate_password.mixed_case_count   | 1     |
| validate_password.number_count       | 1     |
| validate_password.policy             | LOW   |
| validate_password.special_char_count | 1     |
+--------------------------------------+-------+
7 rows in set (0.00 sec)
设置开机启动
[root@192 home]# systemctl enable mysqld


————————————————

更多安装细节和问题处理方案请参考我的另一篇博文,涵盖面更广泛:

centos8 \CentOS 9 Stream \Oracle Linux8\Oracle Linux 9 rpm 安装mysql8.0.28 mysql8.0.34

https://blog.csdn.net/lqzixi/article/details/123260293 

  • 23
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CentOS 7上使用yum安装MySQL,你可以按照以下步骤进行操作: 1. 首先,你需要下载MySQLYum源配置文件。你可以使用以下命令从MySQL官网下载配置文件: ``` wget https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm ``` 2. 下载完成后,你可以使用以下命令将rpm包安装到系统中: ``` yum install mysql57-community-release-el7-9.noarch.rpm -y ``` 3. 安装完成后,你可以在`/etc/yum.repos.d/`目录下找到生成的两个repo文件:`mysql-community.repo`和`mysql-community-source.repo`。 4. 现在,你可以使用以下命令来查看可用的MySQL软件包: ``` yum repolist | grep mysql ``` 5. 确认系统信息,你可以使用以下命令来查询系统信息: ``` uname -a ``` 6. 根据查询到的系统信息,你可以从MySQL官网下载相应版本的Yum源配置文件。 7. 将下载的rpm包放到指定目录,例如`/usr/local/`目录下的`mysqldb`文件夹。 8. 最后,使用以下命令将Yum源配置文件添加到系统中: ``` yum install mysql80-community-release-el7-5.noarch.rpm -y ``` 这样,你就可以使用yum命令在CentOS 7上安装MySQL了。 #### 引用[.reference_title] - *1* *2* [centos7环境yum安装mysql](https://blog.csdn.net/hitits/article/details/107115240)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [Centos7环境下yum方式安装MySQL](https://blog.csdn.net/m0_53166211/article/details/123121755)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值