Rumah > pangkalan data > tutorial mysql > Ajar anda langkah demi langkah cara menyediakan replikasi tuan-hamba dalam Mysql5.7

Ajar anda langkah demi langkah cara menyediakan replikasi tuan-hamba dalam Mysql5.7

青灯夜游
Lepaskan: 2021-08-26 11:02:38
ke hadapan
2890 orang telah melayarinya

Bagaimana untuk menyediakan replikasi tuan-hamba dalam Mysql5.7? Artikel berikut akan memperkenalkan kepada anda langkah-langkah untuk membina replikasi Mysql5.7-master-slave. Rakan yang memerlukan boleh mempelajarinya~

Ajar anda langkah demi langkah cara menyediakan replikasi tuan-hamba dalam Mysql5.7

1 🎜>

Replikasi tuan-hamba boleh merealisasikan sandaran pangkalan data dan pemisahan baca-tulis:

Untuk mengelakkan ketiadaan perkhidmatan dan memastikan keselamatan dan kebolehpercayaan data, kami perlu menggunakan sekurang-kurangnya dua atau lebih Lebih daripada satu pelayan diperlukan untuk menyimpan data pangkalan data, iaitu, kami perlu menyalin data dan menggunakannya pada berbilang pelayan yang berbeza Walaupun satu pelayan gagal, pelayan lain masih boleh meneruskan perkhidmatan
MySQL menyediakan fungsi Replikasi induk-hamba untuk meningkatkan ketersediaan perkhidmatan dan keselamatan dan kebolehpercayaan data

Replikasi induk-hamba bermakna pelayan dibahagikan kepada pelayan induk dan pelayan induk bertanggungjawab untuk membaca dan menulis. dan pelayan hamba hanya bertanggungjawab untuk membaca Master-hamba replikasi juga dipanggil tuan / hamba, tuan adalah tuan dan hamba adalah hamba, tetapi ia tidak wajib, iaitu hamba juga boleh menulis dan tuan. boleh membaca, tetapi secara amnya kita tidak melakukan ini.

2. Seni bina replikasi tuan-hamba

Seni bina satu tuan dan berbilang hamba:


Ajar anda langkah demi langkah cara menyediakan replikasi tuan-hamba dalam Mysql5.7Berbilang tuan dan seni bina berbilang hamba :

Ajar anda langkah demi langkah cara menyediakan replikasi tuan-hamba dalam Mysql5.7Prinsip replikasi tuan-hamba:

Apabila data pada pelayan induk berubah, perubahan ditulis
  1. salve dalam fail log peristiwa binari Pelayan hamba akan mengesan log binari pada pelayan induk dalam selang masa tertentu untuk mengesan sama ada ia telah berubah Jika ia mengesan bahawa log peristiwa binari pelayan induk telah ditukar Tukar, kemudian mulakan Benang I/O untuk meminta log peristiwa binari induk
  2. Pada masa yang sama, pelayan induk memulakan Benang pembuangan untuk setiap Benang I/O untuk menghantarnya log peristiwa binari
  3. hamba Pelayan hamba akan menyimpan log peristiwa perduaan yang diterima ke fail log geganti setempatnya sendiri
  4. salve Pelayan hamba akan memulakan Benang SQL untuk membaca log perduaan daripada log geganti dan memainkannya semula secara setempat ke jadikan datanya Selaras dengan pelayan utama;
  5. Akhir sekali, Benang I/O dan Benang SQL akan memasuki keadaan tidur dan menunggu masa berikutnya ia dikejutkan
  6. 3 . Persediaan satu tuan dan berbilang hamba

Persekitaran binaan:


1. Linux 版本 CentOS release 6.9 (Final)Alamat muat turun
2. mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz

1. 5.7.26-linux-glibc2.12-x86_64 .tar.gz

#/usr/local下解压
tar xzvf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz
#重命名文件
mv mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz mysql
Salin selepas log masuk
2. Buat direktori data berbilang contoh

cd /usr/local/mysql
mkdir data
cd data
#主
mkdir 3306
#从
mkdir 3307
Salin selepas log masuk

Ajar anda langkah demi langkah cara menyediakan replikasi tuan-hamba dalam Mysql5.73. Permulaan Pangkalan Data

Jika ralat berlaku, laksanakan
#mysql 安装bin目录下执行
#initialize-insecure 表示不生成MySQL数据库root用户的随机密码,即root密码为空

#初始化3306
./mysqld --initialize-insecure --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/3306 --user=mysql
#初始化3307
./mysqld --initialize-insecure --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/3307 --user=mysql
Salin selepas log masuk


yum install libaio-devel.x86_64
yum -y install numactlAjar anda langkah demi langkah cara menyediakan replikasi tuan-hamba dalam Mysql5.74. Cipta fail konfigurasi my.cnf untuk setiap pangkalan data

