MySQL复制简述 MySQL支持单向、异步复制,复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器。MySQL复制基
MySQL复制简述
MySQL支持单向、异步复制,复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器。MySQL复制基于主服务器在二进制日志中跟踪所有对数据库的更改(更新、删除等等)。因此,要进行复制,必须在主服务器上启用二进制日志。每个从服务器从主服务器接收主服务器上已经记录到其二进制日志的保存的更新。当一个从服务器连接主服务器时,它通知主服务器定位到从服务器在日志中读取的最后一次成功更新的位置。从服务器接收从那时起发生的任何更新,并在本机上执行相同的更新。然后封锁并等待主服务器通知新的更新。从服务器执行备份不会干扰主服务器,在备份过程中主服务器可以继续处理更新。
1、测试环境说明
主DB服务器IP地址:192.168.113.9
从DB服务器IP地址:192.168.113.8
System OS: Debian 5.0.7-32bit
MySQL Vsertion: 5.0.51a-24+lenny5-log (Debian)
#apt-get install mysql-server mysql-client
2、主DB服务器上操作说明
(1)创建同步用户名和被同步库
mysql> grant replication slave on *.* to 'repuser'@'192.168.113.8' identified by '111111';
mysql> flush privileges;
mysql> create database testdb;
mysql> use testdb;
mysql> create table testuser(id int(4),name varchar(20));
mysql> insert into testuser values(1,'test1');
mysql> flush privileges;
mysql> select * from testuser;
+------+-------+
| id | name |
+------+-------+
| 1 | test1 |
+------+-------+ 1 row in set (0.00 sec)
(2)备份被同步数据库到从DB服务器上
mysql>flush tables with read lock; //设置读锁
mysql>show master status; //得到binlog日志文件名和偏移量
+------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000001 | 98 | testdb | mysql |
+------------------+----------+--------------+------------------+
1 row in set (0.00 sec)
mysql>show master status; //分行显示主数据库的状态
mysql>show master logs; //显示主数据库日志
# mysqldump -uroot -p testdb >/home/testdb.sql //方法1:备份要同步的testdb数据库到从DB服务器上还原
#cd /var/lib/mysql //方法2:解压到从DB服务器/var/lib/mysql/
#tar zcvf testdb.tar.gz testdb/
#scp -22 testdb.tar.gz root@192.168.113.8:/home/
mysql> unlock tables; //解锁
(3)配置主DB的my.cnf文件
#cd /etc/mysql
#cp my.cnf my.cnf_back
#vim my.cnf
bind-address = 127.0.0.1 //找到后在其前添加 # 注释掉本行
//找到 #server-id 修改如下内容为:
server-id = 1 //唯一标识,只要不和从服务器相同就行了
log_bin = /var/log/mysql/mysql-bin.log //必须开启这里,告诉主服务器以二进制日志,要mysql用户权限
expire_logs_days = 10
max_binlog_size = 100M
binlog_do_db = testdb //要同步的数据库,,多个数据库可用逗号分隔或者可写多行
binlog_ignore_db = mysql //忽略不同步的数据库,多可写多行
#/etc/init.d/mysql restart
3、从DB服务器上操作说明
(1)mysql -u repuser -p -h 192.168.113.1 //测试主DB上创建的repuser账号时候可以远程连接主DB
(2)配置从DB的my.cnf文件
#cd /etc/mysql
#cp my.cnf my.cnf_back
#vim my.cnf //找到 #server-id 修改如下内容为:
server-id = 2
master-host = 192.168.113.9 //主DB服务器IP地址
master-user = repuser
master-password = 111111
master-port = 3306
master-connect-retry = 15
replicate-do-db = testdb //要同步的数据库,多个数据库可用逗号分隔或者可写多行
replicate-ignore-db = mysql
log_bin = /var/log/mysql/mysql-bin.log
expire_logs_days = 10
max_binlog_size = 100M
(3)调试从DB
#/etc/init.d/mysql restart
mysql> start slave; //启动复制线程,stop slave 停止复制线程
mysql> show processlist;
State: Has read all relay log; waiting for the slave I/O thread to update it
Info: NULL
//表示slave已经连接上master,开始接受并执行日志
mysql> show slave status\G; //分行显示复制线程状态
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
//查看以上两项的值,均为Yes则表示状态正常。

Cardinality Indeks MySQL mempunyai kesan yang signifikan terhadap prestasi pertanyaan: 1. Indeks kardinaliti yang tinggi dapat lebih berkesan menyempitkan julat data dan meningkatkan kecekapan pertanyaan; 2. Indeks kardinaliti yang rendah boleh membawa kepada pengimbasan jadual penuh dan mengurangkan prestasi pertanyaan; 3. Dalam indeks bersama, urutan kardinaliti yang tinggi harus diletakkan di depan untuk mengoptimumkan pertanyaan.

Laluan pembelajaran MySQL termasuk pengetahuan asas, konsep teras, contoh penggunaan, dan teknik pengoptimuman. 1) Memahami konsep asas seperti jadual, baris, lajur, dan pertanyaan SQL. 2) Ketahui definisi, prinsip kerja dan kelebihan MySQL. 3) menguasai operasi CRUD asas dan penggunaan lanjutan, seperti indeks dan prosedur yang disimpan. 4) Biasa dengan debugging kesilapan biasa dan cadangan pengoptimuman prestasi, seperti penggunaan rasional indeks dan pertanyaan pengoptimuman. Melalui langkah -langkah ini, anda akan memahami sepenuhnya penggunaan dan pengoptimuman MySQL.

