RDBMS :关系型
NoSQL:非关系型
NewSQL:分布式型
RDBMS:Oracle ,MySQL,MSSQL,PG
NoSQL:Redis,Mongo,ES
NewSQL:TidB(PingCap),Spanner(Google),OceanBase(Alibaba),PolarDB(aliyun)
Oracle MySQL
MariaDB
PerconaDB
云数据(RDS MySQL 腾讯DB等)
3.6.1企业主流版本
5.6: 5.6.34 5.6.36 5.6.38 5.6.40
5.7: 5.7.18 5.7.19 5.7.20 5.7.24
MySQL RC alpha beta 不要选择,一定选择的是GA
关于版本GA时间
尽量记录两个版本的具体GA时间
5.6.38 , 5.7.20 , 20170913
3.6.2 企业版本新环境建议
5.7 版本 GA 6-12 月版本 偶数版
6.1 规划:
6.1.1 硬件环境
DELL R720 , CPU28,MEM128G, RAID108*600G SAS
6.1.2 OS
Centos 7.6.1810 , kernel 3.10.0-957.el7.x86_64
6.1.3 网络规划
eth0 : 10.0.0.51/24
Hostname: db01
6.1.4 存储规划
/dev/sdb 20G
7.1 创建相关目录
[root@db01 ~]# mkdir /application ----> 软件的存放目录
[root@db01 /]# mkdir /data/3306/data -p ----> 数据的存放位置
7.2 创建用户
[root@db01 /]# useradd -s /sbin/nologin -M mysql
7.3 上传软件并接呀处理
上传:mac用scp从本地直接传到服务器相关目录解压即可。
改个名
[root@db01 /application]# mv mysql-5.7.26-linux-glibc2.12-x86_64 mysql
7.4 数据初始化(创建系统数据)
把本机的mariadb先卸载了
[root@db01 ~]# rpm -qa|grep maria
mariadb-libs-5.5.60-1.el7_5.x86_64
[root@db01 ~]# yum remove mariadb-libs-5.5.60-1.el7_5.x86_64 -y
添加环境变量进行初始化配置。
[root@db01 ~]# vim /etc/profile
export PATH=/application/mysql/bin:$PATH
[root@db01 ~]# mysql -V
[root@db01 ~]# mysqld --initialize-insecure --user=mysql --basedir=/application/mysql --datadir=/data/3306/data
7.5 书写配置文件
cat >/etc/my.cnf <
EOF
7.6 准备启动脚本
# chown -R mysql.mysql /data/* /application/mysql/* 授权
# cp /application/mysql/support-files/mysql.server /etc/init.d/mysqld
[root@db01 ~]# /etc/init.d/mysqld start
Starting MySQL.Logging to '/data/3306/data/db01.err'.
SUCCESS!
7.7使用systemd管理mysql
cat > /etc/systemd/system/mysqld.service <
注意:要将原来模式启动的mysqld先关闭,然后再用systemd管理。
systemctl start/stop/restart/status mysqld
8.1 初始化命令
[root@db01 ~]# mysqld --initialize-insecure --user=mysql --basedir=/application/mysql --datadir=/data/3306/data
作用: 生成系统数据到/data/3306/data中
-rw-r----- 1 mysql mysql 56 Aug 5 12:33 auto.cnf
-rw-r----- 1 mysql mysql 3159 Aug 5 12:38 db01.err
-rw-r----- 1 mysql mysql 6 Aug 5 12:38 db01.pid
-rw-r----- 1 mysql mysql 419 Aug 5 12:33 ib_buffer_pool
-rw-r----- 1 mysql mysql 12582912 Aug 5 12:38 ibdata1
-rw-r----- 1 mysql mysql 50331648 Aug 5 12:38 ib_logfile0
-rw-r----- 1 mysql mysql 50331648 Aug 5 12:33 ib_logfile1
-rw-r----- 1 mysql mysql 12582912 Aug 5 12:38 ibtmp1
drwxr-x--- 2 mysql mysql 4096 Aug 5 12:33 mysql
drwxr-x--- 2 mysql mysql 8192 Aug 5 12:33 performance_schema
drwxr-x--- 2 mysql mysql 8192 Aug 5 12:33 sys
参数说明:
--initialize-insecure # 启用非安全模式,进行数据初始化
--initialize # 启用安全模式,进行数据初始化
5.7 版本以后,加强了用户密码安全管理的功能
(1) 密码长度
(2) 密码复杂度
(3) 初始化时自动生成密码
扩展:
5.6 在初始化的方式
/application/mysql/scripts/mysql_install_db --user=mysql --basedir=/application/mysql --datadir=/data/3306/data
5.2 启动方式说明
systemd (centos7)
cat > /etc/systemd/system/mysqld.service <
[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
ExecStart=/application/mysql/bin/mysqld --defaults-file=/etc/my.cnf
LimitNOFILE = 5000
EOF
sys-V (centos6)
service xxx start stop restart status
9.1 安装8.0软件到新位置
[root@db01 /application]# mv mysql-8.0.16-linux-glibc2.12-x86_64 mysql8
9.2 停原库
[root@db01 /application]# systemctl stop mysqld
9.3 修改已有配置
9.3.1 环境变量
[root@db01 ~]# vim /etc/profile
export PATH=/application/mysql8/bin:$PATH
source /etc/profile
[root@db01 ~]# mysql -V
9.3.2 配置文件
[root@db01 ~]# vim /etc/my.cnf
[mysqld]
user=mysql
basedir=/application/mysql8
datadir=/data/3306/data
socket=/tmp/mysql.sock
[mysql]
socket=/tmp/mysql.sock
prompt=oldguo[\d]>
9.3.3 启动脚本
[root@db01 ~]# vim /etc/systemd/system/mysqld.service
9.4 8.0以前版本,需要进行数据升级(此步骤在8.0版本可省略)
mysql_upgrade