Centos7 首次 安装Mysql8.0

随笔记录

背景介绍:重装Centos7 系统,没有安装mysql 

目录

1. 查看否有MariaDB与MySQL

2. MySQL官网下载适用于centos7的mysql安装包

2.1 查询服务器是x86_64架构还是arm架构

2.2 查系统版本

2.3 下载适用于系统版本安装包

2.3.1 国内镜像源下载安装包

2.3.2 安装 MySQL

2.3.3 运行 MySQL 

2.3.4 初始化

2.3.5 查看默认密码

2.3.6 登录

2.3.7 重置root密码

2.3.7.1 重置密码不符合mysql8.0 策略要求

2.3.7.2 重置密码符合Mysql8.0 策略要求

2.3.7.3 查看 mysql 初始的密码策略

2.3.7.4 首先需要设置密码的验证强度等级,设置 validate_password_policy 的全局参数为 LOW 

2.3.7.5 当前密码长度为 8 ,可以设置为4位的密码:

2.3.7.6 查看修改后的密码策略

2.3.7.7 修改简单密码

2.3.7.8 重启mysql 服务后,新密码登录

2.3.8  检查是否已经设置为开机启动MySQL服务

2.3.9 Mysql 设置远程

2.3.9.1  查看mysql 连接

2.3.9.2 查看可登录mysql的host

2.3.9.3  修改Mysql 远程连接 :修改root用户的host值,并刷新mysql数据库

 2.3.9.4 Navicate 远程连接Mysql8.0 成功

2.4 官网下载,太慢


1. 查看否有MariaDBMySQL


# ​查本地是否有相应的mysql(或者先检查是否有mariadb存在)
​

[root@localhost Tools]# ps ajx|grep mariadb
210088 228505 228504 210088 pts/1    228504 S+       0   0:00 grep --color=auto mariadb
[root@localhost Tools]#
[root@localhost Tools]# ps ajx|grep mysql
210088 228537 228536 210088 pts/1    228536 S+       0   0:00 grep --color=auto mysql
[root@localhost Tools]#


注意: MariaDB是一种开源的关系型数据库管理系统(RDBMS),它是MySQL的一个分支。
它提供了与MySQL高度兼容的功能和语法,同时还具有一些额外的功能和改进

2. MySQL官网下载适用于centos7的mysql安装包

2.1 查询服务器是x86_64架构还是arm架构
# uname -m 
or 
# arch  

[root@localhost Tools]# uname -m
x86_64
[root@localhost Tools]#
[root@localhost Tools]# arch
x86_64                                       # linux 服务器 x86_64
[root@localhost Tools]#
2.2 查系统版本
[root@localhost Tools]# cat /etc/centos-release
CentOS Linux release 7.9.2009 (Core)
[root@localhost Tools]#
[root@localhost Tools]#
[root@localhost Tools]# cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)
[root@localhost Tools]#
[root@localhost Tools]#
2.3 下载适用于系统版本安装包
2.3.1 国内镜像源下载安装包

官方的软件仓库下载速度可能较慢,建议采用国内的镜像。如果采用清华镜像,下面链接的方法:

mysql | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

Centos7 首次 安装Mysql8.0_第1张图片

# /etc/yum.repos.d/ 路径下新建 mysql-community.repo
[root@localhost Tools]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# ls
CentOS-Base.repo       CentOS-fasttrack.repo  CentOS-Vault.repo          epel.repo
CentOS-CR.repo         CentOS-Media.repo      CentOS-x86_64-kernel.repo  epel-testing.repo
CentOS-Debuginfo.repo  CentOS-Sources.repo    docker-ce.repo
[root@localhost yum.repos.d]#
[root@localhost yum.repos.d]# vi mysql-community.repo
[root@localhost yum.repos.d]#
[root@localhost yum.repos.d]#


[root@localhost Tools]# cat  /etc/yum.repos.d/mysql-community.repo
[mysql-connectors-community]
name=MySQL Connectors Community
baseurl=https://mirrors.tuna.tsinghua.edu.cn/mysql/yum/mysql-connectors-community-el7-$basearch/
enabled=1
gpgcheck=1
gpgkey=https://repo.mysql.com/RPM-GPG-KEY-mysql-2022

[mysql-tools-community]
name=MySQL Tools Community
baseurl=https://mirrors.tuna.tsinghua.edu.cn/mysql/yum/mysql-tools-community-el7-$basearch/
enabled=1
gpgcheck=1
gpgkey=https://repo.mysql.com/RPM-GPG-KEY-mysql-2022

