一、yum方式安装

1.由于centOS7中默认安装了MariaDB,需要先进行卸载

rpm -qa | grep -i mariadb
rpm -e --nodeps mariadb-libs-5.5.64-1.el7.x86_64


2、查询下本机mysql是否卸载干净

rpm -qa | grep mysql

3.下载MySQL仓库并安装

wget https://repo.mysql.com//mysql80-community-release-el7-3.noarch.rpm

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


4.安装MySQL数据库

yum -y install mysql-community-server

5.mysql服务命令

开启:systemctl start mysqld.service
关闭:systemctl stop mysqld.service
重启:systemctl restart mysqld.service

6.查看mysql默认密码并登陆

cat /var/log/mysqld.log | grep password


登入Mysql:

mysql -uroot -p

二、rpm方式安装


下载mysql5.7的话点击这里跳转至下载页面


解压tar包

依次安装所需要的rpm包即可

rpm -ivh mysql-community-common-8.0.23-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-8.0.23-1.el7.x86_64.rpm --force --nodeps
rpm -ivh mysql-community-libs-compat-8.0.23-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-plugins-8.0.23-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-8.0.23-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-8.0.23-1.el7.x86_64.rpm

安装完成后可以查看下已安装的组件

rpm -qa | grep mysql


之后mysql的配置同上所述

相关软件包(根据需要安装即可)

mysql-community-client-5.7.18-1.el7.x86_64.rpm 客户端

mysql-community-devel-5.7.18-1.el7.x86_64.rpm 开发库

mysql-community-embedded-5.7.18-1.el7.x86_64.rpm 嵌入式

mysql-community-server-5.7.18-1.el7.x86_64.rpm 服务端

mysql-community-libs-5.7.18-1.el7.x86_64.rpm 共享库

mysql-community-test-5.7.18-1.el7.x86_64.rpm 测试组件

三、MySQL相关配置修改

1.修改初始密码(若想改为弱密码)

SHOW variables LIKE ‘validate_password%’;

注:有可能遇到如下图情况,此时先修改密码为强密码,便可以继续进行修改密码验证策略操作(这里注意,填写密码的时候满足8位并且尽量是混合密码(英文、下划线、数字))

将密码验证策略改为LOW,密码长度4位以上

1 set global validate_password.policy=0;
2 set global validate_password.length=4; #重启MySQL后失效


此时再进行修改密码操作,可以修改为弱密码了

ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘your password’;

注:my.conf文件在/etc/cnf 中,以后可在这里进行Mysql的配置

2.设置远程连接(前提:关闭防火墙或开放3306端口)

在实际工作中,经常会用到诸如DBeaver、Navicat等的数据库管理工具进行远程连接mysql数据库,需要设置允许远程连接。

在mysql数据库的user表中查看host,默认只允许localhost访问

只需将localhost改为%允许任意地址访问即可

update user set host = ‘%’ where user = ‘root’;
flush privileges; # 刷新权限 权限更新后刷新才会起作用


注:如果使用客户端连接提示了plugin caching_sha2_password错误,这是因为MySQL8.0的密码策略默认为caching_sha2_password(MySQL5.7无此问题)

update user set plugin = ‘mysql_native_password’ where user = ‘root’;
flush privileges; # 刷新权限 权限更新后刷新才会起作用

注:记得改完 mysql_native_password之后,要修改密码,以便造成不必要的麻烦(因为密码策略已更改)

如果使用DBeaver建立MySQL 8+连接,无需修改默认密码策略,但可能会提示Public Key Retrieval is not allowed错误



这是因为MySQL8.0的密码策略默认为caching_sha2_password认证,密码在传输过程中必须使用 SSL 协议保护,但是如果 RSA 公钥不可用,可以使用服务器提供的公钥;需要修改AllowPublicKeyRetrieval=True参数以允许客户端从服务器获取公钥,在Dbeaver的修改如下:


修改完成后可以正确建立远程连接

3.my.cnf配置文件简介

前言:若使用rpm方式安装,可能无/etc/my.cnf配置文件,需将/usr/share/mysql目录下配置文件复制至/etc目录下

cp /usr/share/mysql/my-large.cnf /etc/my.cnf

[client]

port = 3306

socket = /var/run/mysql/mysql.sock

[mysqldump]

quick

max_allowed_packet = 16M

以上参数会被 MySQL 客户端应用读取,参数说明如下:

  1. port:MySQL 客户端连接服务器端时使用的端口号,默认为 3306
  2. socket:套接字文件所在目录
  3. quick:支持较大的数据库转储,导出非常巨大的表时需要此项。
  4. max_allowed_packet:服务所能处理的请求包的最大大小以及服务所能处理的最大的请求大小(当与大的BLOB字段一起工作时相当必要),每个连接独立的大小,大小动态增加。

