Linux利用mysqld_multi单机启动多个MySQL实例
一、背景说明
以往在使用mysql时用的多的是仅仅使用一个mysql schema,或者多个schema,但一般都是在同一个数据库实例中的,也就是同一个端口的。
mysql双机双向热备份中,机器甲上的myql schema(暂称为A)需要作为热备份(mysql replication)中的master节点,备份的mysql schema(暂称为B)则存在另一台机器乙上。那么双向热备中B也需要配置为master,A则配置为slave,说白了就是配置了两遍热备份,好,到这里机器甲的热备已经搞定了,再轮到乙。我们说到机器乙上也有一个mysql schema(C),也要配置为master,并且备份schema放在机器甲上,但问题来了:备份的mysql schema(B)刚才在配置热备时已经将mysql端口号与master
的角色绑定了,此时若配置C为master会将此前 配置B为master的操作覆盖掉;然后在机器甲上配置C的备份数据库(D)为master时,又会将 配置A为master的操作覆盖了。
那么在此过程中,配置schema A 和B的双向热备分别在两台机器上的默认端口3306上完成,而配置schema C和D的双向热备时,则需要分别在两台机器上不同的mysql实例中完成(端口号不同),下面对启动多个mysql实例进行说明。
二、实现步骤
(1)默认mysql已经安装完成,基本配置已经实现。
(2)配置my.cnf (仅写出本文相关的配置)
[mysqld_multi] mysqld = /opt/mysql/server-5.6/bin/mysqld_safe #根据自己的mysql目录配置 mysqladmin = /opt/mysql/server-5.6/bin/mysqladmin [mysqld1] port = 3307 socket = /tmp/mysql.sock1 pid-file = /opt/mysql/server-5.6/data3307/cloud3.pid3 basedir=/opt/mysql/server-5.6 datadir=/opt/mysql/server-5.6/data3307 log-bin=mysql1-9003-bin user=cloud1 [mysqld2] port = 3308 socket = /tmp/mysql.sock2 pid-file = /opt/mysql/server-5.6/data3308/cloud3.pid2 basedir=/opt/mysql/server-5.6 datadir=/opt/mysql/server-5.6/data3308 log-bin=mysql2-9003-bin user=cloud1
(3)初始化数据库目录(根据配置中目录指向)
cd /opt/mysql/server-5.6/;./scripts/mysql_install_db --datadir=/opt/mysql/server-5.6/data3307 --user=cloud1 cd /opt/mysql/server-5.6/;./scripts/mysql_install_db --datadir=/opt/mysql/server-5.6/data3308 --user=cloud1
初始话成功,会提示OK,否则查看数据库目录是否有权限。
(4)启动实例
使用如下参数来启动mysqld_multi: (注:该命令在mysql的bin目录中 ) 。
mysqld_multi [options] [GNR[,GNR]...]
start,stop和report是指你想到执行的操作。你可以在单独的服务或是多服务上指定一个操作,区别于选项后面的GNR列表。如果没有指定GNR列表,那么mysqld_multi将在所有的服务中根据选项文件进行操作。
每一个GNR的值是组的序列号或是一个组的序列号范围。此项的值必须是组名字最后的数字,比如说如果组名为mysqld17,那么此项的值则为 17。如果指定一个范围,使用"-"(破折号)来连接二个数字。如GNR的值为10-13,则指组mysqld10到组mysqld13。
mysqld_multi --defaults-file=/opt/mysql/server-5.6/my.cnf start 1-2 或者 mysqld_multi --defaults-file=/opt/mysql/server-5.6/my.cnf start 1 mysqld_multi --defaults-file=/opt/mysql/server-5.6/my.cnf start 2
(5)修改密码,登陆
mysqladmin -u root -p -P 3307 -S /tmp/mysql.sock1 password //刚开始默认没有密码,如果要输入密码,直接回车 mysql -u root -p -P 3307 -S /tmp/mysql.sock1
Atas ialah kandungan terperinci Linux利用mysqld_multi单机启动多个MySQL实例. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Penyelesaian kepada Isu Kebenaran Semasa Melihat Versi Python di Terminal Linux Apabila anda cuba melihat versi Python di Terminal Linux, masukkan Python ...

Punca dan penyelesaian untuk kesilapan Apabila menggunakan PECL untuk memasang sambungan dalam persekitaran Docker Apabila menggunakan persekitaran Docker, kami sering menemui beberapa sakit kepala ...

Ramai pemaju laman web menghadapi masalah mengintegrasikan perkhidmatan node.js atau python di bawah seni bina lampu: lampu sedia ada (Linux Apache MySQL PHP) Laman web seni bina memerlukan ...

Menggunakan Python di Terminal Linux ...

Konfigurasikan tugas masa Apscheduler sebagai perkhidmatan di platform macOS, jika anda ingin mengkonfigurasi tugas masa Apscheduler sebagai perkhidmatan, sama dengan Ngin ...

Multithreading dalam bahasa dapat meningkatkan kecekapan program. Terdapat empat cara utama untuk melaksanakan multithreading dalam bahasa C: Buat proses bebas: Buat pelbagai proses berjalan secara bebas, setiap proses mempunyai ruang ingatan sendiri. Pseudo-Multithreading: Buat pelbagai aliran pelaksanaan dalam proses yang berkongsi ruang memori yang sama dan laksanakan secara bergantian. Perpustakaan multi-threaded: Gunakan perpustakaan berbilang threaded seperti PTHREADS untuk membuat dan mengurus benang, menyediakan fungsi operasi benang yang kaya. Coroutine: Pelaksanaan pelbagai threaded ringan yang membahagikan tugas menjadi subtask kecil dan melaksanakannya pada gilirannya.

Mengenai masalah menghapuskan penterjemah python yang dilengkapi dengan sistem Linux, banyak pengagihan Linux akan memasang semula penterjemah python apabila dipasang, dan ia tidak menggunakan pengurus pakej ...

Untuk membuka fail web.xml, anda boleh menggunakan kaedah berikut: Gunakan editor teks (seperti Notepad atau TextEdit) untuk mengedit arahan menggunakan persekitaran pembangunan bersepadu (seperti Eclipse atau NetBeans) (Windows: Notepad Web.xml; Mac/Linux: Open -A -A TextEdit Web.xml)
