数据库产品时代演变
- 第一代数据库架构(RDBMS关系型数据库时代 合的时代)
Oracle MSSQL MySQL - 第二代数据库架构(NoSQL 拆的时代)
Redis MongoDB ES - 第三代数据库架构(NewSQL 新型数据库架构时代)
阿里系列:OB PolarDB
Pincap:TiDB
google:spanner
MySQL产品分支
Orcale MySQL:c版(社区版) e版(教育版) Cluster(集群版)
Percona MySQL:最接近Oracle MySQL
MariaDB :从5.5+ 以后,10.x +版本
阿里: RDS for MySQL
腾讯: TDSQL
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月 常规服务停止.
MySQL 5.7.28二进制安装
防火墙 selinux确认关闭
- 获取软件 https://downloads.mysql.com/archives/
- 创建指定目录 mkdir -p /data/app (mysql 安装软件指定目录)
- 解压软件 tar xf mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz
- 创建软连接 ln -s mysql-5.7.28-linux-glibc2.12-x86_64 mysql
- 修改环境变量 在/etc/profile中添加export PATH=/data/app/mysql/bin:$PATH
- 让环境变量生效 source /etc/profile
- 验证命令是否可以使用 mysql -V
- 清除mariadb rpm -qa|grep mariadb yum remove mariadb-libs
- 删除/etc/my.cnf 已有的配置文件 rm -rf /etc/my.cnf
- 安装依赖包 yum install -y libaio-devel
- 创建mysql存放数据目录 创建用户并授权
mkdir -p /data/3306/data
useradd mysql
chown -R mysql.mysql /data
- 初始化数据 mysqld --initialize -insecure --user=mysql --basedir=/data/app/mysql --datadir=/data/3306/data (有-insecure参数的是无密码登录 无-insecure参数由数据库给出默认密码)
- 准备配置文件
vim /etc/my.cnf
[mysqld]
user=mysql
basedir=/data/app/mysql
datadir=/data/3306/data
socket=/tmp/mysql.sock
[mysql]
socket=/tmp/mysql.sock
- 准备启动脚本 cp /data/app/mysql/support-files/mysql.server /etc/init.d/mysqld
- 添加到systemctl启动 chkconfig --add mysqld
- 启动数据库 systemctl start mysqld
问题
初始化数据时可能出现的报错
- mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
未安装libaio软件
解决方法
yum -y install libaio-devel
- 2020-04-22T00:58:25.428363Z 0 [System] [MY-013169] [Server] /data/app/mysql-8.0.18-linux-glibc2.12-x86_64/bin/mysqld (mysqld 8.0.18) initializing of server in progress as process 7812
- 2020-04-22T00:58:27.751966Z 0 [ERROR] [MY-000069] [Server] /data/app/mysql-8.0.18-linux-glibc2.12-x86_64/bin/mysqld: unknown option '-i'.
- 2020-04-22T00:58:27.752079Z 0 [ERROR] [MY-013236] [Server] The designated data directory /data/3306/data/ is unusable. You can remove all files that the server added to it.
- 2020-04-22T00:58:27.752239Z 0 [ERROR] [MY-010119] [Server] Aborting
- 2020-04-22T00:58:29.136227Z 0 [System] [MY-010910] [Server] /data/app/mysql-8.0.18-linux-glibc2.12-x86_64/bin/mysqld: Shutdown complete (mysqld 8.0.18) MySQL Community Server - GPL.
出现ERROR报错
解决方法 删除保存数据文件中的数据
rm -rf /data/3306/data/*