[mysqld]

user = mysql

basedir = /usr/local/mysql

datadir = /mydata/mysql/data

port = 3306

server-id = 1

socket = /var/run/mysql/mysql.sock

上述参数说明如下:

  1. user:mysqld 程序在启动后将在给定 UNIX/Linux 账户下执行。mysqld 必须从 root 账户启动才能在启动后切换到另一个账户下执行。mysqld_safe 脚本将默认使用 user=mysql 选项来启动 mysqld 程序。
  2. basedir:指定 MySQL 安装的绝对路径;
  3. datadir:指定 MySQL 数据存放的绝对路径;
  4. port:服务端口号,默认为 3306
  5. server-id:MySQL 服务的唯一编号,每个 MySQL 服务的 id 需唯一。
  6. socket:socket 文件所在目录

character-set-server = utf8mb4

collation-server = utf8mb4_general_ci

init_connect = ‘SET NAMES utf8mb4’

lower_case_table_names = 1

key_buffer_size = 16M

max_allowed_packet = 8M

no-auto-rehash

sql_mode=TRADITIONAL

skip-grant-tables

  1. character-set-server:数据库默认字符集
  2. collation-server:数据库字符集对应一些排序等规则,注意要和character-set-server对应
  3. init_connect:设置client连接mysql时的字符集,防止乱码
  4. lower_case_table_names:是否对sql语句大小写敏感,1表示不敏感(MySQL8.0+需要初始化之前设置)
  5. key_buffer_size:用于指定索引缓冲区的大小
  6. max_allowed_packet:设置一次消息传输的最大值
  7. no-auto-rehash:仅仅允许使用键值的UPDATES和DELETES
  8. sql_mode:表示 SQL 模式的参数,通过这个参数可以设置检验 SQL 语句的严格程度
  9. skip-grant-tables:跳过密码验证 (平时不要开启,忘记root密码时再使用)

忘记root密码时:

重置root密码为空(开启skip-grant-tables)

UPDATE mysql.user SET authentication_string = ‘’ WHERE user = ‘root’;

四、课外小知识

最后:给大家推荐一个不错的Mysql学习网站:http://c.biancheng.net/mysql/

数据库(Database)指长期存储在计算机内的、有组织的、可共享的数据集合。数据库实际上就是一个文件集合,是一个存储数据的仓库,本质就是一个文件系统,按照特定的格式把数据存储起来。
数据库管理系统(DBMS)是数据库系统的核心软件之一,是位于用户与操作系统之间的数据管理软件,用于建立,使用和维护数据库。它的主要功能包括数据定义、数据操作、数据库的运行管理、数据库的建立和维护等几个方面。
我们常说 XX 数据库,其实实质上是 XX 数据库管理系统。目前,较为流行的数据库管理系统有 MySQL、SQL Server、Oracle 和 DB2 等。

关系型数据库

关系型数据库是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。简单说,关系型数据库是由多张能互相连接的表组成的数据库。

优点

  1. 都是使用表结构,格式一致,易于维护。
  2. 使用通用的 SQL 语言操作,使用方便,可用于复杂查询。
  3. 数据存储在磁盘中,安全。

缺点

  1. 读写性能比较差,不能满足海量数据的高效率读写。
  2. 不节省空间。因为建立在关系模型上,就要遵循某些规则,比如数据中某字段值即使为空仍要分配空间。
  3. 固定的表结构,灵活度较低。
常见的关系型数据库有 Oracle、DB2、PostgreSQL、Microsoft SQL Server、Microsoft Access和MySQL等。

非关系型数据库

非关系型数据库又被称为 NoSQL(Not Only SQL ),意为不仅仅是 SQL。通常指数据以对象的形式存储在数据库中,而对象之间的关系通过每个对象自身的属性来决定。

优点

  1. 非关系型数据库存储数据的格式可以是 key-value 形式、文档形式、图片形式等。使用灵活,应用场景广泛,而关系型数据库则只支持基础类型。
  2. 速度快,效率高。 NoSQL 可以使用硬盘或者随机存储器作为载体,而关系型数据库只能使用硬盘。
  3. 海量数据的维护和处理非常轻松。
  4. 非关系型数据库具有扩展简单、高并发、高稳定性、成本低廉的优势。
  5. 可以实现数据的分布式处理。

缺点

  1. 非关系型数据库暂时不提供 SQL 支持,学习和使用成本较高。
  2. 非关系数据库没有事务处理,没有保证数据的完整性和安全性。适合处理海量数据,但是不一定安全。
  3. 功能没有关系型数据库完善。
常见的非关系型数据库有 Neo4j、MongoDB、Redis、Memcached、MemcacheDB 和 HBase 等。

