Mysql集群HA方案Galera测试节点宕机
阅读原文时间:2021年04月20日阅读:1

Galera节点宕机的测试

  1. 关掉其中一个节点node2
  2. 在node1中插入数据
  3. 查看node1和node3的数据
  4. 启动节点node2
  5. 查看node2的数据

关掉其中一个节点node2

<span style="font-family:Microsoft YaHei;">[root@node2 ~]# ps -ef |grep mysql
root      3001  1804  0 06:07 pts/0    00:00:00 /bin/sh /usr/bin/mysqld_safe
mysql     3483  3001  0 06:07 pts/0    00:00:08 /usr/sbin/mysqld --basedir=/usr --datadir=/opt/dbdata/mysql_3307 --plugin-dir=/usr/lib64/mysql/plugin --user=mysql --log-error=/opt/dbdata/mysql_3307/node2.err --pid-file=/opt/dbdata/mysql_3307/node2.pid --socket=/opt/dbdata/mysql_3307/mysql.sock --port=3307 --wsrep_start_position=c3f9bf8f-449a-11e4-9093-9fb87135553e:8
root      3606  1804  0 06:45 pts/0    00:00:00 grep mysql
[root@node2 ~]# kill -9 3001
[root@node2 ~]# kill -9 3483
[1]+  Killed                  mysqld_safe
[root@node2 ~]# ps -ef |grep mysql
root      3608  1804  0 06:45 pts/0    00:00:00 grep mysql</span>

在node1中插入数据

<span style="font-family:Microsoft YaHei;">mysql> delimiter ||
mysql> use test ||
Database changed

mysql> create  procedure p_insert(p_begin int,p_count int)
    ->       begin
    ->       declare i int;
    ->       set i=p_begin;
    ->       while i<p_begin+p_count do
    ->       insert into test.ct values(i);
    ->       set i=i+1;
    ->       end while;
    ->       end;
    ->       ||
Query OK, 0 rows affected (1.96 sec)

mysql> delimiter ;
mysql> 
mysql> call p_insert(1,1000);
Query OK, 1 row affected (12.94 sec)
</span>

查看node1和node3的数据

<span style="font-family:Microsoft YaHei;">mysql> select count(*) from test.ct;
+----------+
| count(*) |
+----------+
|     1000 |
+----------+
1 row in set (0.00 sec)</span>

启动节点node2

<span style="font-family:Microsoft YaHei;">[root@node2 ~]# mysqld_safe &</span>

查看node2的数据

mysql> select count(*) from test.ct;
+----------++----------+
| count(*) |
+----------+
|     1000 |
+----------+
1 row in set (0.11 sec)

可以看到宕机期间,生成的1000条数据已经在node2中恢复了。