mysql8.0.23 linux(centos7)安装完整超详细教程

上篇文章给大家介绍了MySQL 8.0.23 主要更新一览(新特征解读) ,感兴趣的朋友点击查看吧!

最新版windows mysql-8.0.23-winx64,点击下载

mysql8.0.23 linux(centos7)安装教程(附:配置外网连接用户授权 与 不区分大小写配置)

(博主在这里叨叨几句,稍后进入正题。在使用开发过程中,有时候数据库结合使用,会成倍提高程序效率)

什么是关系型数据库?

常见的关系型数据库:
(其实博主也只使用过 MySQL Oracle sqlServer)
Oracle、DB2、PostgreSQL、Microsoft SQL Server、Microsoft Access、MySQL

  • 关系型数据库是依据关系模型来创建的数据库。
  • 所谓关系模型就是“一对一、一对多、多对多”等关系模型,关系模型就是指二维表格模型,因而一个关系型数据库就是由二维表及其之间的联系组成的一个数据组织。
  • 关系型数据可以很好地存储一些关系模型的数据,比如一个老师对应多个学生的数据(“多对多”),一本书对应多个作者(“一对多”),一本书对应一个出版日期(“一对一”)
  • 关系模型是我们生活中能经常遇见的模型,存储这类数据一般用关系型数据库
  • 关系模型包括数据结构(数据存储的问题,二维表)、操作指令集合(SQL语句)、完整性约束(表内数据约束、表与表之间的约束)。

关系型数据库的特点:
安全(因为存储在磁盘中,不会说突然断电数据就没有了)、容易理解(建立在关系模型上)、但不节省空间(因为建立在关系模型上,就要遵循某些规则,好比数据中某字段值即使为空仍要分配空间)

什么是非关系型数据库?

  • 非关系型数据库主要是基于“非关系模型”的数据库(由于关系型太大,所以一般用“非关系型”来表示其他类型的数据库)非关系型模型比如有:

列模型:存储的数据是一列列的。关系型数据库以一行作为一个记录,列模型数据库以一列为一个记录。(这种模型,数据即索引,IO很快,主要是一些分布式数据库)
键值对模型:存储的数据是一个个“键值对”,比如name:liming,那么name这个键里面存的值就是liming
文档类模型:以一个个文档来存储数据,有点类似“键值对”。

博主本机未安装其它非关系型数据库(此处就不一 一截图啦~)

效率高(因为存储在内存中)、但不安全(断电丢失数据,但其中redis可以同步数据到磁盘中),现在很多非关系型数据库都开始支持转存到磁盘中。

mysql8.0 版本特性与介绍

相关文献地址
https://dev.mysql.com/doc/
mysql server 文献页
https://dev.mysql.com/doc/refman/8.0/en/

性能提升级。官方表示MySQL 8.0 的速度要比 MySQL 5.7 快 2 倍。MySQL 8.0 在读/写工作负载、IO 密集型工作负载、以及高竞争工作负载时相比MySQL5.7有更好的性能

(阿里云的图片 )

2、更强的NoSQL文档支持。MySQL 从 5.7 版本开始提供 NoSQL 存储功能,目前在 8.0 版本中这部分功能也得到了更大的改进。该项功能消除了对独立的 NoSQL 文档数据库的需求,而 MySQL 文档存储也为 schema-less 模式的 JSON 文档提供了多文档事务支持和完整的 ACID 合规性。

(阿里云的图片 )

窗口函数。也就是在满足某种条件的记录集合上执行的特殊函数。它可以用来实现若干新的查询方式。窗口函数与 SUM()、COUNT() 这种集合函数类似,但它不会将多行查询结果合并为一行,而 是将结果放回多行当中。即窗口函数不需要 GROUP BY。窗口函数的使用,将大大提高相关的分析型场景的效率。

UTF-8编码。从MySQL8.0开始,使用utf8mb4 作来MySQL的默认字符集,并支持 Unicode 9,默认字符集将从 latin1 改为 utf8mb4,默认定序collation将从latin1_swedish_ci 改为 utf8mb4_800_ci_ai;

