日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長提供免費收錄網(wǎng)站服務(wù),提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

業(yè)務(wù)背景

唉,最近和同事吃飯,大家都覺得每天吃飯路上都在討論一些八卦,既沒營養(yǎng),又無聊!于是乎,有個開發(fā)大牛想了想提出了一個問題:最近服務(wù)器單機MySQL怕有問題,所以想搭建主從,但又不想再另外一臺服務(wù)器上直接裝mysql(裝太多太亂)!樊*,你不是會Docker嘛!麻煩你用docker在我的兩臺服務(wù)器上搭建一個主從唄!

docker mysql主從,跨公網(wǎng)IP

 

難點分析

  1. MYSQL 容器里不能使用vim
  2. 兩臺服務(wù)器跨區(qū),需要使用公網(wǎng)IP

安裝步驟

一、主庫安裝

  1. 參照dockerhub描述創(chuàng)建一個mysql基礎(chǔ)容器
    方法一:
    可以創(chuàng)建一個最簡單myql容器,然后再修改配置
    docker run --name fanrui_mysql_master -e MYSQL_ROOT_PASSword=my-secret-pw -d mysql:tag 
    方法二:
    創(chuàng)建一個帶映射配置文件的容器(請注意下面在一行執(zhí)行)
    docker run --name some-mysql -v /my/custom:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag
    **注: 之所以介紹兩種方式是因為第一種方法需要進入容器內(nèi)編輯配置文件,從而導(dǎo)致not foud vim
    解決方法:1 apt-get update 2 apt-get install vim 這兩個步驟都有可能會失敗,而且特別慢,只能耐心等待,或者去喝杯咖啡了, 失敗的話,重新執(zhí)行一次或幾次還是可以成功的(我暫時沒有加速的辦法)****注:第二種方法需要重點注意映射的的宿主機路徑與容器路徑的關(guān)系,可能導(dǎo)致映射失敗
    解決方法:1 映射前宿主機chmod 777 宿主機目錄       2 目錄一定要映射到足夠深的目錄**注:下圖1是我按照dockehub上的介紹,映射到1的位置,編輯mysql配置文件mysql.cnf不生效
    下圖2是我按照dockehub上的介紹,映射到2的位置,編輯mysql配置文件mysqld.cnf可生效
  2. 編輯mysqld.cnf
    在[mysqld]下添加
    # 這里的 server-id 相對于從庫唯一即可
    server-id = 1
    log-bin = mysql-bin
  3. 重啟mysql服務(wù),停止容器,再重啟動容器即可
    docker stop mysql容器
    docker start mysql容器
  4. 進入主mysql,查看master信息

二、從庫安裝

1.從庫容器創(chuàng)建:參照主庫容器
2. 修改配置文件
路徑:/etc/mysql/mysql.cnf.d/mysql.cnf
在[mysqld]下添加
# 這里的 server-id 相對于主庫唯一即可
server-id = 13
log-bin = mysql-slave-bin
relay-log =edu-mysql-replay-bin

docker mysql主從,跨公網(wǎng)IP

 


3. 重啟mysql服務(wù),停止容器,再重啟動容器即可
docker stop mysql容器
docker start mysql容器
4. 進入mysql從庫,執(zhí)行下面語句
該語句功能為給從庫指定同步目標(biāo)
change master to master_host='公網(wǎng)IP', master_user='root', master_password='123456', master_port=3306, master_log_file='mysql-bin.000003主庫剛才查到的', master_log_pos= 2830同步位置, master_connect_retry=30;
注:正常情況不應(yīng)該用root去同步,為了試驗方便就暫時用root吧

5.檢查配置狀態(tài)
執(zhí)行:show slave status G;
在沒有執(zhí)行start slave的時候,兩個yes,應(yīng)該是兩個No,不過沒有問題,不是錯誤
執(zhí)行:start slave,再執(zhí)行 show slave status G;
如果一個yes,一個一直是connectioning,那么恭喜你,只差最后一步了!

docker mysql主從,跨公網(wǎng)IP

 

三、公網(wǎng)配置

  1. 關(guān)閉主從庫容器,并打包成新的鏡像
    鏡像打包請參照:鏡像打包
  2. 創(chuàng)建新的主從容器,并分別將2375端口映射到3306
    docker run -d --name new_main -p 2375:3306 新主庫鏡像:tag
    docker run -d --name new_slave -p 2375:3306 新從庫鏡像:tag
  3. 重新進入從庫容器,執(zhí)行步驟二的第4,5操作
    執(zhí)行:start slave,再執(zhí)行 show slave status G;之后如果兩項都是yes,則說明已經(jīng)可正常同步!
  • 如果是云服務(wù)器,一定要在安全組打開2375端口
  • 如果是云服務(wù)器,一定要在安全組打開2375端口
  • 如果是云服務(wù)器,一定要在安全組打開2375端口四、測試
  1. 通過工具主庫創(chuàng)建一個測試數(shù)據(jù)庫,刷新從庫 create database testDockerPublic;

總結(jié):這種方式其實并不是可以上生產(chǎn)環(huán)境的,因為2375本身存在安全隱患,如果哪位博友對docker網(wǎng)絡(luò)比較熟悉,也希望能再評論區(qū)留下您的地址,不剩感激!

相關(guān)參考

https://www.cnblogs.com/songwenjie/p/9371422.html
https://www.jianshu.com/p/3eb1e178f51b
https://blog.csdn.net/qq_38423105/article/details/88385673
https://www.cnblogs.com/xiohao/p/9059256.html

分享到:
標(biāo)簽:docker
用戶無頭像

網(wǎng)友整理

注冊時間:

網(wǎng)站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨大挑戰(zhàn)2018-06-03

數(shù)獨一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學(xué)四六

運動步數(shù)有氧達人2018-06-03

記錄運動步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績評定2018-06-03

通用課目體育訓(xùn)練成績評定