您的当前位置:首页>全部文章>文章详情

【MySql】Centos7 安装 MySQL5.7 步骤

CrazyPanda发表于:2023-11-30 00:02:56浏览:2098次TAG:

【转】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 mariadbmariadb-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 mariadb1234

1.png

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 ~]# lsanaconda-ks.cfg       mysql57-community-release-el7-11.noarch.rpm  模板  图片  下载  桌面
initial-setup-ks.cfg  公共                                         视频  文档  音乐12345678910111213

1.png

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.repo123456789101112131415

1.png

2.3 使用yum方式安装mysql

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

1.png

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-mysql12345678
  • 解决方案
    运行命令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-server1234

3、使用并设置mysql

3.1 启动mysql并查看状态

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

1.png

3.2 获取临时密码

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

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

1.png

3.3 登录mysql

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

[root@localhost ~]# mysql -u root -pEnter password:12

1.png

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)12

1.png

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)12345

1.png

4.2 为firewalld添加开放端口3306

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

1.png

4.3 远程连接测试

1.png

5、至此,mysql安装结束

完结,撒花

(二)、本地 tar 文件方式安装

1、获取tar安装包文件

1.1 下载mysql5.7安装包

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

1.png

1.2 包上传到 Linux 服务器

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

  • 在 Linux 服务器根目录下创建两个文件夹:

    • tools 文件夹,存放软件安装包

    • az 文件夹,存放安装后的软件

[root@localhost /]# cd /[root@localhost /]# mkdir tools[root@localhost /]# mkdir az123
  • 将下载好的 MySQL 安装包上传至 tools 文件夹下:

[root@localhost /]# ls /tools/mysql-5.7.41-linux-glibc2.12-x86_64.tar12

1.png

2、安装前查看设置

2.1 卸载 CentOS7 系统自带 mariadb

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

在 CentOS 7 中默认安装有 MariaDB

  • 查看并卸载系统自带的 Mariadb

[root@localhost /]# rpm -qa|grep mariadbmariadb-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 mariadb1234

1.png

2.2 检查系统是否安装过 MySQL

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

1.png

  • 如果系统中 MySQL ,查询所有 MySQL 对应的文件夹,全部删除

 [root@localhost /]# whereis mysql [root@localhost /]# find / -name mysql12

2.3 检查有无 MySQL 用户组

检查有无 MySQL 用户组,没有则创建

  • 检查 mysql 用户组是否存在

[root@localhost /]# cat /etc/group | grep mysql[root@localhost /]# cat /etc/passwd | grep mysql12
  • 创建 mysql 用户组和用户

[root@localhost /]# groupadd mysql[root@localhost /]# useradd -r -g mysql mysql12

1.png

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.gz1

1.png

3.2 解压tar.gz文件

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

1.png

1.png

3.3 修改文件夹名称

  • 修改文件夹名称为 mysql5.7

[root@localhost az]# mv mysql-5.7.41-linux-glibc2.12-x86_64/ mysql5.7[root@localhost az]# lsmysql5.7123

1.png

3.4 更改文件夹权限

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

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

1.png

3.5 初始化mysql和获取密码

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

[root@localhost bin]# ./mysqld --initialize --user=mysql --datadir=/az/mysql5.7/data --basedir=/az/mysql5.72023-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#VB8mieDS12345

image-20230223224433026

3.6 编译my.cnf 配置文件

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

1.png

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

3.7 编译mysql.server 文件

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

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

1.png

4、设置mysql服务

4.1 查询服务

[root@localhost ~]# ps -ef | grep mysqlroot       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 mysqldroot       2398   1778  0 06:55 pts/0    00:00:00 grep --color=auto mysqld12345

1.png

4.2 启动服务

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

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 restartShutting down MySQL.. SUCCESS! 
Starting MySQL. SUCCESS! 
[root@localhost ~]# 12345678

1.png

5、使用并设置mysql

5.1 登录mysql

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

[root@localhost ~]# mysql -u root -pEnter password:12

1.png

5.2 修改密码

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

1.png

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)1234567891011

1.png

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 --list1234567891011

1.png

6.3 开放3306端口

开放3306端口命令[root@localhost ~]# firewall-cmd --zone=public --add-port=3306/tcp --permanentsuccess

重启防火墙[root@localhost ~]# firewall-cmd --reloadsuccess1234567

1.png

6.4 远程连接测试

1.png

7、至此,mysql安装结束

完结,撒花

猜你喜欢