隐藏索引。可以将索引通过命令设置为 隐藏 或 显示。对于被 隐藏 的索引,它不会被查询优化器所使用,我们可以使用这一功能,对相关的查询进行性能调试,通过 隐藏 或 显示,分析数据库性能差异的原因,同时也可以去除无效的索引。

隐藏一个索引:

ALTER TABLE TABLENAME ALTER INDEX IDXNAME INVISIBLE;

恢复显示该索引

ALTER TABLE TABLENAME ALTER INDEX IDXNAME VISIBLE;

持久化设置。MySQL8.0 新增 SET PERSIST 的命令,该命令的配置值保存到数据目录下的mysqld-auto.cnf文件中,待重启后,读取该文件,用其中的配置覆盖缺省的配置文件,补充了SET GLOBAL 命令只能临时生效的不足;
命令的使下如:

恢复显示该索引

SET PERSIST max_connections = 400;

重构 BLOB。重构 BLOB 加速了片段读取/更新操作,可以加速 JSON 数据的操作。大幅改进了对 JSON 的支持,添加了基于路径查询参数从 JSON 字段中抽取数据的 JSON_EXTRACT() 函数,以及用于将数据分别组合到 JSON 数组和对象中的 JSON_ARRAYAGG() 和 JSON_OBJECTAGG() 聚合函数。

事务性数据字典。完全脱离了 MyISAM 存储引擎,真正将数据字典放到了 InnoDB 中的一些表中,不再需要 FRM、TRG、PAR 等文件;Information Schema 现在以数据字典表的一个视图出现。也就是原则上可以不需要 MyISAM 数据表类型,系统表都可以放到 InnoDB 之中。

SQL 角色。可以创建角色,给用户设置或去除角色,大大方便权限的管理。

其实还有很多相关特性,这里只是挑了些个人觉得比较重要的,要了解更多的信息,可以通过上述的文档链接查看。

mysql8.0.23 安装 第一步 下载二进制文件(安装包)

官网地址
https://www.mysql.com/
(随着版本更新官网下载位置的入口可能会改变)

下载mysql二进制文件,匹配自己的linux版本

第二步 上传文件到指定文件夹下并解压

cd /opt/mysql
tar -xvf mysql-8.0.23-linux-glibc2.12-x86_64.tar.xz
mv mysql-8.0.23-linux-glibc2.12-x86_64 mysql-8.0.23 # 解压出来的文件夹名称较长,此处我们可以稍做修改

第三步 创建用户组以及用户和密码 并授权

创建用户组以及用户和密码
 groupadd mysql
 useradd -g mysql mysql

授权用户 (如:下列配置my.cnf 时指定的目录都需给mysql 用户授权)
	chown -R mysql.mysql /opt/mysql/mysql-8.0.23

第四步 初始化基础信息 (切记切记 设置不区分大小写得在初始化时设置)

创建 data 数据存储目录
 mkdir data
切换到bin 目录下
 cd bin
初始化基础信息 切记切记切记mysql8 一定要在初始化时设置 不区分大小写,不然后续修改和删除重装没区别
初始化后在原始my.con 下lower_case_table_names = 1 是无效的,所以一定要在初始化时加上 --lower-case-table-names=1
 ./mysqld --user=mysql --basedir=/opt/mysql/mysql-8.0.23 --datadir=/opt/mysql/mysql-8.0.23/data/ --initialize --lower-case-table-names=1

得到系统初始化随机默认密码,此处得记录下密码,后续操作需要(敲黑板)

第五步 编辑my.cnf文件

my.cnf 还有很多可设置属性,详情请查看官方文档,此处仅设置主要参数
配置my.cnf 的文件路径 文件夹必须存在(不存在文件时,启动会提示文件不存在)

 #设置mysql的安装目录
basedir=/opt/mysql/mysql-8.0.23
 #设置mysql数据库的数据的存放目录
datadir=/opt/mysql/mysql-8.0.23/data
 #设置客户端默认字符集
