Dans le passé, lors de l'utilisation de MySQL, il était principalement utilisé pour utiliser un seul schéma MySQL ou plusieurs schémas, mais ils se trouvaient généralement dans la même instance de base de données, c'est-à-dire le même port.
Dans la sauvegarde à chaud bidirectionnelle sur deux machines MySQL, le schéma myql sur la machine A (appelé provisoirement A) doit être utilisé comme nœud maître dans la sauvegarde à chaud (réplication mysql) et le schéma mysql de sauvegarde (appelé provisoirement B) existe dans une autre Machine B. Ensuite, dans la sauvegarde à chaud bidirectionnelle, B doit également être configuré en tant que maître et A est configuré en tant qu'esclave. Pour parler franchement, la sauvegarde à chaud est configurée deux fois, maintenant la sauvegarde à chaud de la machine A est terminée. et c'est au tour de B. Nous avons mentionné qu'il existe également un schéma mysql (C) sur la machine B, qui doit également être configuré en tant que maître, et que le schéma de sauvegarde est placé sur la machine A, mais voici le problème : le schéma mysql de sauvegarde (B) vient de été configuré avec MySQL lors de la configuration du numéro de port et du maître de secours.
Le rôle est lié. À ce stade, si C est configuré en tant que maître, la configuration précédente de B en tant que maître sera écrasée. Ensuite, lorsque la base de données de sauvegarde (D) sera configurée en tant que maître sur la machine A, A sera configuré en tant que maître. Opération couverte.
Ainsi, dans ce processus, la configuration de la veille chaude bidirectionnelle des schémas A et B est terminée sur le port par défaut 3306 sur les deux machines respectivement. Lors de la configuration de la veille chaude bidirectionnelle des schémas C et D, vous devez. configurer la veille chaude bidirectionnelle des schémas C et D sur les deux machines respectivement Terminé dans différentes instances mysql (différents numéros de port), ce qui suit explique comment démarrer plusieurs instances mysql.
[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
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
Si l'initialisation réussit, OK sera demandé. Sinon, vérifiez si le répertoire de la base de données dispose des autorisations.
Utilisez les paramètres suivants pour démarrer mysqld_multi : (Remarque : cette commande se trouve dans le répertoire bin de mysql).
mysqld_multi [options] [GNR[,GNR]...]
démarrer, arrêter et signaler font référence aux opérations que vous souhaitez effectuer. Vous pouvez spécifier une opération sur un seul service ou sur plusieurs services, à la différence de la liste GNR suivant les options. Si aucune liste GNR n'est spécifiée, mysqld_multi fonctionnera selon le fichier d'options dans tous les services.
La valeur de chaque GNR est le numéro de séquence du groupe ou la plage de numéros de séquence d'un groupe. La valeur de cet élément doit être le dernier numéro du nom du groupe. Par exemple, si le nom du groupe est mysqld17, alors la valeur de cet élément est 17. Si vous spécifiez une plage, utilisez "-" (tiret) pour relier les deux nombres. Si la valeur de GNR est 10-13, elle fait référence au groupe mysqld10 au groupe 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
mysqladmin -u root -p -P 3307 -S /tmp/mysql.sock1 password //刚开始默认没有密码,如果要输入密码,直接回车 mysql -u root -p -P 3307 -S /tmp/mysql.sock1
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!