• Centos7 安装 MySQL5.7 步骤


    Centos7 安装 MySQL5.7 步骤







    前言:

    之前一直是在window上安装mysql,但是实际应用mysql都是安装在服务器上,所以记录一下

    本文记录了两种方式来安装mysql

    一、使用yum源方式安装

    二、使用本地tar文件方式安装

    一 .使用yum源方式安装

    1、卸载系统自带 mariadb

    MariaDB Server 是最流行的开源关系型数据库之一。它由 MySQL 的原始开发者制作,并保证保持开源。

    在 CentOS 7 中默认安装有 MariaDB

    可忽略,安装完成之后可以直接覆盖掉MariaDB。

    查看并卸载系统自带的 Mariadb
    [root@localhost /]# rpm -qa|grep mariadb
    mariadb-libs-5.5.68-1.el7.x86_64
    [root@localhost /]# rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64
    [root@localhost /]# rpm -qa|grep mariadb
    
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在这里插入图片描述

    2、下载并安装MySQL官方的 Yum

    由于CentOS 的yum源中没有mysql,需要到mysql的官网下载yum repo配置文件

    2.1 下载mysql的yum源配置

    [root@localhost ~]#  wget http://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
    
    --2023-02-25 06:24:11--  https://repo.mysql.com//mysql57-community-release-el7-11.noarch.rpm
    正在解析主机 repo.mysql.com (repo.mysql.com)... 23.212.157.5
    ...
    ...
    100%[=========================================================================>] 25,680      --.-K/s 用时 0s      
    
    2023-02-25 06:24:19 (180 MB/s) - 已保存 “mysql57-community-release-el7-11.noarch.rpm” [25680/25680])
    
    [root@localhost ~]# ls
    anaconda-ks.cfg       mysql57-community-release-el7-11.noarch.rpm  模板  图片  下载  桌面
    initial-setup-ks.cfg  公共                                         视频  文档  音乐
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    在这里插入图片描述

    2.2 安装mysql的yum源

    命令执行完成后会在 /etc/yum.repos.d/ 目录下生成两个repo文件

    • mysql-community.repo

    • mysql-community-source.repo

    [root@localhost ~]# yum -y install mysql57-community-release-el7-11.noarch.rpm
    
    已加载插件:fastestmirror, langpacks
    正在检查 mysql57-community-release-el7-11.noarch.rpm: mysql57-community-release-el7-11.noarch
    mysql57-community-release-el7-11.noarch.rpm 将被安装
    ...
    ...
    已安装:
      mysql57-community-release.noarch 0:el7-11                                                                        
    
    完毕!
    [root@localhost ~]# ls /etc/yum.repos.d/
    CentOS-Base.repo       CentOS-fasttrack.repo  CentOS-Vault.repo          mysql-community-source.repo
    CentOS-CR.repo         CentOS-Media.repo      CentOS-x86_64-kernel.repo
    CentOS-Debuginfo.repo  CentOS-Sources.repo    mysql-community.repo
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    在这里插入图片描述

    2.3 使用yum方式安装mysql

    [root@localhost ~]# yum -y install mysql-server
    
    • 1

    在这里插入图片描述

    2.3.1 安装过程中报错解决

    如果没有提示错误可忽略

    问题描述
    警告:/var/cache/yum/x86_64/7/mysql57-community/packages/mysql-community-common-5.7.41-1.el7.x86_64.rpm: 头V4 RSA/SHA256 Signature, 密钥 ID 3a79bd29: NOKEY
    mysql-community-common-5.7.41-1.el7.x86_64.rpm 的公钥尚未安装
    
    
    mysql-community-libs-compat-5.7.41-1.el7.x86_64.rpm 的公钥尚未安装
    
     失败的软件包是:mysql-community-libs-compat-5.7.41-1.el7.x86_64
     GPG  密钥配置为:file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    解决方案

    运行命令:rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
    在重新安装

    运行命令
    
    [root@localhost ~]# rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
    
    
    重新安装
    
    
    [root@localhost ~]# yum -y install mysql-server
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    3、使用并设置mysql

    3.1 启动mysql并查看状态

    [root@localhost ~]# systemctl start mysqld.service
    [root@localhost ~]# systemctl status mysqld.service
    
    • 1
    • 2

    在这里插入图片描述

    3.2 获取临时密码

    在第一次登录时需要,登录后可修改密码

    [root@localhost ~]# cat /var/log/mysqld.log | grep password
    2023-02-25T12:00:58.723624Z 1 [Note] A temporary password is generated for root@localhost: 1!L#qo3?d6i=
    
    • 1
    • 2

    在这里插入图片描述

    3.3 登录mysql

    密码为刚才获取的临时密码,即1!L#qo3?d6i=

    [root@localhost ~]# mysql -u root -p
    Enter password: 
    
    • 1
    • 2

    在这里插入图片描述

    3.4 修改登录密码

    如果密码设置太简单,会提示错误:

    ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
    
    • 1
    mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'Wxq3012@';
    Query OK, 0 rows affected (0.00 sec)
    
    • 1
    • 2

    在这里插入图片描述

    如果想要设置简单的密码:

    set global validate_password_policy=0;
    
    • 1
    set global validate_password_length=6;
    
    • 1

    其中,validate_password_number_count指定了密码中数据的长度,validate_password_special_char_count指定了密码中特殊字符的长度,validate_password_mixed_case_count指定了密码中大小字母的长度。

    这些参数,默认值均为1,所以validate_password_length最小值为4,如果你显性指定validate_password_length的值小于4,尽管不会报错,但validate_password_length的值将设为4。当然也有mysql不符合这种情况的情形。所以此文章或许可以帮助您。

    4、设置远程访问

    4.1 开启mysql的远程访问权限

    在mysql命令行中输入

    命令中的用%代表所有IP,如有需要,可换成指定IP

    mysql> grant all privileges on *.* to 'root'@'%' identified by 'Wxq3012@' with grant option;
    Query OK, 0 rows affected, 1 warning (0.00 sec)
    
    mysql> flush privileges;
    Query OK, 0 rows affected (0.00 sec)
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在这里插入图片描述

    4.2 为firewalld添加开放端口3306

    [root@localhost ~]# firewall-cmd --zone=public --add-port=3306/tcp --permanent
    success
    重启配置
    [root@localhost ~]# firewall-cmd --reload
    success
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在这里插入图片描述

    4.3 远程连接测试

    在这里插入图片描述

    5、至此,mysql安装结束

    完结,撒花

    二. 本地 tar 文件方式安装

    1、获取tar安装包文件

    1.1 下载mysql5.7安装包

    MySQL安装包官方下载地址:https://dev.mysql.com/downloads/mysql/5.7.html

    在这里插入图片描述

    1.2 包上传到 Linux 服务器

    可以通过XFTP软件将安装包上传到服务器

    在 Linux 服务器根目录下创建两个文件夹:
    • tools 文件夹,存放软件安装包
    • az 文件夹,存放安装后的软件
    [root@localhost /]# cd /
    [root@localhost /]# mkdir tools
    [root@localhost /]# mkdir az
    
    • 1
    • 2
    • 3
    将下载好的 MySQL 安装包上传至 tools 文件夹下:
    [root@localhost /]# ls /tools/
    mysql-5.7.41-linux-glibc2.12-x86_64.tar
    
    • 1
    • 2

    在这里插入图片描述

    2、安装前查看设置

    2.1 卸载 CentOS7 系统自带 mariadb

    MariaDB Server 是最流行的开源关系型数据库之一。它由 MySQL 的原始开发者制作,并保证保持开源。

    在 CentOS 7 中默认安装有 MariaDB

    查看并卸载系统自带的 Mariadb
    
    [root@localhost /]# rpm -qa|grep mariadb
    mariadb-libs-5.5.68-1.el7.x86_64
    [root@localhost /]# rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64
    [root@localhost /]# rpm -qa|grep mariadb
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在这里插入图片描述

    2.2 检查系统是否安装过 MySQL

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

    在这里插入图片描述

    如果系统中 MySQL ,查询所有 MySQL 对应的文件夹,全部删除
     [root@localhost /]# whereis mysql
     [root@localhost /]# find / -name mysql
    
    • 1
    • 2

    2.3 检查有无 MySQL 用户组

    检查有无 MySQL 用户组,没有则创建
    检查 mysql 用户组是否存在
    [root@localhost /]# cat /etc/group | grep mysql
    [root@localhost /]# cat /etc/passwd | grep mysql
    
    • 1
    • 2
    创建 mysql 用户组和用户
    [root@localhost /]# groupadd mysql
    [root@localhost /]# useradd -r -g mysql mysql
    
    • 1
    • 2

    在这里插入图片描述

    3、安装 MySQL5.7

    3.1 解压下载的tar文件

    解压下载的 mysql-5.7.41-linux-glibc2.12-x86_64.tar 文件后
    得到 mysql-5.7.41-linux-glibc2.12-x86_64.tar.gz 文件

    [root@localhost /]# mysql-5.7.41-linux-glibc2.12-x86_64.tar.gz
    
    • 1

    在这里插入图片描述

    3.2 解压tar.gz文件

    解压 mysql-5.7.41-linux-glibc2.12-x86_64.tar.gz 文件到 /az/ 文件夹

    在这里插入图片描述
    在这里插入图片描述

    3.3 修改文件夹名称

    修改文件夹名称为 mysql5.7

    [root@localhost az]# mv mysql-5.7.41-linux-glibc2.12-x86_64/ mysql5.7
    [root@localhost az]# ls
    mysql5.7
    
    • 1
    • 2
    • 3

    在这里插入图片描述

    3.4 更改文件夹权限

    为了避免权限问题,更改 mysql5.7 目录下所有文件夹所属的用户组、用户以及权限

    [root@localhost az]# chown -R mysql:mysql /az/mysql5.7/
    [root@localhost az]# chmod -R 755 /az/mysql5.7/
    
    • 1
    • 2

    在这里插入图片描述

    3.5 初始化mysql和获取密码

    **进入 /az/mysql5.7/bin/ 目录,编译安装并初始化 mysql **
    务必记住数据库管理员临时密码

    [root@localhost bin]# ./mysqld --initialize --user=mysql --datadir=/az/mysql5.7/data --basedir=/az/mysql5.7
    2023-02-23T22:43:52.131986Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
    ...
    ...
    2023-02-23T22:43:52.554378Z 1 [Note] A temporary password is generated for root@localhost: Pyq#VB8mieDS
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在这里插入图片描述

    3.6 编译my.cnf 配置文件

    3.6.1 修改 my.cnf 配置文件
    [root@localhost bin]# vim /etc/my.cnf
    
    [mysqld]
    datadir=/az/mysql5.7/data
    port = 3306
    sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
    symbolic-links=0
    max_connections=400
    innodb_file_per_table=1
    表名存储在磁盘是小写的,但是比较的时候是不区分大小写
    lower_case_table_names=1
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    在这里插入图片描述

    3.6.2 修改 my.cnf 权限
    [root@localhost bin]# chmod -R 755 /etc/my.cnf
    
    • 1

    3.7 编译mysql.server 文件

    因为没有安装下/usr/local/mysql目录下,所以需要修改成安装的/az/mysql5.7目录。

    [root@localhost bin]# vim /az/mysql5.7/support-files/mysql.server 
    
    • 1

    在这里插入图片描述

    4、设置mysql服务

    4.1 查询服务

    [root@localhost ~]# ps -ef | grep mysql
    root       2031   1778  0 06:27 pts/0    00:00:00 tar -x mysql-5.7.41-linux-glibc2.12-x86_64.tar
    root       2396   1778  0 06:55 pts/0    00:00:00 grep --color=auto mysql
    [root@localhost ~]# ps -ef | grep mysqld
    root       2398   1778  0 06:55 pts/0    00:00:00 grep --color=auto mysqld
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在这里插入图片描述

    4.2 启动服务

    [root@localhost ~]# /az/mysql5.7/support-files/mysql.server start
    Starting MySQL.Logging to '/az/mysql5.7/data/localhost.localdomain.err'.
     SUCCESS! 
    
    • 1
    • 2
    • 3

    4.3 添加软连接,并重启服务

    [root@localhost ~]# ln -s /az/mysql5.7/support-files/mysql.server /etc/init.d/mysql
    [root@localhost ~]# ln -s /az/mysql5.7/bin/mysql /usr/bin/mysql
    
    
    [root@localhost ~]# service mysql restart
    Shutting down MySQL.. SUCCESS! 
    Starting MySQL. SUCCESS! 
    [root@localhost ~]# 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    在这里插入图片描述

    5、使用并设置mysql

    5.1 登录mysql

    密码就是初始化时生成的临时密码

    [root@localhost ~]# mysql -u root -p
    Enter password: 
    
    • 1
    • 2

    在这里插入图片描述

    5.2 修改密码

    mysql> set password for root@localhost = password('root');
    Query OK, 0 rows affected, 1 warning (0.00 sec)
    
    mysql> 
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述

    6、设置远程访问

    6.1 开启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> update user set user.Host='%' where user.User='root';
    Query OK, 1 row affected (0.00 sec)
    Rows matched: 1  Changed: 1  Warnings: 0
    
    mysql> flush privileges;
    Query OK, 0 rows affected (0.00 sec)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    在这里插入图片描述

    6.2 设置开机自启

    将服务文件拷贝到init.d下,并重命名为mysql

    [root@localhost ~]# cp /az/mysql5.7/support-files/mysql.server /etc/init.d/mysqld
    
    • 1

    赋予可执行权限

    [root@localhost ~]# chmod +x /etc/init.d/mysqld
    
    • 1

    添加服务

    [root@localhost ~]# chkconfig --add mysqld
    
    • 1

    显示服务列表

    [root@localhost ~]# chkconfig --list
    
    • 1

    在这里插入图片描述

    6.3 开放3306端口

    开放3306端口命令

    [root@localhost ~]# firewall-cmd --zone=public --add-port=3306/tcp --permanent
    success
    
    • 1
    • 2

    重启防火墙

    [root@localhost ~]# firewall-cmd --reload
    success
    
    • 1
    • 2

    在这里插入图片描述

    6.4 远程连接测试

    在这里插入图片描述

    7、至此,mysql安装结束

    完结,撒花







    巧克力配酸奶

    Centos7 安装 MySQL5.7 步骤

    恪飞不慌

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

  • 相关阅读:
    element-plus日历组件el-calendar自定义内容,每天绑定不同的值
    CEPH-3:cephfs功能详解
    AtCoder ABC 319E 中国剩余定理
    股票量化投资:市值因子——商用因子模型:EAP.industry.Portfolio
    代码随想录第五十天|123.买卖股票的最佳时机III、188.买卖股票的最佳时机IV
    JavaScript和Java的区别是什么?
    Python数据分析--Numpy常用函数介绍(9)-- 与线性代数有关的模块linalg
    【webrtc】老版本的OnReceivedPayloadData 及VCMPacket
    数字IC手撕代码50题(11-20)
    Java版企业电子招标采购系统源码Spring Cloud + Spring Boot +二次开发+ MybatisPlus + Redis
  • 原文地址:https://blog.csdn.net/weixin_54626591/article/details/133907510