character-set-server=UTF8MB4
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
#设置是否区分大小写(初始化后此参数在这里也必须存在)
lower_case_table_names=1
# 默认使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password
#注释mysqld_safe 下的所有配置 系统会输出到 datadir目录下
#[mysqld_safe]
#log-error=/var/log/mysqld.log
#pid-file=/var/run/mysqld/mysqld.pid

第六步 添加mysqld服务到系统 授权以及添加服务

 进入主目录
 cd /opt/mysql/mysql-8.0.23
添加mysqld服务到系统
 cp -a ./support-files/mysql.server /etc/init.d/mysql
授权以及添加服务
 chmod +x /etc/init.d/mysql
 chkconfig --add mysql

第七步 启动服务 建立服务同步连接

 service mysql start #服务启动
 service mysql status #查看服务状态
 service mysql stop #停止服务
 service mysql restart #重启服务

当个别小伙伴启动服务的时候可能会提示文件夹没有权限 ,日志在 datadir 下可查看 设置mysql 权限即可

如:

chown -R mysql:mysql /opt/mysql/mysql-8.0.23/data

建立服务同步连接(不明白 ln -s 的小伙伴可以百度查询一下该命令的作用 )

 ln -s /opt/mysql/mysql-8.0.23/bin/mysql /usr/bin

第八步 登录mysql 并修改密码

#进入mysql 控台
mysql mysql -uroot -p
#修改密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';
#刷新权限
flush privileges; 

第九步 配置外网连接授权

#选择mysql数据库
 use mysql;
 #修改root 用户的连接地址现在 localhost 为本机 也可指定固定ip 此处 % 开启所有ip访问
 update user set host='%' where user='root';
 #刷新权限
 flush privileges;

最后一步 退出控台 外网远程连接测试 (安装完毕)

exit;

