五月综合激情婷婷六月,日韩欧美国产一区不卡,他扒开我内裤强吻我下面视频 ,无套内射无矿码免费看黄,天天躁,日日躁,狠狠躁

新聞動(dòng)態(tài)

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

發(fā)布日期:2022-01-31 11:09 | 文章來(lái)源:源碼中國(guó)

一、拉取MySQL鏡像

通過(guò)終端獲取最新的MySQL鏡像

docker pull mysql/mysql-server

二、創(chuàng)建MySQL數(shù)據(jù)庫(kù)容器配置文件對(duì)應(yīng)目錄

我們?cè)诋?dāng)前用戶下創(chuàng)建一組目錄,用來(lái)存放MySQL容器配置文件,(Linux下可以省略此步驟)參考下圖:

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

因?yàn)樵贛acOS下不支持vi/vim 直接修改my.cnf文件,也不支持apt-get安裝vim,所以需要在本地新建兩個(gè)my.cnf映射文件。(Linux下可以通過(guò)vim直接修改配置文件)

master主庫(kù)對(duì)應(yīng)的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從庫(kù)對(duì)應(yīng)的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)建兩個(gè)MySQL數(shù)據(jù)庫(kù)容器

創(chuàng)建master主數(shù)據(jù)庫(kù)容器

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從數(shù)據(jù)庫(kù)容器

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

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

此時(shí)我們打開(kāi)Docker儀表板可以看到,兩個(gè)容器已經(jīng)運(yùn)行起來(lái)了。而且端口就是我們之前創(chuàng)建的對(duì)應(yīng)端口

我們通過(guò)Navicat連接會(huì)報(bào)哦1130錯(cuò)誤,是因?yàn)樗B接的用戶賬戶沒(méi)有遠(yuǎn)程連接的權(quán)限。需要更改mysql數(shù)據(jù)庫(kù)里的user表里的host項(xiàng)

把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)

四、主從數(shù)據(jù)庫(kù)配置

master主數(shù)據(jù)庫(kù)配置:

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

mster的狀態(tài),F(xiàn)ile mysql-bin.000003 Position 661

slave從數(shù)據(jù)庫(kù)配置:

//進(jìn)入slave從數(shù)據(jù)容器
docker exec -it mysql-slave mysql -uroot -p123456
//設(shè)置主庫(kù)鏈接 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;
//啟動(dòng)從庫(kù)同步
start slave;
//查看狀態(tài)
show slave status\G;
//如果 show slave status\G命令結(jié)果中出現(xiàn):
//Slave_IO_Running: Yes
//Slave_SQL_Running: Yes
//以上兩項(xiàng)都為Yes,那說(shuō)明沒(méi)問(wèn)題了。
//否則,從新配置從數(shù)據(jù)
stop slave;
reset slave all;

啟動(dòng)從庫(kù)同步成功

五、主從驗(yàn)證

我們?cè)趍aster上創(chuàng)建一個(gè)數(shù)據(jù)庫(kù),然后創(chuàng)建一張表,再插入一條數(shù)據(jù),相應(yīng)的slave也會(huì)增加;

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í)行命令之前,主從數(shù)據(jù)庫(kù)數(shù)量相同;

master執(zhí)行命令之后slave增加對(duì)應(yīng)數(shù)據(jù)

可以發(fā)現(xiàn)主庫(kù)新增的數(shù)據(jù)已經(jīng)同步過(guò)來(lái)了,MySQL的主從復(fù)制就設(shè)置完成了。(測(cè)試環(huán)境,MacOS M1 ARM64機(jī)器,Docker,MySQL 8.0.27)

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

香港快速服務(wù)器

版權(quán)聲明:本站文章來(lái)源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來(lái)源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非maisonbaluchon.cn所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來(lái)源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來(lái),僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。

相關(guān)文章

實(shí)時(shí)開(kāi)通

自選配置、實(shí)時(shí)開(kāi)通

免備案

全球線路精選!

全天候客戶服務(wù)

7x24全年不間斷在線

專屬顧問(wèn)服務(wù)

1對(duì)1客戶咨詢顧問(wèn)

在線
客服

在線客服:7*24小時(shí)在線

客服
熱線

400-630-3752
7*24小時(shí)客服服務(wù)熱線

關(guān)注
微信

關(guān)注官方微信
頂部