centOS7.9安装MySQL教程相关推荐

  1. 阿里云Centos7上安装MySQL教程

    阿里云Centos7上安装MySQL教程 1 基本安装过程 1.查看系统是否安装了mysql软件 # rpm -qa|grep -i mysql 2.将已经安装过的软件卸载掉.注意:这样的卸载是不彻底 ...

  2. 阿里云centos 7.6安装mysql_阿里云Centos7上安装MySQL教程

    1 基本安装过程 1.查看系统是否安装了mysql软件 # rpm -qa|grep -i mysql 2.将已经安装过的软件卸载掉.注意:这样的卸载是不彻底,不过这里够用了 # yum remove ...

  3. centos7虚拟机安装mysql_Linux CentOS7 虚拟机安装mysql教程

    a)下载mysql源安装包: [root@localhost ~]# wgethttp://dev.mysql.com/get/mysql57-community-release-el7-8.noar ...

  4. centos7.4安装MySQL

    centos7.4安装MySQL 前言 本文记录`centos7.4安装MySQL过程和遇到的问题. 一.虚拟机安装centos7.4 可以参考:安装教程 里面有详细的安装教程和配置说明. 二.cen ...

  5. centos7.2安装mysql 1

    阿里云centos7.2安装mysql 一.查看是否安装mysql rpm -qa | grep mysql 什么都没显示,说明没有安装 二.进入到opt目录下,使用wget下载官方yum源的rpm包 ...

  6. mysql-win安装教程,WINDOWS下安装MYSQL教程详解

    1.下载安装包 2.配置环境变量 2.1 解压所下载的压缩包 2.2 环境变量 win 10 电脑 这么进去 3.生成data文件 在你解压的目录下,eg:F:\Program Files\mysql ...

  7. mysql rpm conflict_解决centos7 yum安装MySQL rpm包出现conflict problem

    解决centos7 yum安装MySQL rpm包出现conflict problem 发布时间:2020-07-24 06:33:51 来源:51CTO 阅读:1868 作者:运维天空 [root@ ...

  8. 阿里云centos mysql_阿里云ECS服务器CentOS7上安装MySql服务-阿里云开发者社区

    阿里云ECS服务器CentOS7上安装MySql服务 ---------------------------------------------- 使用root登录 1.确保服务器系统处于最新状态 [ ...

  9. 阿里云服务器——centos7下安装MySQL,并且实现远程连接

    centos7下安装MySQL,并且实现远程连接 1.先查看MySQL是否安装 rpm -qa|grep mysql 2.更新yum源 wget https://dev.mysql.com/get/m ...

最新文章

  1. 基于 Python 环境搭建 - YOLO 实现吸烟行为监测
  2. 如何让linux加载当前目录的动态库
  3. 基于颜色特征的图像匹配MATLAB,基于颜色特征的图像检索系统 这是个MATLAB程序 - 下载 - 搜珍网...
  4. python常用单词下载_python编程词汇
  5. 原理图连线有错误提醒_拔罐方法不对=缩短生命,中医提醒,拔火罐警惕三个禁忌...
  6. C# 调用WSDL接口及方法
  7. Raspberry Pi 2 Model B Pi4J 示例
  8. linux 卸载kde,Ubuntu KDE终端系统安装与卸载
  9. Scrapy 框架入门
  10. IDEA项目找不到浏览器报错的情况
  11. 游戏扫码登录器程序PHP源码版
  12. supervisor linux下进程管理工具
  13. python多重继承super父类参数_python – 多重继承如何与super()和不同的__init __()参数一起使用?...
  14. Mapping Text to Knowledge Graph Entities using Multi-Sense LSTMs
  15. 休闲甜品店创业计划书_甜品店创业计划书
  16. mysql zf_ZF 连接 Mysql
  17. Linux下安装jdk1.7
  18. 直接ISO启动工具ventoy
  19. 人工智能的核心技术是什么?
  20. oracle bloom过滤,[20180112]11g关闭bloom filter.txt

热门文章

  1. 小说作者推荐:半截白菜合集
  2. PS亮度蒙版工具:Lumenzia for Mac(支持ps2022)
  3. LocalDate转换成英文格式
  4. 惠而浦将斥资30亿美元收购艾默生电气旗下爱适易;高通和格芯签署一项长期制造协议 | 美通企业日报...
  5. 快速拿下CKA认证考试,这些要求和tips你得知道
  6. C#不用ArcEngine,生成Shp文件(五)---------读取.shx文件和生成.shx文件
  7. 移动开发周刊:Android ImageView正确使用、WebView与JS交互解析
  8. Java进度条(excel文件解析)的实现
  9. 2021-05-11 MongoDB面试题 MongoDB中的命名空间是什么意思
  10. STM32F10×××系列的PC13、PC14、PC15引脚用作普通IO口配置方法