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

MacOS使用Docker創(chuàng)建MySQL主從數據庫的方法

 更新時間:2021年12月28日 09:06:21   作者:土倫  
這篇文章主要介紹了MacOS使用Docker創(chuàng)建MySQL主從數據庫,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下

一、拉取MySQL鏡像

通過終端獲取最新的MySQL鏡像

docker pull mysql/mysql-server

二、創(chuàng)建MySQL數據庫容器配置文件對應目錄

我們在當前用戶下創(chuàng)建一組目錄,用來存放MySQL容器配置文件,(Linux下可以省略此步驟)參考下圖:

注意:MySQL8版本以后,需要在映射文件中加入 mysql-files,否則MySQL數據庫容器會創(chuàng)建失敗。

因為在MacOS下不支持vi/vim 直接修改my.cnf文件,也不支持apt-get安裝vim,所以需要在本地新建兩個my.cnf映射文件。(Linux下可以通過vim直接修改配置文件)

master主庫對應的my.cnf配置文件為:

[mysqld]
server_id = 1
log-bin= mysql-bin
read-only=0
replicate-ignore-db=mysql
replicate-ignore-db=sys
replicate-ignore-db=information_schema
replicate-ignore-db=performance_schema

slave從庫對應的my.cnf配置文件為:

[mysqld]
server_id = 2
log-bin= mysql-bin
read-only=1
replicate-ignore-db=mysql
replicate-ignore-db=sys
replicate-ignore-db=information_schema
replicate-ignore-db=performance_schema

三、創(chuàng)建兩個MySQL數據庫容器

創(chuàng)建master主數據庫容器

docker run --name mysql-master -d -p 3307:3306 -e MYSQL_ROOT_PASSWORD=123456 -v /Users/yumaster/test/mysql_master_slave/master/data:/var/lib/mysql -v /Users/yumaster/test/mysql_master_slave/master/conf/my.cnf:/etc/mysql/my.cnf -v /Users/yumaster/test/mysql_master_slave/master/mysql-files:/var/lib/mysql-files mysql/mysql-server

創(chuàng)建slave從數據庫容器

docker run --name mysql-slave -d -p 3308:3306 -e MYSQL_ROOT_PASSWORD=123456 -v /Users/yumaster/test/mysql_master_slave/slave/data:/var/lib/mysql -v /Users/yumaster/test/mysql_master_slave/slave/conf/my.cnf:/etc/mysql/my.cnf -v /Users/yumaster/test/mysql_master_slave/slave/mysql-files:/var/lib/mysql-files mysql/mysql-server

如下圖,說明兩個MySQL容器創(chuàng)建成功

此時我們打開Docker儀表板可以看到,兩個容器已經運行起來了。而且端口就是我們之前創(chuàng)建的對應端口

我們通過Navicat連接會報哦1130錯誤,是因為所連接的用戶賬戶沒有遠程連接的權限。需要更改mysql數據庫里的user表里的host項

把localhost改成%

具體步驟:

mysql> use mysql
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> select host from user where user='root';
+-----------+
| host      |
+-----------+
| localhost |
+-----------+
1 row in set (0.01 sec)