注意:
1.建议在linux下创建文件防止windows 与 linux 编码不一致
2.不同的实例下配置要修改端口号
3.将修改好的my.cnf分别放至3306、3307文件夹内

[client]
port        = 3306
socket      = /usr/local/mysql/data/3306/mysql.sock
default-character-set=utf8

[mysqld]
port    = 3306
socket  = /usr/local/mysql/data/3306/mysql.sock
datadir = /usr/local/mysql/data/3306
log-error = /usr/local/mysql/data/3306/error.log
pid-file = /usr/local/mysql/data/3306/mysql.pid

character-set-server=utf8
lower_case_table_names=1
autocommit = 1

log-bin=mysql-bin
server-id=3306
Salin selepas log masuk
5. Permulaan berbilang contoh

Tukar ke direktori /usr/local/mysql-5.7.24/bin, gunakan perintah msyqld_safe untuk menentukan fail konfigurasi dan mulakan Perkhidmatan MySQL:


#其中 --defaults-file 是指定配置文件,& 符合表示后台启动
./mysqld_safe --defaults-file=/usr/local/mysql/data/3306/my.cnf &
./mysqld_safe --defaults-file=/usr/local/mysql/data/3307/my.cnf &
Salin selepas log masuk
6.

7. Konfigurasi id unik pangkalan data

分别在各个实例内进行配置 如3306:

#客户端连接
./mysql -uroot -p -P3306 -h127.0.0.1
#修改Mysql密码
alter user 'root'@'localhost' identified by 'root';
#授权远程访问(这样远程客户端才能访问)
grant all privileges on *.* to root@'%' identified by 'root';
#刷新配置
flush privileges;
Salin selepas log masuk

客户端连接测试
Ajar anda langkah demi langkah cara menyediakan replikasi tuan-hamba dalam Mysql5.7

7. Tetapan hos1.确定各个实例正常启动无误后进行主从配置
2.关闭实例分别在各个实例的my.cnf文件加入以下配置

#/usr/local/mysql/bin 关闭实例
./mysqladmin -uroot -p -P3307 -h127.0.0.1 shutdown
./mysqladmin -uroot -p -P3306 -h127.0.0.1 shutdown

#新加的配置
log-bin=mysql-bin   	#表示启用二进制日志
server-id=3307 		#表示server编号,编号要唯一 建议和端口保持一致
Salin selepas log masuk

加入完毕后启动各个实例

./mysqld_safe --defaults-file=/usr/local/mysql/data/3306/my.cnf &

./mysqld_safe --defaults-file=/usr/local/mysql/data/3307/my.cnf &
Salin selepas log masuk


1.在主服务器上创建复制数据的账号并授权

7. Tetapan hamba
#在/usr/local/mysql/bin目录下执行 
 ./mysql -uroot -p -P3306 -h127.0.0.1
 grant replication slave on *.* to 'copy'@'%' identified by 'root';
Salin selepas log masuk

2.查看主服务器状态 1.

# mysql主服务器默认初始值:
#			File:mysql-bin.000001
#			Position:154

show master status;
Salin selepas log masuk

3.如果主服务状态不是初始状态,需要重置状态

reset master;
Salin selepas log masuk

需要登录到 3306|3307|3308的从机客户端

#在/usr/local/mysql/bin目录下执行  多台从机‘|’分隔
./mysql -uroot -p -P3308|3309|3310 -h127.0.0.1
Salin selepas log masuk

2.查看从机状态

#初始状态:Empty set 
show slave status;
Salin selepas log masuk

3.若不是初始状态,重置一下

stop slave; 	#停止复制,相当于终止从服务器上的IO和SQL线程
reset slave;
Salin selepas log masuk
show slave status \G;
Salin selepas log masuk

Ajar anda langkah demi langkah cara menyediakan replikasi tuan-hamba dalam Mysql5.7
7.测试主从复制

在主数据库中进行创建表,从库同步就算搭建成功了!
Ajar anda langkah demi langkah cara menyediakan replikasi tuan-hamba dalam Mysql5.7
若你在从库进行写操作,则从服务器不再同步主库数据,在从库中执行此命令即可解决!

stop slave;
set global sql_slave_skip_counter =1;
start slave;
show slave status\G;
Salin selepas log masuk

若主从复制速度较慢的话,执行此命令

 slave-parallel-type=LOGICAL_CLOCK
 slave-parallel-workers=16
 master_info_repository=TABLE
 relay_log_info_repository=TABLE
 relay_log_recovery=ON
Salin selepas log masuk

相关学习推荐:mysql教程(视频)

Atas ialah kandungan terperinci Ajar anda langkah demi langkah cara menyediakan replikasi tuan-hamba dalam Mysql5.7. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:csdn.net
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan