MySQL 的简单介绍及实施

摘要:
MySQL最初是一个开源的关系数据库管理系统。最初的开发者是瑞典的MySQL AB,2008年被Sun收购。2009年,Oracle收购了Sun,MySQL成为Oracle的产品。MySQL是最流行的关系数据库管理系统之一。

MySQL 的简单介绍及实施第1张

MySQL原本是一个开放源代码的关系数据库管理系统,原开发者为瑞典的MySQL AB公司,该公司于2008年被Sun公司收购。2009年,甲骨文公司收购Sun公司,MySQL成为Oracle旗下产品。MySQL 是最流行的关系型数据库管理系统(RDBMS)之一。

1. 数据库产品时代演变

MySQL 的简单介绍及实施第2张

第一代数据库架构:合的时代
RDBMS 关系型数据库时代  
代表产品 :Oracle 、MSSQL 、MySQL

第二代数据库架构:拆的时代
NoSQL : Not Only SQL 时代
代表产品: Redis 、MongoDB、ES

第三代数据库架构: 合的时代
NewSQL :新型数据库架构时代
代表产品:
  阿里系列: OB 、PolarDB
  Pincap : TiDB
  google : spanner

2. 熟悉数据库行业

定期参加数据库大会
http://www.db-engines.com
http://www.itdks.com

3. MySQL 产品分支

Oracle MySQL :C版(community 社区)、 E版(enterprise企业)、Cluster版
Percona MySQL :最接近于Oracle MySQL
MariaDB :从5.5+ 以后,10.x +版本
阿里: RDS for MySQL
腾讯: TDSQL
....

4. MySQL的企业版本选择

5.7 : 一般选择最新GA版本 5.7.26    5.7.28
5.6 : GA 6-12月之间的版本
8.0 : 一般选择最新GA版本 8.0.17+


5.6 版本 2020 10月 常规、扩展服务全部停止
5.7 版本 2021 1月 常规服务停止.

5. 获取软件

https://downloads.mysql.com/archives/

检查下载的二进制软件包是否完整无误

[root@db01 ~]#md5sum mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz 
1daa30a32b99a92062f481bd3ef8694c mysql
-5.7.28-linux-glibc2.12-x86_64.tar.gz
MD5: 1daa30a32b99a92062f481bd3ef8694c
diff a b

6. MySQL 5728 二进制版本规划和实施

6.1 准备Linux服务器

克隆:Centos 7.6 1核 2G 100G 虚拟机环境
IP: 10.0.0.51/24
hostname:db01
防火墙: 关闭
selinux : 关闭

6.2 MySQL 实施

6.2.1上传软件到指定目录并解压

[root@db01 ~]# mkdir -p /data/app
[root@db01 ~]# cd /data/app
[root@db01 app]# rz -y mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz
[root@db01 app]# tar xf mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz

6.2.2 创建软链接、修改环境变量

[root@db01 app]# ln -s mysql-5.7.28-linux-glibc2.12-x86_64 mysql
[root@db01 app]# echo 'export PATH=$PATH:/data/app/mysql/bin' >>/etc/profile
[root@db01 app]# source /etc/profile

6.2.3 验证

[root@db01 app]# mysql -V
mysql Ver 14.14 Distrib 5.7.28, for linux-glibc2.12 (x86_64) using EditLine wrapper

6.2.4 清理遗留环境

检查是否有mariadb相关软件

[root@db01 ~]# rpm -qa|grep mariadb

如果有,清理掉

[root@db01 ~]# yum remove mariadb-libs -y

删掉/etc/my.cnf 已有的配置文件

[root@db01 ~]# rm -rf /etc/my.cnf

6.2.5 安装依赖包

[root@db01 ~]# yum install -y libaio-devel

6.2.6 创建相关目录、用户,并做授权

[root@db01 ~]# mkdir -p /data/3306/data 
[root@db01 ~]# useradd -M -s /sbin/nologin mysql 
[root@db01 ~]# chown -R mysql.mysql /data

6.2.7 初始化数据

5.7+ 版本初始化 :

[root@db01 ~]# mysqld --initialize-insecure --user=mysql --basedir=/data/app/mysql --datadir=/data/3306/data 

有可能的报错:
1. libaio-devel 没有安装依赖
2. [ERROR] --initialize specified but the data directory has files in it. Aborting. 数据目录有文件
    rm -rf /data/3306/data/*

6.2.8 准备配置文件

vim /etc/my.cnf
[mysqld]
user=mysql
basedir=/data/app/mysql
datadir=/data/3306/data
socket=/tmp/mysql.sock
[mysql]
socket=/tmp/mysql.sock

6.2.9 准备启动脚本,启动数据库

[root@db01 data]# cp /data/app/mysql/support-files/mysql.server /etc/init.d/mysqld 
[root@db01 data]# chkconfig --add mysqld
[root@db01 data]# systemctl start mysqld



MySQL 的简单介绍及实施第3张

免责声明:文章转载自《MySQL 的简单介绍及实施》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Java日志-Log4j2Spring中@Controller和@RestController之间的区别下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

STM32使用FFT变换计算THD(20年四川省电子设计大赛E题软件部分)

注: 本篇内容意在使不理解FFT变换的读者也可以通过使用FFT来计算总谐波失真 FFT变换 根据总谐波失真的定义: [THD = frac{sqrt{sum_{n=0}^{infty}{G_{n}^{2}}}}{G_0} (G_0为基波,G_n 为高次谐波) ] 可知,要计算THD需要知道基波分量和各个谐波分量的大小。 ​ FFT也叫快速傅里叶变换,是离散...

MongoDB学习笔记-06 数据库命令、固定集合、GridFS、javascript脚本

介绍MongoDB支持的一些高级功能: 数据库命令 固定大小的集合 GridFS存储大文件 MongoDB对服务端JavaScript的支持 数据库命令 命令的原理 MongoDB中的命令其实是作为一种特殊类型的查询来实现的,这些查询针对$cmd集合来执行。runCommand仅仅是接受命令文档,执行等价查询。 >db.runCommand({"dr...

网站文件批量转移方式

1. 生成密钥,方便免密传输 目标机器: ssh-keygen -t rsa 一路回车, 然后会自动在 /root/.ssh/下生成 id_rsa 以及 id_rsa.pub 2. 将pub内容复制到本机下的 /root/.ssh/authorized_keys 中,如果有多个,请换行 如果不生效,则证明没有启用密钥登陆方式, 可以进入 /etc/ssh/...

EFCore数据库迁移命令整理

因为现在用.net core 开发新项目,过程中需要经常涉及到数据命令的迁移,今天分别整EFCore 的两种迁移数据库的方式  1 程序包管理器控制台 , Package Manager Console(PMC)        -如果你用visual studio 开发建议使用PMC迁移方式,该方式是同时支持efcore和原先的ef 迁移的 2 命令行工具...

docker默认网段和主机网段冲突解决

一、 docker默认网卡docker0 172.17.0.0可能会与主机冲突,这时候需要修改docker默认分配的网段 1、修改/etc/docker/daemon.json文件,加入以下代码 {"default-address-pools":[{"base":"172.100.0.0/16","size":24}]} 其中上面的172.100.0.0/...

vuejs绑定img 的src

1.显示本地图片: <img src="http://t.zoukankan.com/common/images/auth-icon.png" />   2.绑定变量: <img class="" :src="http://t.zoukankan.com/defaultIcon" /> data() {   return {  ...