您好,登錄后才能下訂單哦!
任務(wù)背景
由于現(xiàn)有業(yè)務(wù)架構(gòu)已不能滿足當(dāng)前業(yè)務(wù)需求,在保證數(shù)據(jù)完整的前提下,現(xiàn)需要將原有數(shù)據(jù)庫遷移到另外一臺單獨(dú)的服務(wù)器上,在保證原有服務(wù)正常的情況下,將原有LAMP環(huán)境中mysql數(shù)據(jù)庫版本5.6.31升級為5.6.35.
任務(wù)要求
1. 在業(yè)務(wù)維護(hù)時間(02:00-4:00)段對數(shù)據(jù)庫進(jìn)行全量備份
2. 將MySQL數(shù)據(jù)庫從原有服務(wù)器遷移到新服務(wù)器上并且升級版本為5.6.35
任務(wù)拆解
1. 新服務(wù)器安裝Centos7.5,并且安裝MySQL-5.6.35版本數(shù)據(jù)庫
2. 停止監(jiān)控、停止前端應(yīng)用、停止MySQL數(shù)據(jù)庫
3. 備份數(shù)據(jù)庫(省略)
4. 遷移數(shù)據(jù)庫——>同步數(shù)據(jù)庫文件到新的環(huán)境中(rsync/scp)
5. 測試驗(yàn)證
任務(wù)解決方案
環(huán)境說明
具體步驟
1. 老環(huán)境停止相應(yīng)服務(wù)
1) 停止監(jiān)控略2) 停止應(yīng)用服務(wù)apache和數(shù)據(jù)庫[root@lamp ~]# service httpd stop[root@lamp ~]# service mysql stopShutting down MySQL.. SUCCESS!
2. 新環(huán)境部署安裝MySQL
① 官網(wǎng)下載mysql軟件
# du -sh mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz301M mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz
② 安裝需求
安裝目錄(basedir):/usr/local/mysql數(shù)據(jù)庫目錄(datadir):/usr/local/mysql/data端口:3306socket文件:/tmp/mysql.sock錯誤日志文件:/usr/local/mysql/data/mysql.err
③ glibc方式安裝步驟
1) 解壓軟件包
# tar -xf mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz# cd /usr/local/# ln -s /soft/installer/mysql-5.6.35-linux-glibc2.5-x86_64 mysql注意:進(jìn)入到/usr/local目錄里軟連接
2) 創(chuàng)建用戶并修改目錄權(quán)限
1. 查看用戶是否存在[root@db01 mysql]# id mysqlid: mysql: no such user[root@db01 mysql]# useradd -r -s /sbin/nologin mysql[root@db01 mysql]# id mysqluid=997(mysql) gid=995(mysql) 組=995(mysql)2. 更改mysql的安裝目錄的權(quán)限[root@db01 mysql]# chown -R mysql.mysql /usr/local/mysql/[root@db01 mysql]# ll -d /usr/local/mysql/drwxr-xr-x 13 mysql mysql 191 10月 9 10:26 /usr/local/mysql/
3) 修改配置文件
修改/etc/my.cnf文件[root@db01 mysql]# vim /etc/my.cnf[mysqld]basedir=/usr/local/mysqldatadir=/usr/local/mysql/dataport=3307socket=/usr/local/mysql/mysql.socklog-error=/usr/local/mysql/data/mysql3307.err
4) 拷貝啟動腳本
[root@db01 mysql]# pwd/usr/local/mysql[root@db01 mysql]# cp support-files/mysql.server /etc/init.d/mysql
5) 初始化說明
1. 正常安裝新數(shù)據(jù)庫直接使用,是需要初始化數(shù)據(jù)庫然后再啟動使用
2. 當(dāng)前需求是將原來MySQL數(shù)據(jù)庫文件遷移到新的數(shù)據(jù)庫的數(shù)據(jù)目錄里,故不需要初始化
3. 遷移數(shù)據(jù)庫到新環(huán)境
說明:新數(shù)據(jù)庫服務(wù)器上操作
① 同步老庫數(shù)據(jù)文件到新庫數(shù)據(jù)目錄里
[root@db01 mysql]# rsync -av 10.1.1.1:/usr/local/mysql/data/ /usr/local/mysql/data
② 啟動新數(shù)據(jù)庫
直接啟動新的數(shù)據(jù)庫,并且檢查日志文件(查看是否有選項(xiàng)不兼容)[root@db01 mysql]# service mysql start
③ 升級數(shù)據(jù)庫(重點(diǎn),升級數(shù)據(jù)庫文件)
使用mysql_upgrade命令檢查數(shù)據(jù)文件的兼容性[root@db01 ~]# /usr/local/mysql/bin/mysql_upgrade -S /tmp/mysql.sock -p123注意:1. 在實(shí)際的環(huán)境中,建議使用-s參數(shù),不檢查業(yè)務(wù)表,只檢查系統(tǒng)文件2. 升級是需要連接數(shù)據(jù)庫的,-p密碼 -S指定socket文件[root@db01 mysql]# /usr/local/mysql/bin/mysql_upgrade -pEnter password:Looking for 'mysql' as: /usr/local/mysql/bin/mysqlLooking for 'mysqlcheck' as: /usr/local/mysql/bin/mysqlcheckError: Failed while fetching Server version! Could be due to unauthorized access.FATAL ERROR: Upgrade failed原因:連接數(shù)據(jù)庫失敗
4. 原web服務(wù)連接新數(shù)據(jù)庫(LAMP=>LNMP)
① 修改php連接mysql的配置文件(如果有)
[root@lamp ~]# find / -name php.ini/usr/local/lib/php.ini[root@lamp ~]# vim /usr/local/lib/php.ini[MySQL]mysql.default_port = 3306mysql.default_host = 10.1.1.37[MySQLi]mysql.default_port = 3306mysql.default_host = 10.1.1.37
② 修改網(wǎng)站配置文件連接數(shù)據(jù)庫
修改www.myblog.net網(wǎng)站所在數(shù)據(jù)庫目錄的配置文件[root@lamp www]# pwd/var/html/www[root@lamp www]# vim wp-config.php...// ** MySQL 設(shè)置 - 具體信息來自您正在使用的主機(jī) ** ///** WordPress數(shù)據(jù)庫的名稱 */define('DB_NAME', 'myblog');/** MySQL數(shù)據(jù)庫用戶名 */define('DB_USER', 'root');/** MySQL數(shù)據(jù)庫密碼 */define('DB_PASSWORD', '123');/** MySQL主機(jī) */define('DB_HOST', '10.1.1.37');/** 創(chuàng)建數(shù)據(jù)表時默認(rèn)的文字編碼 */define('DB_CHARSET', 'utf8');
③ 新數(shù)據(jù)庫授權(quán)為web服務(wù)
新的mysql數(shù)據(jù)庫需要給root@10.1.1.19用戶授權(quán)mysql> grant all on *.* to 'root'@'10.1.1.19' identified by '123';Query OK, 0 rows affected (0.00 sec)mysql> flush privileges;Query OK, 0 rows affected (0.00 sec)注意:把防火墻firewalld和selinux全部關(guān)閉掉,不然打死都連接不上!
④ 啟動web服務(wù)
[root@lamp ~]# service apache start[root@lamp ~]# netstat -nltp|grep httpdtcp 0 0 :::80 :::* LISTEN 1376/httpd
⑤ 測試驗(yàn)證
1.瀏覽器訪問2. web服務(wù)器上使用mysql工具遠(yuǎn)程訪問[root@lamp ~]# mysql -uroot -h20.1.1.37 -uroot -p123
學(xué)習(xí)資源:
5 天玩轉(zhuǎn) MySQL
https://pan.baidu.com/s/1Cb1eGwb4dn45I4tbQ2Ggzg 提取碼:yfw6
https://pan.baidu.com/s/1qXYYhcS 提取碼: mkqu
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。