【MySQL】表操作
第三篇:表操作#一、什么是表#表相当于文件,表中的一条记录就相当于文件的一行内容,不同的是,表中的一条记录有对应的标题,称为表的字段二、创建表#语法CREATE TABLE 表名( 字段名1  类型[(宽度)约束条件], 字段名1  类型[(宽度)约束条件], 字段名1  类型[(宽度)约束条件] )ENGINE=innodb DEFAULT CHARSET utf8; create
发表于:2024-06-21 浏览:272 TAG: #mysql
【MySql】MySQL表的内外连接和视图
内外连接一、表的内外连接(1)左外连接(2)右外连接1. 内连接2. 外连接3. 练习二、视图1. 视图的使用2. 视图规则和限制一、表的内外连接表的连接分为内连和外连。1. 内连接内连接实际上就是利用 where 子句对两种表形成的笛卡尔积进行筛选,我们前面学习的查询都是内连接,也是在开发过程中使用的最多的连接查询。语法: select 字段 from 表1 inner join 表2 on 连接条件&nbs
发表于:2024-01-30 浏览:368 TAG:
【MySql】怎么利用聚合函数实现高效地分组统计?
文章目录聚合函数:怎么高效地进行分组统计?sum( )avg( ) & max( ) & min( )count( )聚合函数:怎么高效地进行分组统计?MySQL中有5种聚合函数较为常用,分别是求和函数sum(), 求平均函数avg(), 最大值函数max(), 最小值函数min()和计数函数count()。在超市项目中有一个需求是这样的:经营者提出,他们需要统计一个门店,每天、每个单品的销售情况,包括销售数量和销售金额等。这里涉及3个数据表,具体信息如下所示:销售明细表demo
发表于:2023-12-08 浏览:385 TAG:
【MySql】MySQL产生死锁的根本原因及解决方法
概念死锁是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去.此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等的进程称为死锁进程一、 什么是死锁死锁是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去.此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等的进程称为死锁进程.二、 死锁产生的四个必要条件互斥条件:指进程对所分配到的资源进行排它性使用,即在一段时间内某资源只
发表于:2024-03-13 浏览:283 TAG:
【MySql】mysql 数据库通过拷贝data文件恢复(物理恢复)
1、把data内数据库(MySQL5.7.26/data)拷贝到另外一台服务器一个文件夹是一个数据库,看是全部拷贝还是单个拷贝都可以2、 删除数据库下的.ibd(数据文件)和.frm(结构文件), db.opt不要删除(db.opt每个数据库文件只有一个) 3、执行建表sql,新建一样的表结构(新的要还原的数据库)把原数据库表结构导出一份,导入到新数据库4、执行下面语句删除数据库.ibd文件,从原数据库中拷贝.ibd过来;单表操作删除ALTER TABLE&nbs
发表于:2024-01-24 浏览:321 TAG:
【MySql】MySql给数据库表添加新字段
要在MySQL中添加新字段,您可以使用ALTER TABLE语句。以下是添加新字段的基本语法:ALTER TABLE table_name ADD column_name datatype;其中:table_name 是您要在其中添加新字段的表的名称。column_name 是新字段的名称。datatype 是新字段的数据类型。例如,VARCHAR、INT或DOUBLE等。以下是一个示例ALTER TABLE语句,演示如何向名为user的表添加一
发表于:2024-09-03 浏览:241 TAG: #mysql
【MySql】mysql explain 查询详解
MySQL 的 EXPLAIN 语句是一个强大的工具,用于分析和优化查询的执行计划。它提供了关于 MySQL 如何执行查询的详细信息,包括表的访问顺序、访问方法、使用的索引、连接类型等。以下是 EXPLAIN 查询的详细解释:
发表于:2025-02-21 浏览:69 TAG: #mysql
【MySQL】MySql中的锁(表锁,行锁)
    锁是计算机协调多个进程或纯线程并发访问某一资源的机制。在数据库中,除传统的计算资源(CPU、RAM、I/O)的争用以外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所在有数据库必须解决的一个问题,锁冲突也是影响数据库并发访问性能的一个重要因素。从这个角度来说,锁对数据库而言显得尤其重要,也更加复杂。 概述    相对其他数据库而言,MySQL的锁机制比较简单,其最显著的特点是不同的存储引擎支持不同的锁机制。My
发表于:2024-06-16 浏览:233 TAG:
【MySQL】mysql中不推荐使用uuid或者雪花id作为主键的原因以及差异化对比
文章目录前言什么是UUID?什么是雪花ID?什么是MySql自增ID?优缺点对比应用场景总结写在最后优点缺点1.简单易用2.唯一性3.效率高4.索引效率高1.不适用于分布式系统2.不适用于需要保密的场景3.查询效率低优点缺点1.分布式环境下唯一性1.依赖于机器时钟2.存储空间较大3.查询效率低优点缺点1.全球唯一性2.无需数据库支持1.存储空间大2.索引效率低3.查询效率低UUID:雪花ID:MYS
发表于:2023-11-30 浏览:2082 TAG:
【MySql】mysql 将数据库中的所有表结构和数据 导入到另一个库(亲测有效)
一、问题描述在本地开发一个功能,需要结合具体数据测试代码是否正确,但服务器上的数据不可随便修改。此时则需要将服务器上某个数据库的表批量导入到本地、而后进行测试。将数据库db1中的所有表及数据(如table1、table2),批量导入到另一个数据库db2中。二、解决方案刚开始自己一直尝试用DataGrip、Navicat的sql/csv格式导入导出,总有错误或者遗漏,比如报错中止、50张表却只导入32张等,可能是操作方式有误或者数据格式有问题。也试过用sql语句,但仍失败。经查阅资料、尝试多次,终
发表于:2024-01-30 浏览:371 TAG: