1、MySQL-DBA工作職責(zé)
開發(fā)DBA
運(yùn)維DBA
初級(jí)??
安裝月而、搭建
中級(jí)
數(shù)據(jù)庫管理員汗洒、用戶權(quán)限、索引管理父款、存儲(chǔ)引擎溢谤、備份恢復(fù)、主從憨攒、故障處理
高級(jí)
性能優(yōu)化世杀、集群高可用
2、MySQL學(xué)習(xí)框架
MySQL簡(jiǎn)介及安裝(必會(huì))
MySQL體系結(jié)構(gòu)和基礎(chǔ)管理(熟悉)
MySQL-SQL語句(熟悉)
MySQL基礎(chǔ)優(yōu)化-索引及執(zhí)行計(jì)劃(必會(huì))
MySQL存儲(chǔ)引擎(熟悉)
MySQL日志管理(必會(huì))
MySQL備份恢復(fù)(必會(huì))
MySQL主從復(fù)制(必會(huì))
MySQL主從復(fù)制架構(gòu)演變-高可用及讀寫分離(熟悉)
MySQL主從復(fù)制架構(gòu)演變-分布式架構(gòu)(了解)
MySQL整體優(yōu)化(熟悉)
NoSQL-Redis緩存技術(shù)(熟悉)
NoSQL-MongoDB分布式數(shù)據(jù)庫技術(shù)(熟悉)
3肝集、DBA職業(yè)素養(yǎng)
人品
重中之重
嚴(yán)謹(jǐn)
理論支撐瞻坝,實(shí)踐檢驗(yàn)
細(xì)心
變更操作,多思考
心態(tài)
頂住壓力
==========================================
熟悉操作系統(tǒng)
熟悉業(yè)務(wù)(開發(fā))
熟悉行業(yè)發(fā)展(未來)
熱愛數(shù)據(jù)庫
4杏瞻、MySQL版本(企業(yè))
規(guī)范
GA版本:穩(wěn)定的發(fā)布版本
版本類型
E:Enterprise????企業(yè)版????收費(fèi)? ?
C:Community????社區(qū)版????開源免費(fèi)
企業(yè)選擇
新上的環(huán)境所刀,會(huì)選擇GA6-12月的版本
企業(yè)主流版本
5.6版本:5.6.34? ? 5.6.36? ? 5.6.38
5.7版本:5.7.20? ? 5.7.22? ? 5.7.24
MySQL分支
Oracle MySQL
MariaDB
PorconaDB
RDS MySQL
軟件下載
地址:https://downloads.mysql.com/archives/community/
RPM包
二進(jìn)制包
源碼包:需要編譯衙荐,需要二次開發(fā),統(tǒng)一配置勉痴。
研究源碼:可查看MariaDB源碼
GA時(shí)間
5赫模、安裝和基本配置
上傳到/data目錄
mkdir -p /data/
rz -E mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz
解壓縮二進(jìn)制包并安裝配置
tar zxf mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz? #解壓
mv mysql-5.7.20-linux-glibc2.12-x86_64 mysql? ? ?#更改名字
mv mysql /data
tail -1? ?/etc/profile? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #設(shè)置環(huán)境變量
export PATH=/data/mysql/bin:$PATH? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
. /etc/profile? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #重載環(huán)境變量
mysql -V? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #檢查環(huán)境變量
mysql Ver 14.14 Distrib 5.7.20, for linux-glibc2.12 (x86_64) using EditLine wrapper
卸載MariaDB依賴包
yum remove -y mariadb-libs
創(chuàng)建用戶
useradd -M -s /sbin/nologin mysql
初始化數(shù)據(jù)庫
5.6版本:
/data/mysql/scripts/mysql_install_db --user=mysql --basedir=/data/mysql --datadir=/data/mysql/data
初始化以后無密碼無安全策略
5.7版本:
/data/mysql/bin/mysqld --initialize-insecure? --user=mysql --basedir=/data/mysql --datadir=/data/mysql/data
命令變?yōu)閙ysql/bin/mysqld
兩種初始化方式
1)開始臨時(shí)密碼和安全策略? ?(secure)? ? ?密碼復(fù)雜度和密碼過期時(shí)間
2)兼容以前版本,無密碼五策略? ?
命令
mkdir -p /data/mysql/data
yum install -y libaio-devel
/data/mysql/bin/mysqld --initialize-insecure? --user=mysql --basedir=/data/mysql --datadir=/data/mysql/data
成功
2019-04-03T03:23:48.899553Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2019-04-03T03:23:49.984846Z 0 [Warning] InnoDB: New log files created, LSN=45790
2019-04-03T03:23:50.155597Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2019-04-03T03:23:50.219121Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: e6495512-55bf-11e9-b571-000c29d68861.
2019-04-03T03:23:50.224587Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
2019-04-03T03:23:50.226885Z 1 [Warning] root@localhost is created with an empty password ! Please consider switching off the --initialize-insecure option.
初始化參數(shù)介紹
--initialize-insecure? ? ? ? ? ? ? ?#無安全策略初始化
--user=mysql? ? ? ? ? ? ? ???? ? ? ? #mysql用戶
--basedir=/data/mysql? ? ??? ? #mysql軟件目錄
--datadir=/data/mysql/data? ?#mysql數(shù)據(jù)存放目錄
修改權(quán)限
chown -R mysql.mysql /data/? ? ?#授權(quán)/data目錄
準(zhǔn)備啟動(dòng)腳本和基礎(chǔ)配置文件
準(zhǔn)備sys-v啟動(dòng)腳本
cp /data/mysql/support-files/mysql.server? /etc/init.d/mysqld
準(zhǔn)備主要配置文件
vim /etc/my.cnf
[mysqld]
user=mysql
basedir=/data/mysql
datadir=/data/mysql/data
socket=/tmp/mysql.sock
server_id=6
[mysql]
socket=/tmp/mysql.sock
啟動(dòng)MySQL
service mysqld start? ? ? ? ? ? ? ?|stop|restart|
????Starting MySQL.Logging to '/data/mysql/data/db01.err'.
????.. SUCCESS!
準(zhǔn)備systemctl啟動(dòng)腳本
vim /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=/data/mysql/bin/mysqld?--defaults-file=/etc/my.cnf
LimitNOFILE?=?5000
創(chuàng)建數(shù)據(jù)庫密碼
mysqladmin -uroot -p password XXX (123)