1.MySQL 介紹和安裝
1.1 什么是數(shù)據(jù)庫
1.2 數(shù)據(jù)庫管理系統(tǒng)(DBMS)
RDBMS:關(guān)系型
NoSQL:非關(guān)系型
NewSQL:分布式
1.3筆試:請(qǐng)你列舉熟悉的數(shù)據(jù)庫產(chǎn)品
RDBMS : Oracle, MySQL ,MSSQL ,PG
NoSQL: Redis , Mongo , ES
NewSQL:TiDB (pingCAP) , Spanner(Google) , OceanBase(Alibaba)
1.4面試:你們公司用了哪些數(shù)據(jù)庫產(chǎn)品
MySQL,Redis某宪,MongoDB仿村,ES
引出 版本 MySQL 5.7.20
引出 公司 數(shù)據(jù)庫架構(gòu)
引出 公司 備份策略
引出 公司 遇到的故障和性能問題
總結(jié):...
1.5 MySQL 軟件分支
Oracle MySQL
MariaDB
PerconaDB
云數(shù)據(jù)(RDS MySQL 騰訊DB等)
1.6 MySQL的企業(yè)版本選擇
1.6.1 企業(yè)主流版本
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 apl beta 不要選擇,一定選擇的是GA版
www.mysql.com
關(guān)于版本GA時(shí)間
盡量記錄兩個(gè)版本的具體GA時(shí)間
5.6.38兴喂,5.7.20蔼囊, 2017.09.13
1.6.2 企業(yè)版本新環(huán)境建議
5.7 版本 GA 6-12 月 版本 偶數(shù)版
2.MySQL 5.7.26 二進(jìn)制版規(guī)劃及實(shí)施
2.1規(guī)劃
2.1.1 硬件環(huán)境
DELL R720 ,CPU28衣迷,MEM(內(nèi)存)128G畏鼓,RAID108*600G SAS
2.2.2 OS
CentOS 7.6.1810 kernel (內(nèi)核版本:uname -a) 3.10.0-957.el7.x86_64
2.3.3 網(wǎng)絡(luò)規(guī)劃
eth0: 10.0.0.51/24
Hostname: db01
2.4.4 存儲(chǔ)規(guī)劃
/dev/sdb 20G
2.2 實(shí)施
2.2.1創(chuàng)建相關(guān)目錄
[root@db01 ~]#mkdir /application ----軟件的安裝目錄
[root@db01 ~]#mkdir -p /data/3306/data -----數(shù)據(jù)的存放位置
2.2.2 創(chuàng)建用戶
[root@db01 ~]#useradd -s /sbin/nologin -M mysql
2.2.3 上傳軟件并解壓處理
(略。)
2.2.4 數(shù)據(jù)初始化
[root@db01 ~]#rpm -qa|grep maria
mariadb-libs-5.5.60-1.el7_5.x86_64
[root@db01 ~]#yum remove -y mariadb-li
[root@db01 ~]vim /etc/profile
export PATH=/application/mysql/bin:$PATH
[root@db01 ~]#yum install -y libaio-devel
[root@db01 ~]# mysqld --initialize-insecure --user=mysql --basedir=/application/mysql --datadir=/data/3306/data
2.2.5書寫配置文件
cat >/etc/my.cnf <<EOF
[mysqld]
user=mysql
basedir=/application/mysql
datadir=/data/3306/data
socket=/tmp/mysql.sock
[mysql]
socket=/tmp/mysql.sock
EOF
2.2.6 準(zhǔn)備啟動(dòng)腳本
[root@db01 /application/mysql/support-files]# cp /application/mysql/support-files/mysql.server /etc/init.d/mysqld
[root@db01 ~]#/etc/init.d/mysqld start
成功
2.2.7 使用systemd管理mysql
先關(guān)閉:/etc/init.d/mysql stop
cat > /etc/systemd/system/mysqld.service <<EOF
[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
3.安裝過程中的細(xì)節(jié)說明
3.1初始化命令
[root@db01 ~]# mysqld --initialize-insecure --user=mysql --basedir=/application/mysql --datadir=/data/3306/data
作用:生成系統(tǒng)數(shù)據(jù)到/data/3306/data中
--initialize-insecure #啟用非安全模式壶谒,進(jìn)行數(shù)據(jù)初始化
--initialize- #啟用安全模式云矫,進(jìn)行數(shù)據(jù)初始化
7 版本以后,加強(qiáng)了用戶密碼安全管理功能
(1)密碼長度
(2)密碼復(fù)雜度
(3)初始化時(shí)自動(dòng)生成密碼
擴(kuò)展:
6 在初始化的方式
/application/mysql/scripts/mysql_install_db --user=mysql --basedir=/application/mysql --datadir=/data/3306/data
3.2 啟動(dòng)方式說明
systemd (centos7)
sys -V (centos6)