最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL數(shù)據(jù)庫(kù)如何克隆(帶腳本)

 更新時(shí)間:2024年03月29日 09:23:33   作者:ReadVersion  
這篇文章主要介紹了MySQL數(shù)據(jù)庫(kù)如何克隆(帶腳本)問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

1、捐贈(zèng)者和接受者

INSTALL PLUGIN clone SONAME 'mysql_clone.so';

2、創(chuàng)建用戶及授權(quán)

捐贈(zèng)者:

  • 創(chuàng)建克隆所需用戶:
CREATE USER `clone_user`@`192.168.1.%` IDENTIFIED by 'clone_user'; 
GRANT BACKUP_ADMIN ON *.* TO `clone_user`@`192.168.1.%`   # BACKUP_ADMIN是MySQL8.0 才有的備份鎖的權(quán)限

接受者:

  • 創(chuàng)建執(zhí)行克隆權(quán)限的用戶:
CREATE USER clone_user@'192.168.1.%' IDENTIFIED by 'clone_user'; 
GRANT CLONE_ADMIN ON *.* TO 'clone_user'@'192.168.1.%'; 

CLONE_ADMIN權(quán)限 = BACKUP_ADMIN權(quán)限 + SHUTDOWN權(quán)限。

SHUTDOWN權(quán)限允許用戶shutdown和restart mysqld。

授權(quán)不同是因?yàn)椋邮苷咝枰猺estart mysqld。

3、接受者設(shè)置捐贈(zèng)者列表清單

SET GLOBAL clone_valid_donor_list = '192.168.1.11:3306';

4、接受者執(zhí)行

CLONE INSTANCE FROM clone_user@'192.168.1.11':3306 IDENTIFIED BY 'clone_user';

注意:

ERROR 3870 (HY000): Clone Donor plugin validate_password is not active in Recipient.

https://dev.mysql.com/doc/refman/5.6/en/validate-password-installation.html

5、查看進(jìn)度

SELECT STAGE, STATE, END_TIME FROM performance_schema.clone_progress;

6、在接受者查詢捐贈(zèng)款的日志信息

SELECT BINLOG_FILE, BINLOG_POSITION FROM performance_schema.clone_status;

7、查詢進(jìn)度的另一條SQL

select 
stage,
state,
cast(begin_time as DATETIME) as "START TIME",
cast(end_time as DATETIME) as "FINISH TIME",
lpad(sys.format_time(power(10,12) * (unix_timestamp(end_time) - unix_timestamp(begin_time))), 10, ' ') as DURATION,
lpad(concat(format(round(estimate/1024/1024,0), 0), "MB"), 16, ' ') as "Estimate",
case when begin_time is NULL then LPAD('%0', 7, ' ')
when estimate > 0 then
lpad(concat(round(data*100/estimate, 0), "%"), 7, ' ')
when end_time is NULL then lpad('0%', 7, ' ')
else lpad('100%', 7, ' ')
end as "Done(%)"
from performance_schema.clone_progress;

8、 修改主從關(guān)系

CHANGE MASTER TO MASTER_HOST='10.0.14.141', MASTER_PORT=61106 ,MASTER_USER='repl',MASTER_PASSWORD='xxxxxxxx',MASTER_AUTO_POSITION = 1;

9、clone腳本

有一步重新初始化的操作,記得修改對(duì)應(yīng)的目錄

#!/usr/bin/env bash

CLONE_ADMIN_USER="clone_user@'192.168.x.%'"
CLONE_VALID_DONOR_LIST="192.168.x.x"
MYSQL_PORT=3306
ROOT_PASSWORD="123456"

