Centos7 安装 MySQL5.7 步骤

Centos7 安装 MySQL5.7 步骤

  • 前言:
  • 一 .使用yum源方式安装
    • 1、卸载系统自带 mariadb
          • 查看并卸载系统自带的 Mariadb
    • 2、下载并安装MySQL官方的 Yum
      • 2.1 下载mysql的yum源配置
      • 2.2 安装mysql的yum源
      • 2.3 使用yum方式安装mysql
        • 2.3.1 安装过程中报错解决
          • 问题描述
          • 解决方案
    • 3、使用并设置mysql
      • 3.1 启动mysql并查看状态
      • 3.2 获取临时密码
      • 3.3 登录mysql
      • 3.4 修改登录密码
    • 4、设置远程访问
      • 4.1 开启mysql的远程访问权限
      • 4.2 为firewalld添加开放端口3306
      • 4.3 远程连接测试
    • 5、至此,mysql安装结束
  • 二. 本地 tar 文件方式安装
    • 1、获取tar安装包文件
      • 1.1 下载mysql5.7安装包
      • 1.2 包上传到 Linux 服务器
        • 在 Linux 服务器根目录下创建两个文件夹:
        • 将下载好的 MySQL 安装包上传至 tools 文件夹下:
    • 2、安装前查看设置
      • 2.1 卸载 CentOS7 系统自带 mariadb
        • 查看并卸载系统自带的 Mariadb
      • 2.2 检查系统是否安装过 MySQL
        • 如果系统中 MySQL ,查询所有 MySQL 对应的文件夹,全部删除
      • 2.3 检查有无 MySQL 用户组
        • 检查有无 MySQL 用户组,没有则创建
          • 检查 mysql 用户组是否存在
          • 创建 mysql 用户组和用户
    • 3、安装 MySQL5.7
      • 3.1 解压下载的tar文件
      • 3.2 解压tar.gz文件
      • 3.3 修改文件夹名称
      • 3.4 更改文件夹权限
      • 3.5 初始化mysql和获取密码
      • 3.6 编译my.cnf 配置文件
        • 3.6.1 修改 my.cnf 配置文件
        • 3.6.2 修改 my.cnf 权限
      • 3.7 编译mysql.server 文件
    • 4、设置mysql服务
      • 4.1 查询服务
      • 4.2 启动服务
      • 4.3 添加软连接,并重启服务
    • 5、使用并设置mysql
      • 5.1 登录mysql
      • 5.2 修改密码
    • 6、设置远程访问
      • 6.1 开启mysql的远程访问权限
      • 6.2 设置开机自启
      • 6.3 开放3306端口
      • 6.4 远程连接测试
    • 7、至此,mysql安装结束







前言:

之前一直是在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

在这里插入图片描述

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  公共                                         视频  文档  音乐

在这里插入图片描述

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

在这里插入图片描述

2.3 使用yum方式安装mysql

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

在这里插入图片描述

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_64GPG  密钥配置为:file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
解决方案

运行命令: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

3、使用并设置mysql

3.1 启动mysql并查看状态

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

在这里插入图片描述

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=

在这里插入图片描述

3.3 登录mysql

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

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

在这里插入图片描述

3.4 修改登录密码

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

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

在这里插入图片描述

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

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

其中,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)

在这里插入图片描述

4.2 为firewalld添加开放端口3306

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

在这里插入图片描述

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
将下载好的 MySQL 安装包上传至 tools 文件夹下:
[root@localhost /]# ls /tools/
mysql-5.7.41-linux-glibc2.12-x86_64.tar

在这里插入图片描述

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

在这里插入图片描述

2.2 检查系统是否安装过 MySQL

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

在这里插入图片描述

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

2.3 检查有无 MySQL 用户组

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

3.4 更改文件夹权限

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

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

3.7 编译mysql.server 文件

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

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

在这里插入图片描述

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

在这里插入图片描述

4.2 启动服务

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

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 ~]# 

在这里插入图片描述

