日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

linux备份mysql需要暂停服务吗_【MySQL运维】线上MySQL数据库停服迁移流程

發布時間:2023/12/9 数据库 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux备份mysql需要暂停服务吗_【MySQL运维】线上MySQL数据库停服迁移流程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、數據備份與恢復階段,選在凌晨1點進行操作,暫停服務進行備份(允許停服2個小時)

1、首先停止Nginx服務,并且修改數據庫用戶密碼,防止還有新的連接進來

2、殺掉某個用戶所有進程

for i in `mysql -udba -pPASSWORD -ssse "show full processlist"|grep DATABAES_NAME |awk '{print $1}'`; do /usr/local/mysql/bin/mysql -udba -pPASSWORD -e "kill $i"; done

3、開發人員記錄源庫數據

4、采用Innodbbackup對需要的數據庫做物理備份。需要備份的數據庫信息:A庫94G、B庫460M。另還需對mysql、performance_schema這2個庫做備份,此為mysql服務默認庫,保存有用戶權限等信息,恢復時需要用到。如果不備份這2個庫,數據還原后啟動服務會報錯Fatal error: Can't open and lock privilege tables: Table 'mysql.user' doesn't exist。備份命令如下:

time innobackupex --defaults-file=/etc/my.cnf --databases="mysql performance_schema database_a database_b" --user=dba --password=PASSWORD /data/backup/

5、將數據傳輸到新服務器,這2臺機器隨后會部署為主從模式

scp -r /data/backup/2018-12-05_11-59-45/ root@10.3.0.224:/data/backup/

scp -r /data/backup/2018-12-05_11-59-45/ root@10.3.0.225:/data/backup/

6、暫停目標服務器已經提前搭建好的MySQL 3310實例,清空數據目錄,重新初始化,準備還原

mysqladmin -udba -p -S /tmp/mysql3310.sock shutdown #停止新實例的服務

rm -rf /data/mysql3310 /data/dblog/mysql3310 /etc/my3310.cnf #刪除數據和配置

/usr/local/shell/mysql_multi_install.sh #這是只是一個初始化腳本

mysql -uroot -p`cat /data/mysql3310/passwd.txt` -S /tmp/mysql3310.sock

alter user root@'localhost' identified by 'PASSWORD';

grant all privileges on *.* to 'dba'@'%' identified by 'PASSWORD' with grant option;

grant all privileges on *.* to 'dba'@'localhost' identified by 'PASSWORD' with grant option;

mysqladmin -udba -p -S /tmp/mysql3310.sock shutdown #初始化完畢后再次停止服務準備還原數據

7、備份數據還原

rm -rf /data/mysql3310/*

innobackupex --defaults-file=/etc/my3310.cnf --apply-log /data/backup/2018-12-05_11-59-45/

innobackupex --defaults-file=/etc/my3310.cnf --copy-back /data/backup/2018-12-xx_xx-xx-xx/

chown -R mysql. /data/mysql3310

8、啟動服務

mysqld_safe --defaults-file=/etc/my3310.cnf &

二、主從部署階段(主節點:10.3.0.224;從節點:10.3.0.225)

1、登錄SQLYOG刪除原有repl賬戶信息,兩臺均操作

2、在224上授權并獲取binlog的位置信息

mysql -udba -p -S /tmp/mysql3310.sock

mysql > GRANT REPLICATION SLAVE,REPLICATION CLIENT ON *.* TO repl@'10.3.0.225' IDENTIFIED BY 'PASSWORD';

mysql > show master status \G

3、在225從庫同步

mysql -udba -p -S /tmp/mysql3310.sock

CHANGE MASTER TO MASTER_HOST='10.3.0.224',MASTER_PORT=3310,MASTER_USER='repl',MASTER_PASSWORD='PASSWORD',MASTER_LOG_FILE='mysql-bin.xxxxx',MASTER_LOG_POS=xxx;

start slave;

三、域名切換

服務前移后使用了新域名,只需要做好解析即可,然后啟動Nginx觀察服務

總結

以上是生活随笔為你收集整理的linux备份mysql需要暂停服务吗_【MySQL运维】线上MySQL数据库停服迁移流程的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。