Aplikasi dunia nyata MySQL termasuk reka bentuk pangkalan data asas dan pengoptimuman pertanyaan kompleks. 1) Penggunaan Asas: Digunakan untuk menyimpan dan mengurus data pengguna, seperti memasukkan, menanyakan, mengemas kini dan memadam maklumat pengguna. 2) Penggunaan lanjutan: Mengendalikan logik perniagaan yang kompleks, seperti perintah dan pengurusan inventori platform e-dagang. 3) Pengoptimuman Prestasi: Meningkatkan prestasi dengan menggunakan indeks, jadual partisi dan cache pertanyaan.

Perintah SQL di MySQL boleh dibahagikan kepada kategori seperti DDL, DML, DQL, dan DCL, dan digunakan untuk membuat, mengubah suai, memadam pangkalan data dan jadual, memasukkan, mengemas kini, memadam data, dan melakukan operasi pertanyaan yang kompleks. 1. Penggunaan asas termasuk jadual penciptaan createtable, memasukkan data memasukkan, dan pilih data pertanyaan. 2. Penggunaan lanjutan melibatkan gabungan untuk Jadual Bergabung, Subqueries dan Groupby untuk Agregasi Data. 3. Kesilapan umum seperti kesilapan sintaks, jenis data yang tidak sepadan dan masalah kebenaran boleh disahpepijat melalui pemeriksaan sintaks, penukaran jenis data dan pengurusan kebenaran. 4. Cadangan Pengoptimuman Prestasi termasuk menggunakan indeks, mengelakkan pengimbasan jadual penuh, mengoptimumkan operasi gabungan dan menggunakan transaksi untuk memastikan konsistensi data.

InnoDB mencapai atomik melalui undolog, konsistensi dan pengasingan melalui mekanisme penguncian dan MVCC, dan kegigihan melalui redolog. 1) Atomicity: Gunakan Undolog untuk merekodkan data asal untuk memastikan urus niaga dapat dilancarkan kembali. 2) Konsistensi: Memastikan konsistensi data melalui penguncian peringkat baris dan MVCC. 3) Pengasingan: Menyokong pelbagai tahap pengasingan, dan RepeatableRead digunakan secara lalai. 4) Kegigihan: Gunakan redolog untuk merekodkan pengubahsuaian untuk memastikan data disimpan untuk masa yang lama.

Kedudukan MySQL dalam pangkalan data dan pengaturcaraan sangat penting. Ia adalah sistem pengurusan pangkalan data sumber terbuka yang digunakan secara meluas dalam pelbagai senario aplikasi. 1) MySQL menyediakan fungsi penyimpanan data, organisasi dan pengambilan data yang cekap, sistem sokongan web, mudah alih dan perusahaan. 2) Ia menggunakan seni bina pelanggan-pelayan, menyokong pelbagai enjin penyimpanan dan pengoptimuman indeks. 3) Penggunaan asas termasuk membuat jadual dan memasukkan data, dan penggunaan lanjutan melibatkan pelbagai meja dan pertanyaan kompleks. 4) Soalan -soalan yang sering ditanya seperti kesilapan sintaks SQL dan isu -isu prestasi boleh disahpepijat melalui arahan jelas dan log pertanyaan perlahan. 5) Kaedah pengoptimuman prestasi termasuk penggunaan indeks rasional, pertanyaan yang dioptimumkan dan penggunaan cache. Amalan terbaik termasuk menggunakan urus niaga dan preparedStatemen

MySQL sesuai untuk perusahaan kecil dan besar. 1) Perniagaan kecil boleh menggunakan MySQL untuk pengurusan data asas, seperti menyimpan maklumat pelanggan. 2) Perusahaan besar boleh menggunakan MySQL untuk memproses data besar dan logik perniagaan yang kompleks untuk mengoptimumkan prestasi pertanyaan dan pemprosesan transaksi.

InnoDB secara berkesan menghalang pembacaan hantu melalui mekanisme utama. 1) Kekunci seterusnya menggabungkan kunci baris dan kunci jurang untuk mengunci rekod dan jurang mereka untuk mengelakkan rekod baru daripada dimasukkan. 2) Dalam aplikasi praktikal, dengan mengoptimumkan pertanyaan dan menyesuaikan tahap pengasingan, persaingan kunci dapat dikurangkan dan prestasi konkurensi dapat ditingkatkan.


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

SublimeText3 Linux versi baharu
SublimeText3 Linux versi terkini

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

ZendStudio 13.5.1 Mac
Persekitaran pembangunan bersepadu PHP yang berkuasa

Penyesuai Pelayan SAP NetWeaver untuk Eclipse
Integrasikan Eclipse dengan pelayan aplikasi SAP NetWeaver.

EditPlus versi Cina retak
Saiz kecil, penyerlahan sintaks, tidak menyokong fungsi gesaan kod