5、使用并设置mysql

5.1 登录mysql

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

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

在这里插入图片描述

5.2 修改密码

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

在这里插入图片描述

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 -ADatabase 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: 0mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

在这里插入图片描述

6.2 设置开机自启

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

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

赋予可执行权限

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

添加服务

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

显示服务列表

[root@localhost ~]# chkconfig --list

在这里插入图片描述

6.3 开放3306端口

开放3306端口命令

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

重启防火墙

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

在这里插入图片描述

6.4 远程连接测试

在这里插入图片描述

7、至此,mysql安装结束

完结,撒花







巧克力配酸奶

Centos7 安装 MySQL5.7 步骤

恪飞不慌

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/162469.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python爬虫练习,爬取iview,element组件库图标名称

简单的爬虫 先举一个爬取图片网站图片保存到本地文件夹的例子 原博客:http://t.csdnimg.cn/Cjv3o 这是一个图片网站 https://pic.netbian.com/ 在空白处右键,查看页面源代码,我们发现有具体内容的 我们使用下面的代码可以爬取这个页面所…

如何使用Python抓取PDF文件并自动下载到本地

目录 一、导入必要的库 二、发送HTTP请求并获取PDF文件内容 三、将PDF文件内容写入到本地文件中 四、完整代码示例 五、注意事项 六、错误处理和异常处理 七、进一步优化 总结 在Python中,抓取PDF文件并自动下载到本地需要使用几个不同的库。首先&#xff0…

工业交换机的应用场景

在选择工业交换机的时候,很多人会疑惑自己的场景是否适用工业交换机,工业交换机广泛应用于以下场景,大家可以参考了解 1. 工业自动化:工业交换机用于连接各种工业设备,如PLC(可编程逻辑控制器)、…

MSQL系列(四) Mysql实战-索引 Explain实战

Mysql实战-索引 Explain实战 前面我们讲解了索引的存储结构,我们知道了BTree的索引结构,也了解了索引最左侧匹配原则,到底最左侧匹配原则在我们的项目中有什么用?或者说有什么影响?今天我们来实战操作一下&#xff0c…

IDEA如何拉取gitee项目?

1.登录gitee 说明:打开idea,在设置上面搜索框输入gitee,然后登录gitee注册的账号。 2. 创建gitee仓库 说明:创建idea中的gitee仓库。 3.寻找项目文件 说明:为需要添加gitee仓库的项目进行添加。 4.项目右键 说明&a…

百度地图高级进阶开发:圆形区域周边搜索地图监听事件(覆盖物重叠显示层级\图像标注监听事件、setZIndex和setTop方法)

百度地图API 使用百度地图API添加多覆盖物渲染时,会出现覆盖物被相互覆盖而导致都无法触发它们自己的监听;在百度地图API里,map的z-index为0,但是触发任意覆盖物的监听如click时也必定会触发map的监听; 项目需求 在…

L2-030 冰岛人

2018年世界杯,冰岛队因1:1平了强大的阿根廷队而一战成名。好事者发现冰岛人的名字后面似乎都有个“松”(son),于是有网友科普如下: 冰岛人沿用的是维京人古老的父系姓制,孩子的姓等于父亲的名加后缀&#x…

AI系统ChatGPT源码+详细搭建部署教程+支持GPT4.0+支持ai绘画(Midjourney)/支持OpenAI GPT全模型+国内AI全模型

一、AI创作系统 SparkAi创作系统是基于OpenAI很火的ChatGPT进行开发的Ai智能问答系统AI绘画系统,支持OpenAI GPT全模型国内AI全模型。本期针对源码系统整体测试下来非常完美,可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。那么如何搭建部署…

基于梯度优化的BP神经网络(分类应用) - 附代码

基于梯度优化的BP神经网络(分类应用) - 附代码 文章目录 基于梯度优化的BP神经网络(分类应用) - 附代码1.鸢尾花iris数据介绍2.数据集整理3.梯度优化BP神经网络3.1 BP神经网络参数设置3.2 梯度算法应用 4.测试结果:5.M…