[mysql-8.0-community]
name=MySQL 8.0 Community Server
baseurl=https://mirrors.tuna.tsinghua.edu.cn/mysql/yum/mysql-8.0-community-el7-$basearch/
enabled=1
gpgcheck=1
gpgkey=https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
[root@localhost Tools]#
2.3.2 安装 MySQL
#  yum install mysql-community-server
# 以上命令除了会安装 mysql-community-server (MySQL server),还会安装它依赖的其它软件包。

[root@localhost Tools]# yum install mysql-community-server
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirrors.bfsu.edu.cn
 * epel: mirrors.bfsu.edu.cn
 * extras: mirrors.bfsu.edu.cn
 * updates: mirrors.aliyun.com
mysql-8.0-community                                                 | 3.0 kB  00:00:00
mysql-connectors-community                                          | 3.0 kB  00:00:00
mysql-tools-community                                               | 3.0 kB  00:00:00
(1/3): mysql-tools-community/x86_64/primary_db                      |  98 kB  00:00:00
(2/3): mysql-8.0-community/x86_64/primary_db                        | 279 kB  00:00:00
(3/3): mysql-connectors-community/x86_64/primary_db                 | 109 kB  00:00:00
Resolving Dependencies
--> Running transaction check
---> Package mysql-community-server.x86_64 0:8.0.35-1.el7 will be installed
--> Processing Dependency: mysql-community-common(x86-64) = 8.0.35-1.el7 for package: mysql-community-server-8.0.35-1.el7.x86_64
--> Processing Dependency: mysql-community-icu-data-files = 8.0.35-1.el7 for package: mysql-community-server-8.0.35-1.el7.x86_64
--> Processing Dependency: mysql-community-client(x86-64) >= 8.0.11 for package: mysql-community-server-8.0.35-1.el7.x86_64
--> Running transaction check
---> Package mysql-community-client.x86_64 0:8.0.35-1.el7 will be installed
--> Processing Dependency: mysql-community-client-plugins = 8.0.35-1.el7 for package: mysql-community-client-8.0.35-1.el7.x86_64
--> Processing Dependency: mysql-community-libs(x86-64) >= 8.0.11 for package: mysql-community-client-8.0.35-1.el7.x86_64
---> Package mysql-community-common.x86_64 0:8.0.35-1.el7 will be installed
---> Package mysql-community-icu-data-files.x86_64 0:8.0.35-1.el7 will be installed
--> Running transaction check
---> Package mariadb-libs.x86_64 1:5.5.68-1.el7 will be obsoleted
--> Processing Dependency: libmysqlclient.so.18()(64bit) for package: 2:postfix-2.10.1-9.el7.x86_64
--> Processing Dependency: libmysqlclient.so.18(libmysqlclient_18)(64bit) for package: 2:postfix-2.10.1-9.el7.x86_64
---> Package mysql-community-client-plugins.x86_64 0:8.0.35-1.el7 will be installed
---> Package mysql-community-libs.x86_64 0:8.0.35-1.el7 will be obsoleting
--> Running transaction check
---> Package mysql-community-libs-compat.x86_64 0:8.0.35-1.el7 will be obsoleting
--> Finished Dependency Resolution

Dependencies Resolved

===========================================================================================
 Package                           Arch      Version          Repository              Size
===========================================================================================
Installing:
 mysql-community-libs              x86_64    8.0.35-1.el7     mysql-8.0-community    1.5 M
     replacing  mariadb-libs.x86_64 1:5.5.68-1.el7
 mysql-community-libs-compat       x86_64    8.0.35-1.el7     mysql-8.0-community    669 k
     replacing  mariadb-libs.x86_64 1:5.5.68-1.el7
 mysql-community-server            x86_64    8.0.35-1.el7     mysql-8.0-community     64 M
Installing for dependencies:
 mysql-community-client            x86_64    8.0.35-1.el7     mysql-8.0-community     16 M
 mysql-community-client-plugins    x86_64    8.0.35-1.el7     mysql-8.0-community    3.5 M
 mysql-community-common            x86_64    8.0.35-1.el7     mysql-8.0-community    665 k
 mysql-community-icu-data-files    x86_64    8.0.35-1.el7     mysql-8.0-community    2.2 M

Transaction Summary
===========================================================================================
Install  3 Packages (+4 Dependent packages)

