CentOS 6.4系统MySQL主从复制基本配置实践
对于MySQL数据库一般用途的主从复制,可以实现数据的备份(如果希望在主节点失效后,能够使从节点自动接管,就需要更加复杂的配置,这里暂时先不考虑),如果主节点出现硬件故障,数据库服务器可以直接手动切换成备份节点(从节点),继续提供服务。基本的主
对于MySQL数据库一般用途的主从复制,可以实现数据的备份(如果希望在主节点失效后,能够使从节点自动接管,就需要更加复杂的配置,这里暂时先不考虑),如果主节点出现硬件故障,数据库服务器可以直接手动切换成备份节点(从节点),继续提供服务。基本的主从复制配置起来非常容易,这里我们做个简单的记录总结。
我们选择两台服务器来进行MySQL的主从复制实践,一台m1作为主节点,另一台nn作为从节点。
两台机器上都需要安装MySQL数据库,如果想要卸掉默认安装的,可以执行如下命令:
sudo rpm -e --nodeps mysql yum list | grep mysql
现在可以在CentOS 6.4上直接执行如下命令进行安装:
sudo yum install -y mysql-server mysql mysql-deve
为root用户设置密码:
mysqladmin -u root password 'shiyanjun'
然后可以直接通过MySQL客户端登录:
mysql -u root -p
主节点配置
首先,考虑到数据库的安全,以及便于管理,我们需要在主节点m1上增加一个专用的复制用户,使得任意想要从主节点进行复制从节点都必须使用这个账号:
CREATE USER repli_user; GRANT REPLICATION SLAVE ON *.* TO 'repli_user'@'%' IDENTIFIED BY 'shiyanjun';
这里还进行了操作授权,使用这个换用账号来执行集群复制。如果想要限制IP端段,也可以在这里进行配置授权。
然后,在主节点m1上,修改MySQL配置文件/etc/my.cnf,使其支持Master复制功能,修改后的内容如下所示:
[mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock user=mysql # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 server-id=1 log-bin=m-bin log-bin-index=m-bin.index [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid
server-id指明主节点的身份,从节点通过这个server-id来识别该节点是Master节点(复制架构中的源数据库服务器节点)。
如果MySQL当前已经启动,修改完集群复制配置后需要重启服务器:
sudo service mysqld restart
从节点配置
接着,类似地进行从节点nn的配置,同样修改MySQL配置文件/etc/my.cnf,使其支持Slave端复制功能,修改后的内容如下所示:
[mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock user=mysql # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 server-id=2 relay-log=slave-relay-bin relay-log-index=slave-relay-bin.index [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid
同样,如果MySQL当前已经启动,修改完集群复制配置后需要重启服务器:
sudo service mysqld restart
然后,需要使从节点nn指向主节点,并启动Slave复制,执行如下命令:
CHANGE MASTER TO MASTER_HOST='m1', MASTER_PORT=3306, MASTER_USER='repli_user', MASTER_PASSWORD='shiyanjun'; START SLAVE;
验证集群复制
这时,可以在主节点m1上执行相关操作,验证从节点nn同步复制了主节点的数据库中的内容变更。
如果此时,我们已经配置好了主从复制,那么对于主节点m1上MysQL数据库的任何变更都会复制到从节点nn上,包括建库建表、插入更新等操作,下面我们从建库开始:
在主节点m1上建库建表:
CREATE DATABASE workflow; CREATE TABLE `workflow`.`project` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(100) NOT NULL, `type` tinyint(4) NOT NULL DEFAULT '0', `description` varchar(500) DEFAULT NULL, `create_at` date DEFAULT NULL, `update_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, `status` tinyint(4) NOT NULL DEFAULT '0', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
在m1上查看binlog内容,执行命令:
SHOW BINLOG EVENTS\G
binlog内容内容如下所示:
*************************** 1. row *************************** Log_name: m-bin.000001 Pos: 4 Event_type: Format_desc Server_id: 1 End_log_pos: 106 Info: Server ver: 5.1.73-log, Binlog ver: 4 *************************** 2. row *************************** Log_name: m-bin.000001 Pos: 106 Event_type: Query Server_id: 1 End_log_pos: 197 Info: CREATE DATABASE workflow *************************** 3. row *************************** Log_name: m-bin.000001 Pos: 197 Event_type: Query Server_id: 1 End_log_pos: 671 Info: CREATE TABLE `workflow`.`project` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(100) NOT NULL, `type` tinyint(4) NOT NULL DEFAULT '0', `description` varchar(500) DEFAULT NULL, `create_at` date DEFAULT NULL, `update_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, `status` tinyint(4) NOT NULL DEFAULT '0', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 3 rows in set (0.00 sec)
通过上述binlog内容,我们大概可以看到MySQL的binlog都记录那些信息,一个事件对应一行记录。这些记录信息的组织结构如下所示:
- Log_name:日志名称,指定的记录操作的binlog日志名称,这里是m-bin.000001,与我们前面在/etc/my.cnf中配置的相对应
- Pos:记录事件的起始位置
- Event_type:事件类型
- End_log_pos:记录事件的结束位置
- Server_id:服务器标识
- Info:事件描述信息
然后,我们可以查看在从节点nn上复制的情况。通过如下命令查看从节点nn上数据库和表的信息:
SHOW DATABASES; USE workflow; SHOW TABLES; DESC project;
我们再看一下执行插入语句的情况。在主节点m1上执行如下SQL语句:
INSERT INTO `workflow`.`project` VALUES(1, 'Avatar-II', 1, 'Avatar-II project', '2014-02-16', '2014-02-16 11:09:54', 0);
可以在从节点上执行查询,看到从节点nn上复制了主节点m1上执行的INSERT语句的记录:
SELECT * FROM workflow.project;
验证复制成功。
复制常用命令
下面,我们总结了几个在MySQL主从复制场景中常用到的几个相关命令:
- 终止主节点复制
STOP MASTER;
- 清除主节点复制文件
RESET MASTER;
- 终止从节点复制
STOP SLAVE;
- 清除从节点复制文件
RESET SLAVE;
- 查看主节点复制状态
SHOW MASTER STATUS\G;
结果示例:
*************************** 1. row *************************** File: m-bin.000001 Position: 956 Binlog_Do_DB: Binlog_Ignore_DB: 1 row in set (0.00 sec)
- 查看从节点复制状态
SHOW SLAVE STATUS\G;
结果示例:
*************************** 1. row *************************** Slave_IO_State: Waiting for master to send event Master_Host: m1 Master_User: repli_user Master_Port: 3306 Connect_Retry: 60 Master_Log_File: m-bin.000001 Read_Master_Log_Pos: 956 Relay_Log_File: slave-relay-bin.000002 Relay_Log_Pos: 1097 Relay_Master_Log_File: m-bin.000001 Slave_IO_Running: Yes Slave_SQL_Running: Yes Replicate_Do_DB: Replicate_Ignore_DB: Replicate_Do_Table: Replicate_Ignore_Table: Replicate_Wild_Do_Table: Replicate_Wild_Ignore_Table: Last_Errno: 0 Last_Error: Skip_Counter: 0 Exec_Master_Log_Pos: 956 Relay_Log_Space: 1252 Until_Condition: None Until_Log_File: Until_Log_Pos: 0 Master_SSL_Allowed: No Master_SSL_CA_File: Master_SSL_CA_Path: Master_SSL_Cert: Master_SSL_Cipher: Master_SSL_Key: Seconds_Behind_Master: 0 Master_SSL_Verify_Server_Cert: No Last_IO_Errno: 0 Last_IO_Error: Last_SQL_Errno: 0 Last_SQL_Error: 1 row in set (0.00 sec)
- 查看BINLOG列表
SHOW BINARY LOGS\G
原文地址:CentOS 6.4系统MySQL主从复制基本配置实践, 感谢原作者分享。

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds





Améliorer les performances HDFS sur CentOS: un guide d'optimisation complet pour optimiser les HDF (système de fichiers distribué Hadoop) sur CentOS nécessite une considération complète du matériel, de la configuration du système et des paramètres réseau. Cet article fournit une série de stratégies d'optimisation pour vous aider à améliorer les performances du HDFS. 1. Expansion de la mise à niveau matérielle et des ressources de sélection: augmentez autant que possible le CPU, la mémoire et la capacité de stockage du serveur. Matériel haute performance: adopte les cartes réseau et les commutateurs de réseau haute performance pour améliorer le débit du réseau. 2. Configuration du système Réglage des paramètres du noyau à réglage fin: Modifier /etc/sysctl.conf Fichier pour optimiser les paramètres du noyau tels que le numéro de connexion TCP, le numéro de manche de fichier et la gestion de la mémoire. Par exemple, ajustez l'état de la connexion TCP et la taille du tampon

Centos sera fermé en 2024 parce que sa distribution en amont, Rhel 8, a été fermée. Cette fermeture affectera le système CentOS 8, l'empêchant de continuer à recevoir des mises à jour. Les utilisateurs doivent planifier la migration et les options recommandées incluent CentOS Stream, Almalinux et Rocky Linux pour garder le système en sécurité et stable.

La commande de fermeture CENTOS est arrêtée et la syntaxe est la fermeture de [options] le temps [informations]. Les options incluent: -H Arrêtez immédiatement le système; -P éteignez l'alimentation après l'arrêt; -r redémarrer; -t temps d'attente. Les temps peuvent être spécifiés comme immédiats (maintenant), minutes (minutes) ou une heure spécifique (HH: mm). Des informations supplémentaires peuvent être affichées dans les messages système.

Guide complet pour vérifier la configuration HDFS dans les systèmes CentOS Cet article vous guidera comment vérifier efficacement la configuration et l'état de l'exécution des HDF sur les systèmes CentOS. Les étapes suivantes vous aideront à bien comprendre la configuration et le fonctionnement des HDF. Vérifiez la variable d'environnement Hadoop: Tout d'abord, assurez-vous que la variable d'environnement Hadoop est correctement définie. Dans le terminal, exécutez la commande suivante pour vérifier que Hadoop est installé et configuré correctement: HadoopVersion Check HDFS Fichier de configuration: Le fichier de configuration de base de HDFS est situé dans le répertoire / etc / hadoop / conf / le répertoire, où Core-site.xml et hdfs-site.xml sont cruciaux. utiliser

Le processus de démarrage de MySQL dans Docker se compose des étapes suivantes: Tirez l'image MySQL pour créer et démarrer le conteneur, définir le mot de passe de l'utilisateur racine et mapper la connexion de vérification du port Créez la base de données et l'utilisateur accorde toutes les autorisations sur la base de données

Étapes pour configurer l'adresse IP dans CENTOS: Afficher la configuration du réseau actuel: IP ADDR Modifier le fichier de configuration du réseau: Sudo VI / etc.

Problèmes et solutions courants pour la configuration du système de fichiers distribué HADOOP (HDFS) sous CentOS lors de la création d'un cluster HADOOPHDFS sur CentOS, certains erreurs de configurations courantes peuvent entraîner une dégradation des performances, une perte de données et même le cluster ne peut pas démarrer. Cet article résume ces problèmes courants et leurs solutions pour vous aider à éviter ces pièges et à assurer la stabilité et le fonctionnement efficace de votre cluster HDFS. Erreur de configuration du rack-Aware: Problème: les informations de rack-Aware ne sont pas configurées correctement, ce qui entraîne une distribution inégale des répliques de blocs de données et l'augmentation de la charge du réseau. SOLUTION: Vérifiez la configuration du rack-Aware dans le fichier hdfs-site.xml et utilisez HDFSDFSADMIN-PRINTTOPO

L'installation de MySQL sur CENTOS implique les étapes suivantes: Ajout de la source MySQL YUM appropriée. Exécutez la commande YUM Install MySQL-Server pour installer le serveur MySQL. Utilisez la commande mysql_secure_installation pour créer des paramètres de sécurité, tels que la définition du mot de passe de l'utilisateur racine. Personnalisez le fichier de configuration MySQL selon les besoins. Écoutez les paramètres MySQL et optimisez les bases de données pour les performances.
