MySQL 的简单介绍及实施

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

1. 数据库产品时代演变

第一代数据库架构:合的时代
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



原文地址:https://www.cnblogs.com/nataliewang/p/13255235.html