Total download size: 89 M
Is this ok [y/d/N]: y                    # y
Downloading packages:
warning: /var/cache/yum/x86_64/7/mysql-8.0-community/packages/mysql-community-client-plugins-8.0.35-1.el7.x86_64.rpm: Header V4 RSA/SHA256 Signature, key ID 3a79bd29: NOKEY
Public key for mysql-community-client-plugins-8.0.35-1.el7.x86_64.rpm is not installed
(1/7): mysql-community-client-plugins-8.0.35-1.el7.x86_64.rpm       | 3.5 MB  00:00:09
(2/7): mysql-community-common-8.0.35-1.el7.x86_64.rpm               | 665 kB  00:00:00
(3/7): mysql-community-icu-data-files-8.0.35-1.el7.x86_64.rpm       | 2.2 MB  00:00:03
(4/7): mysql-community-libs-8.0.35-1.el7.x86_64.rpm                 | 1.5 MB  00:00:02
(5/7): mysql-community-libs-compat-8.0.35-1.el7.x86_64.rpm          | 669 kB  00:00:00
(6/7): mysql-community-client-8.0.35-1.el7.x86_64.rpm               |  16 MB  00:00:40
(7/7): mysql-community-server-8.0.35-1.el7.x86_64.rpm               |  64 MB  00:01:18
-------------------------------------------------------------------------------------------
Total                                                      944 kB/s |  89 MB  00:01:36
Retrieving key from https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
Importing GPG key 0x3A79BD29:
 Userid     : "MySQL Release Engineering "
 Fingerprint: 859b e8d7 c586 f538 430b 19c2 467b 942d 3a79 bd29
 From       : https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
Is this ok [y/N]: y                  # y
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : mysql-community-common-8.0.35-1.el7.x86_64                              1/8
  Installing : mysql-community-client-plugins-8.0.35-1.el7.x86_64                      2/8
  Installing : mysql-community-libs-8.0.35-1.el7.x86_64                                3/8
  Installing : mysql-community-client-8.0.35-1.el7.x86_64                              4/8
  Installing : mysql-community-icu-data-files-8.0.35-1.el7.x86_64                      5/8
  Installing : mysql-community-server-8.0.35-1.el7.x86_64                              6/8
  Installing : mysql-community-libs-compat-8.0.35-1.el7.x86_64                         7/8
  Erasing    : 1:mariadb-libs-5.5.68-1.el7.x86_64                                      8/8
  Verifying  : mysql-community-client-plugins-8.0.35-1.el7.x86_64                      1/8
  Verifying  : mysql-community-common-8.0.35-1.el7.x86_64                              2/8
  Verifying  : mysql-community-icu-data-files-8.0.35-1.el7.x86_64                      3/8
  Verifying  : mysql-community-libs-8.0.35-1.el7.x86_64                                4/8
  Verifying  : mysql-community-client-8.0.35-1.el7.x86_64                              5/8
  Verifying  : mysql-community-libs-compat-8.0.35-1.el7.x86_64                         6/8
  Verifying  : mysql-community-server-8.0.35-1.el7.x86_64                              7/8
  Verifying  : 1:mariadb-libs-5.5.68-1.el7.x86_64                                      8/8

Installed:
  mysql-community-libs.x86_64 0:8.0.35-1.el7
  mysql-community-libs-compat.x86_64 0:8.0.35-1.el7
  mysql-community-server.x86_64 0:8.0.35-1.el7

Dependency Installed:
  mysql-community-client.x86_64 0:8.0.35-1.el7
  mysql-community-client-plugins.x86_64 0:8.0.35-1.el7
  mysql-community-common.x86_64 0:8.0.35-1.el7
  mysql-community-icu-data-files.x86_64 0:8.0.35-1.el7

Replaced:
  mariadb-libs.x86_64 1:5.5.68-1.el7

Complete!
[root@localhost Tools]#
2.3.3 运行 MySQL 
[root@localhost Tools]#
[root@localhost Tools]# systemctl start mysqld
[root@localhost Tools]#
2.3.4 初始化
# 初始化
# mysqld --initialize

[root@localhost Tools]# mysqld --initialize
[root@localhost Tools]#
[root@localhost Tools]# grep 'temporary password' /var/log/mysqld.log
2023-12-11T06:19:02.169003Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: np1bH=nX7STs
[root@localhost Tools]#
2.3.5 查看默认密码
# 查看默认密码
# localhost后面的最后的那一大串字符,就是密码,复制下来。

[root@localhost Tools]#
[root@localhost Tools]# grep 'temporary password' /var/log/mysqld.log
2023-12-11T06:19:02.169003Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: np1bH=nX7STs              # 密码:np1bH=nX7STs 
[root@localhost Tools]#


2.3.6 登录

# 登录
# mysql -uroot -p