一、初识 Elasticsearch:概念,安装,设置分词器

文章目录 01、初识 Elasticsearch正向索引和倒排索引索引MySQL与ES的概念映射安装ES分词器分词器的设置结束语 01、初识 Elasticsearch 本次ES基于:7.12.1 版本 学习资源为:https://www.bilibili.com/video/BV1Gh411j7d6 什么是ES(Elastics…

解决jmeter软件显示为英文、返回数据乱码、设置编码格式的问题

一.jmeter软件每次打开都需要手动切换中文 1.修改配置文件,可以把jmeter设置成中文: 2.打开jmeter.properties配置文件,修改languagezh_CN 二.返回数据乱码 改配置文件 进入Jmeter的bin目录下,找到jmeter.properties文件&#…

Java构建Web项目

对无底线服务型的系统,业务代码和界面代码脚本化是及其重要的。一是脚本化能确保部署本地就是再用的代码,不存在为每个项目管理代码的问题。然后脚本化不需要人为编译和投放程序库。极大的简化维护难度和成本。能不能脚本化直接决定了能否全面铺开运维&a…

【爬虫教程】2023最详细的爬虫入门教程~

初识爬虫 学习爬虫之前,我们首先得了解什么是爬虫。 来自于百度百科的解释: 网络爬虫(又称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则&a…

React之受控组件和非受控组件以及高阶组件

一、受控组件 受控组件,简单来讲,就是受我们控制的组件,组件的状态全程响应外部数据 举个简单的例子: class TestComponent extends React.Component {constructor (props) {super(props);this.state { username: lindaidai }…

Java版本+企业电子招投标系统源代码+支持二开+招投标系统+中小型企业采购供应商招投标平台

功能模块: 待办消息,招标公告,中标公告,信息发布 描述: 全过程数字化采购管理,打造从供应商管理到采购招投标、采购合同、采购执行的全过程数字化管理。通供应商门户具备内外协同的能力,为外部供…

轻量级超分网络:Edge-oriented Convolution Block for Real-timeMM21_ECBSR 和 eSR

文章目录 ECBSR(Edge-oriented Convolution Block for Real-timeMM21_ECBSR)1. 作者目的是开发一个高效的适合移动端的超分网络。2. 作者决定使用plain net ,但是效果不好,因此利用重参数化方法,丰富特征表示。3. re-p…

openssl生成SM2公私钥对命令详解

(1)获得openssl支持椭圆曲线算法列表 命令:openssl ecparam -list_curves 返回结果: secp112r1 : SECG/WTLS curve over a 112 bit prime field secp112r2 : SECG curve over a 112 bit prime field secp128r1 : SE…

工程云平台源码 建筑工地劳务实名制、危大工程监管平台源码

智慧工地的核心是数字化,它通过传感器、监控设备、智能终端等技术手段,实现对工地各个环节的实时数据采集和传输,如环境温度、湿度、噪音等数据信息,将数据汇集到云端进行处理和分析,生成各种报表、图表和预警信息&…

[备忘]WindowsLinux上查看端口被什么进程占用|端口占用

Windows上 查看端口占用&#xff1a; netstat -aon|findstr <端口号> 通过进程ID查询进程信息 tasklist | findstr <上一步查出来的进程号> 图例&#xff1a; Linux 上 查看端口占用&#xff1a; netstat -tuln | grep <端口号> lsof -i:<端口号&…

安徽怀宁领导一行莅临蓝海彤翔集团参观考察

10月17日上午&#xff0c;中共怀宁县委书记余学峰&#xff0c;怀宁县政府副县长谭宪锋、怀宁县委办主任刘劲松、怀宁县招商中心副主任余飞、怀宁县委办四级主任科员彭俊等领导一行莅临蓝海彤翔集团参观考察&#xff0c;集团总裁鲁永泉、集团CTO穆凯辉接待了考察团一行。 考察团…