# 僅支持GTID模式
# GTID_MODE=1
#刪除舊文件
function  del_old_file() {
    systemctl stop mysqld && rm -rf /data/logs/* && rm -rf /data1/data* && rm -rf /data/data/binlog/* && rm -rf /data/data/relaylog/*
}

function start_mysqld() {
    systemctl start mysqld
    OLDPASSWORD=`grep 'temporary password' /data/logs//mysqld.log | awk '{printf $NF}'`
    SETPASSWDTXT="set global validate_password.policy='LOW';alter user root@localhost identified by '${ROOT_PASSWORD}';"
    mysql -h localhost -P${MYSQL_PORT} -uroot -p${OLDPASSWORD} -e "${SETPASSWDTXT}" --connect-expired-password
}

function install_plugin() {
    INSTALL_PLUGIN_SQL="INSTALL PLUGIN clone SONAME 'mysql_clone.so'"
    mysql -h localhost -P${MYSQL_PORT} -uroot -p${ROOT_PASSWORD} -e "${INSTALL_PLUGIN_SQL}" --connect-expired-password
}
function set_clone_user() {
    SET_CLONE_USER_SQL="set global validate_password.policy='LOW';CREATE USER IF NOT EXISTS ${CLONE_ADMIN_USER} IDENTIFIED by 'clone_user';GRANT BACKUP_ADMIN,CLONE_ADMIN ON *.* TO ${CLONE_ADMIN_USER};"
    mysql -h localhost -P${MYSQL_PORT} -uroot -p${ROOT_PASSWORD} -e "${SET_CLONE_USER_SQL}" --connect-expired-password
}

function begin_clone() {
    CLONE_SQL="SET GLOBAL clone_valid_donor_list = '${CLONE_VALID_DONOR_LIST}:${MYSQL_PORT}';CLONE INSTANCE FROM clone_user@'${CLONE_VALID_DONOR_LIST}':${MYSQL_PORT} IDENTIFIED BY 'clone_user';"
    mysql -h localhost -P${MYSQL_PORT} -uroot -p${ROOT_PASSWORD} -e "${CLONE_SQL}" --connect-expired-password && echo "CLONE ENDS ... "
}
function change_master() {
    CHANGE_MASTER_SQL="STOP SLAVE;CHANGE MASTER TO MASTER_HOST='${CLONE_VALID_DONOR_LIST}', MASTER_PORT=${MYSQL_PORT} ,MASTER_USER='repl',MASTER_PASSWORD='repl20150602',MASTER_AUTO_POSITION = 1;START SLAVE;"
    mysql -h localhost -P${MYSQL_PORT} -uroot -p${ROOT_PASSWORD} -e "${CHANGE_MASTER_SQL}" --connect-expired-password
}

function execute_all() {
    del_old_file
    start_mysqld
    install_plugin
    set_clone_user
    begin_clone
    change_master
}
function usage() {
    echo "mysql-clone {-h|-d|-s|-u|-c|-m|-a}"
    echo "del_old_file(-d)               -- stop mysqld and delete old mysql-datafiles"
    echo "start_mysqld(-s)               -- start mysqld and set newpassword"
    echo "install_plugin(-i)               -- install clone plgin"
    echo "set_clone_user(-u)             -- set clone user"
    echo "begin_clone(-c)                -- set clone donor and clone"
    echo "change_master(-m)                -- change master"
    echo "execute_all(-a)                -- execute all"
}

case "$1" in
    '-d')
        del_old_file
        ;;
    '-s')
        start_mysqld
        ;;
    '-i')
        install_plugin
        ;;
    '-u')
        set_clone_user
        ;;
    '-c')
        begin_clone
        ;;
    '-m')
        change_master
        ;;
    '-a')
        execute_all
        ;;
    *)
        usage
esac

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • mysql釋放表空間的方法示例

    mysql釋放表空間的方法示例

    本文主要介紹了mysql釋放表空間的方法示例,可以使用OPTIMIZE TABLE命令,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-08-08
  • MySQL慢查詢排查和優(yōu)化的詳細(xì)步驟教學(xué)

    MySQL慢查詢排查和優(yōu)化的詳細(xì)步驟教學(xué)

    慢SQL的排查和優(yōu)化是數(shù)據(jù)庫(kù)性能調(diào)優(yōu)的關(guān)鍵環(huán)節(jié),尤其是在高并發(fā)環(huán)境下,慢 SQL 可能會(huì)導(dǎo)致性能瓶頸,影響應(yīng)用響應(yīng)速度,以下是關(guān)于如何排查和優(yōu)化慢 SQL 的詳細(xì)步驟,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2026-03-03
  • MySQL 5.7.16 修改密碼提示 ERROR 1054 (42S22): Unknown column ''''password'''' in ''''field list''''的原因

    MySQL 5.7.16 修改密碼提示 ERROR 1054 (42S22): Unknown column ''''p

    這篇文章主要介紹了MySQL 5.7.16 修改密碼提示 ERROR 1054 (42S22): Unknown column 'password' in 'field list'的原因分析及解決辦法,需要的朋友可以參考下
    2017-01-01
  • mysql主從同步原理及應(yīng)用場(chǎng)景示例詳解

    mysql主從同步原理及應(yīng)用場(chǎng)景示例詳解

    這篇文章主要為大家介紹了mysql主從同步原理及應(yīng)用場(chǎng)景示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • Scott?數(shù)據(jù)?映射?MySQL代碼實(shí)現(xiàn)分享

    Scott?數(shù)據(jù)?映射?MySQL代碼實(shí)現(xiàn)分享

    這篇文章主要介紹了Scott?數(shù)據(jù)?映射?MySQL,文章圍繞Scott?數(shù)據(jù)?映射?MySQL的相關(guān)代碼分享給大家,具有一定的參考價(jià)值,需要的小伙伴可以參考一下,希望對(duì)你的學(xué)習(xí)有所幫助
    2022-02-02
  • MySQL 8.0 中 LIMIT 優(yōu)化新特性使用場(chǎng)景及最佳實(shí)踐

    MySQL 8.0 中 LIMIT 優(yōu)化新特性使用場(chǎng)景及最佳實(shí)踐

    MySQL 8.0.21新增prefer_ordering_index參數(shù),允許干預(yù)優(yōu)化器在排序索引與過濾索引間的偏好,解決分頁查詢性能問題,提升效率,本文給大家介紹MySQL8.0 中LIMIT優(yōu)化新特性,感興趣的朋友一起看看吧
    2025-07-07
  • 關(guān)于skip_name_resolve參數(shù)的總結(jié)分享

    關(guān)于skip_name_resolve參數(shù)的總結(jié)分享

    下面小編就為大家?guī)硪黄P(guān)于skip_name_resolve參數(shù)的總結(jié)分享。小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家。給大家一個(gè)參考。一起跟隨小編過來看看吧
    2016-03-03
  • MySQL重置密碼終極版(附詳細(xì)步驟)

    MySQL重置密碼終極版(附詳細(xì)步驟)

    mysql是最常見的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)之一,它是開源的,易于使用和管理,對(duì)于mysql管理員來說,密碼管理是非常重要的,因?yàn)閿?shù)據(jù)庫(kù)可能保存著重要的信息,這篇文章主要介紹了MySQL重置密碼終極版的相關(guān)資料,需要的朋友可以參考下
    2025-07-07
  • Navicat把csv數(shù)據(jù)導(dǎo)入mysql

    Navicat把csv數(shù)據(jù)導(dǎo)入mysql

    這篇文章主要為大家詳細(xì)介紹了Navicat把csv數(shù)據(jù)導(dǎo)入mysql,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-05-05
  • sql四大排名函數(shù)之ROW_NUMBER、RANK、DENSE_RANK、NTILE使用介紹

    sql四大排名函數(shù)之ROW_NUMBER、RANK、DENSE_RANK、NTILE使用介紹

    這篇文章主要介紹了sql四大排名函數(shù)之ROW_NUMBER、RANK、DENSE_RANK、NTILE使用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08

最新評(píng)論

通河县| 辽宁省| 田东县| 抚远县| 大同市| 松原市| 贵港市| 汕头市| 开平市| 葫芦岛市| 章丘市| 泰宁县| 舒兰市| 桑日县| 莒南县| 壶关县| 望城县| 基隆市| 上高县| 阿瓦提县| 桃园县| 武宁县| 三穗县| 专栏| 南康市| 通山县| 华容县| 双城市| 招远市| 内江市| 墨玉县| 高平市| 望奎县| 砀山县| 临沭县| 伊川县| 荣成市| 宁陵县| 金秀| 永宁县| 平山县|