到此这篇关于mysql8.0.23 linux(centos7)安装完整超详细教程的文章就介绍到这了,更多相关linux mysql8.0.23安装内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • MySQL 8.0.23 主要更新一览(新特征解读)

    作者:管长龙 爱可生交付服务部 DBA,主要负责 MySQL 及 Redis 的日常问题处理,参与公司数据库培训的教研授课及开源社区的运营工作. 本文来源:原创投稿 * 爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源. 上篇文章给大家介绍了MySQL8.0.23安装超详细教程 ,感兴趣的朋友点击查看. MySQL 8.0.23 已于作日发布,目前发布频率稳定保持 3 个月一次.本次发布是维护版本,除了修复一些 Bug,此版本还增添了一些新功能. 一.不可见列 列可以定

  • MySQL8.0.23安装超详细教程

    前言 最近在做一个人脸识别的项目,需要用数据库保存学生信息与前段交互. MySQL的优点 1.mysql性能卓越,服务稳定,很少出现异常宕机. 2.mysql开放源代码且无版权制约,自主性及使用成本低. 3.mysql历史悠久,社区及用户非常活跃,遇到问题,可以寻求帮助. 提示:以下是本篇文章正文内容,下面案例可供参考 一.官网下载MySQL 地址:https://dev.mysql.com/downloads/mysql/ 可以按照我的版本下载,也可以下载你想要的版本,过程都是差不多的 二.配

  • mysql8.0.23 linux(centos7)安装完整超详细教程

    上篇文章给大家介绍了MySQL 8.0.23 主要更新一览(新特征解读) ,感兴趣的朋友点击查看吧! 最新版windows mysql-8.0.23-winx64,点击下载 mysql8.0.23 linux(centos7)安装教程(附:配置外网连接用户授权 与 不区分大小写配置) (博主在这里叨叨几句,稍后进入正题.在使用开发过程中,有时候数据库结合使用,会成倍提高程序效率) 什么是关系型数据库? 常见的关系型数据库: (其实博主也只使用过 MySQL Oracle sqlServer) O

  • mysql-canal-rabbitmq 安装部署超详细教程

    原文 1.1. 开启 MySQL 的 binlog 日志 1.修改 my.cnf 或 my.ini(windows), 添加配置项: # binlog 日志存放路径 log-bin=D:\env\mysql-5.7.28-winx64\binlog # 日志中记录每一行数据被修改的形式 binlog-format=ROW # 当前机器的服务 ID, 如果为集群时不能重复 server_id=1 2.重启 mysql 服务后, 查看配置变量是否生效: mysql> show variables l

  • linux下安装ffmpeg的详细教程

    一.centos linux下安装ffmpeg 1.下载解压 wget http://www.ffmpeg.org/releases/ffmpeg-3.1.tar.gz tar -zxvf ffmpeg-3.1.tar.gz 2. 进入解压后目录,输入如下命令/usr/local/ffmpeg为自己指定的安装目录 cd ffmpeg-3.1 ./configure --prefix=/usr/local/ffmpeg make && make install 3.配置变量 vi /etc/

  • Oracle手动建库安装部署超详细教程

    手动创建PROD数据库 步骤1 指定SID Oracle_SID是用于区别数据库实例的环境变量. ORACLE_SID=prod export ORACLE_SID 步骤2 确定Oracle环境的环境变量 在操作系统平台下,Oracle_SID和ORACLE_HOME必须指定,建议指定PATH包含ORACLE_HOME/bin目录.环境变量的实际操作如下: 创建数据目录和审计目录: [oracle@db1 oradata]$ mkdir -p /u01/app/oradata/prod [ora

  • Win8.1 + CentOS7 双系统 U盘安装(超详细教程)

    0.准备工作 1.宏碁 Aspire 4752G 笔记本 2.Win8.1 企业版操作系统 3.8G 以上 U 盘 4.UltraISO(当然也可以选择其他的U盘制作工具,看个人喜好) 5.下载 CentOS 7 的镜像(本人已CentOS-7.0-1406-x86_64-DVD.iso为例)官网:http://www.centos.org/download/   (至于各种镜像的区别自己百度吧,对于一般用户DVD即可.) 6.空闲硬盘分区,用来安装CentOS 7 (自己划分空闲分区) 1.U

  • centos8安装图解(超详细教程)

    CentOS 8 官方正式发布了!CentOS 完全遵守 Red Hat 的再发行政策,并且致力与上游产品在功能上完全兼容.CentOS 对组件的修改主要是去除 Red Hat 的商标及美工图.该版本还包含全新的 RHEL upstream, CentOS Streams. 官方中文的发行说明:https://wiki.centos.org/Manuals/ReleaseNotes/CentOS8.1905 CentOS 8 的新特性 DNF 成为了默认的软件包管理器,同时 yum 仍然是可用的

  • Python编辑器Pycharm安装配置超详细教程

    今天给大家推荐一款很好用的Python编辑器,全世界90%Python开发者都会用的开发工具------Pycharm,完全免费哦 1. 百度搜索pycharm,进入pycharm官网,带有’PyCharm: the Python IDE for Professional’字样的就是官网 2. 在官网首页点击如下图所示任意’Download’进入下载页面 3. 在下载页面有如下图两个下载接口,一个专业版,一个社区版,推荐使用社区版,免费,然后点击右边红框里面的’Download’进行下载,这里下

  • idea离线使用jrebel的超详细教程

    JRebel 介绍 IDEA上原生是不支持热部署的,一般更新了 Java 文件后要手动重启 Tomcat 服务器,才能生效,浪费不少生命啊.目前对于idea热部署最好的解决方案就是安装JRebel插件,这样不论是更新 class 类还是更新 Spring 配置文件都能做到立马生效,大大提高开发效率.但是JRebel插件是需要收费使用的,虽然插件提供了14天的试用(获取14天试用资格请点击这里:https://zeroturnaround.com/software/JRebel/trial/),并

  • Centos7下安装MySQL8.0.23的步骤(小白入门级别)

    首先简单介绍一下什么叫MySQL: 数据库简而言之就是存储数据的仓库,为了方便数据的存储和管理,它将数据按照特定的规律存储在磁盘上.是为了实现一定的目的,按照某种规则组织起来的数据的集合: MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),使用最常用的数据库管理语言--结构化bai查询语言(SQL)进行数据库管理.通过数据库管理系统,可以有效的组织和管理存储在数据库中的数据. 那么我们常见的数据库模型: 1,关系型数据库 MySql Oracle SQL Server 2,非关系型

随机推荐