[root@localhost Tools]# mysql -uroot -p
Enter password:             #输入 2.3.5 查询的默认密码后回车即可登录 mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 10
Server version: 8.0.35

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>
2.3.7 重置root密码
2.3.7.1 重置密码不符合mysql8.0 策略要求
#安装Mysql8.0后,第一次登录执行除修改密码的相关语句会出现如下错误(如图所示):

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'yusur666';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
mysql>
2.3.7.2 重置密码符合Mysql8.0 策略要求
# mysql 8.0 密码策略要求 
# 密码必须为8位,需要一个以上的小写字母和大写字母,需要一个以上的数字以及需要一个以上的特殊字符
# 如果登录后不修改密码,基本无法做任何操作

mysql> alter user 'root'@'localhost' identified by 'Yusur@666';
Query OK, 0 rows affected (0.02 sec)

mysql>



2.3.7.3 查看 mysql 初始的密码策略
mysql> show variables like 'validate%';
+-------------------------------------------------+--------+
| Variable_name                                   | Value  |
+-------------------------------------------------+--------+
| validate_password.changed_characters_percentage | 0      |
| 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      |
+-------------------------------------------------+--------+
8 rows in set (0.00 sec)

mysql>
2.3.7.4 首先需要设置密码的验证强度等级,设置 validate_password_policy 的全局参数为 LOW 
mysql> set global validate_password.policy=LOW;
Query OK, 0 rows affected (0.00 sec)

mysql> 
2.3.7.5 当前密码长度为 8 ,可以设置为4位的密码:
mysql> set global validate_password.length=4;
Query OK, 0 rows affected (0.00 sec)

mysql>
2.3.7.6 查看修改后的密码策略
mysql> show variables like 'validate%';
+-------------------------------------------------+-------+
| Variable_name                                   | Value |
+-------------------------------------------------+-------+
| validate_password.changed_characters_percentage | 0     |
| 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     |
+-------------------------------------------------+-------+
8 rows in set (0.01 sec)

mysql>
2.3.7.7 修改简单密码
# alter user 'root'@'localhost' identified by '';

mysql> alter user 'root'@'localhost' identified by 'yusur666';
Query OK, 0 rows affected (0.02 sec)

mysql>


2.3.7.8 重启mysql 服务后,新密码登录
# 重启mysql f服务,后重新登录
[root@localhost Tools]# systemctl restart mysqld.service
[root@localhost Tools]#
[root@localhost Tools]# mysql -uroot -p
Enter password:                               #输入新密码
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.35 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>
2.3.8  检查是否已经设置为开机启动MySQL服务
[root@localhost Tools]#
[root@localhost Tools]# systemctl list-unit-files|grep mysqld
mysqld.service                                enabled    # 已设置为开机启动
[email protected]                               disabled
[root@localhost Tools]#



# 如果没有设置为开机启动则执行

# systemctl enable mysqld.service
2.3.9 Mysql 设置远程

Naviicate 远程连接Mysql 时出错,可能因为Mysql 没有设置远程连接,仅支持本地连接

Centos7 首次 安装Mysql8.0_第2张图片

2.3.9.1  查看mysql 连接
mysql>
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.01 sec)

mysql>
mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql>

2.3.9.2 查看可登录mysql的host
# select host, user from user; 

mysql> select host,user from user;
+-----------+------------------+
| host      | user             |
+-----------+------------------+
| localhost | mysql.infoschema |             
| localhost | mysql.session    |
| localhost | mysql.sys        |
| localhost | root             |
+-----------+------------------+
4 rows in set (0.00 sec)

mysql>


# host部分全部都是localhost,说明用户只能本地连接msyql服务
2.3.9.3  修改Mysql 远程连接 :修改root用户的host值,并刷新mysql数据库
# update user set user.host=’%'where user.user=‘root’;
# flush privileges;

mysql> update user set user.host='%' where user.user='root';
Query OK, 1 row affected (0.01 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql>
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql>
mysql> select host,user from user;
+-----------+------------------+
| host      | user             |
+-----------+------------------+
| %         | root             |
| localhost | mysql.infoschema |
| localhost | mysql.session    |
| localhost | mysql.sys        |
+-----------+------------------+
4 rows in set (0.00 sec)

mysql>
 2.3.9.4 Navicate 远程连接Mysql8.0 成功

Centos7 首次 安装Mysql8.0_第3张图片

2.4 官网下载,太慢

Centos7 首次 安装Mysql8.0_第4张图片Centos7 首次 安装Mysql8.0_第5张图片

Centos7 首次 安装Mysql8.0_第6张图片 注意:此处徐Oracel Accout,并登录Centos7 首次 安装Mysql8.0_第7张图片

 到此 Centos7 第一次安装 Mysql8.0  已完成操作

你可能感兴趣的:(centos,mysql,linux)