mysql> update user set host='%' where user = 'root';
Query OK, 1 row affected (0.01 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> select host from user where user='root';
+------+
| host |
+------+
| %    |
+------+
1 row in set (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)

四、主從數據庫配置

master主數據庫配置:

//進入master主數據容器
docker exec -it mysql-master mysql -uroot -p123456
//創(chuàng)建一個用戶來同步數據,每個slave使用標準的MySQL用戶名和密碼連接master。進行復制操作的用戶會授予REPLICATION SLAVE 權限。mysql8 之前的版本中加密規(guī)則是mysql_native_password,而在mysql8之后,加密規(guī)則是caching_sha2_password
CREATE USER 'slave'@'%' IDENTIFIED BY '123456';(這樣有可能在slave創(chuàng)建與master連接時報錯)
或
CREATE USER 'slave'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
//對用戶進行授權
GRANT REPLICATION SLAVE ON *.* to 'slave'@'%';
//查看狀態(tài),記住File、Position的值,在Slave中將用到
show master status;
//查詢master容器的IP,會在slave設置主庫連接時用到
docker inspect mysql-master | grep IPA;

mster的狀態(tài),File mysql-bin.000003 Position 661

slave從數據庫配置:

//進入slave從數據容器
docker exec -it mysql-slave mysql -uroot -p123456
//設置主庫鏈接 change master to
change master to master_host='172.17.0.2',master_user='slave',master_password='123456',master_log_file='mysql-bin.000003',master_log_pos=661,master_port=3306;
//啟動從庫同步
start slave;
//查看狀態(tài)
show slave status\G;
//如果 show slave status\G命令結果中出現:
//Slave_IO_Running: Yes
//Slave_SQL_Running: Yes
//以上兩項都為Yes,那說明沒問題了。
//否則,從新配置從數據
stop slave;
reset slave all;

啟動從庫同步成功

五、主從驗證

我們在master上創(chuàng)建一個數據庫,然后創(chuàng)建一張表,再插入一條數據,相應的slave也會增加;

create database master_slave_demo;
use master_slave_demo;
create table userinfo(username varchar(50),age int);
insert into userinfo values('Toulon',25);
select * from userinfo;

在執(zhí)行命令之前,主從數據庫數量相同;

master執(zhí)行命令之后slave增加對應數據

可以發(fā)現主庫新增的數據已經同步過來了,MySQL的主從復制就設置完成了。(測試環(huán)境,MacOS M1 ARM64機器,Docker,MySQL 8.0.27)

到此這篇關于MacOS使用Docker創(chuàng)建MySQL主從數據庫的文章就介紹到這了,更多相關Docker創(chuàng)建MySQL主從數據庫內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Windows?Server?2016中文版安裝docker的詳細步驟

    Windows?Server?2016中文版安裝docker的詳細步驟

    因業(yè)務需要所以需要安裝Docker,但是在途中遇到了一些問題,所以下面這篇文章主要給大家介紹了關于Windows?Server?2016中文版安裝docker的詳細步驟,需要的朋友可以參考下
    2022-07-07
  • 解決docker網絡錯誤(network bridge not found)

    解決docker網絡錯誤(network bridge not found)

    這篇文章主要介紹了解決docker網絡錯誤(network bridge not found)問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • docker-compose啟動minio方式

    docker-compose啟動minio方式

    文章介紹了創(chuàng)建文件夾、配置docker-compose.yml、開啟防火墻以及驗證服務的步驟,適用于新版和老版的RELEASE數據格式
    2025-01-01
  • Docker Elasticsearch集群部署的操作過程

    Docker Elasticsearch集群部署的操作過程

    這篇文章主要介紹了Docker Elasticsearch集群部署的操作過程,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2024-03-03
  • idea整合docker快速部署springboot應用的詳細過程

    idea整合docker快速部署springboot應用的詳細過程

    這篇文章主要介紹了idea整合docker快速部署springboot應用,文中給大家提到關于安裝docker步驟,idea連接遠程docker的方法,需要的朋友可以參考下
    2021-10-10
  • docker.service啟動失?。篣nit not found的原因及解決辦法

    docker.service啟動失敗:Unit not found的原因及解決辦法

    這篇文章主要介紹了docker.service啟動失?。篣nit not found的原因分析及解決辦法,需要的朋友可以參考下
    2017-04-04
  • Docker 容器互聯互通的實現方法

    Docker 容器互聯互通的實現方法

    這篇文章主要介紹了Docker 容器互聯互通,本文講解不同網絡下的容器可以通過加入同一個docker網絡,來訪問該docker網絡下的容器,并且既可以通過容器ip也可以通過容器名連接,非常方便,需要的朋友可以參考下
    2022-10-10
  • 使用Docker容器部署MongoDB并支持遠程訪問及遇到的坑

    使用Docker容器部署MongoDB并支持遠程訪問及遇到的坑

    MongoDB是一個介于關系數據庫和非關系數據庫之間的產品,是非關系數據庫當中功能最豐富,最像關系數據庫的,今天通過本文給大家介紹使用Docker容器部署MongoDB并支持遠程訪問及遇到的坑,感興趣的朋友一起看看吧
    2022-07-07
  • Docker容器搭建運行python的深度學習環(huán)境的方法

    Docker容器搭建運行python的深度學習環(huán)境的方法

    本文主要介紹了Docker容器搭建運行python的深度學習環(huán)境的方法,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • docker部署firefox瀏覽器實現遠程訪問

    docker部署firefox瀏覽器實現遠程訪問

    在使用docker時,默認情況下只能在本地進行訪問,本文就來介紹一下docker部署firefox瀏覽器實現遠程訪問,具有一定的參考價值,感興趣的可以了解一下
    2024-01-01

最新評論

永昌县| 什邡市| 清水县| 威海市| 四平市| 汝南县| 屏边| 潜山县| 阳曲县| 阿拉善左旗| 健康| 凌云县| 轮台县| 泽州县| 吉林省| 龙井市| 宝清县| 上饶市| 泸定县| 乐业县| 神池县| 揭阳市| 肇州县| 望谟县| 仁寿县| 扬州市| 桓仁| 勃利县| 汾阳市| 利津县| 阳泉市| 吕梁市| 潜山县| 阳原县| 锡林郭勒盟| 莎车县| 闻喜县| 黑山县| 河曲县| 阿拉尔市| 扬中市|