MariaDB + Galera,Galera不复制mysql.user

时间:2014-05-27 20:25:38

标签: mariadb galera

我有一个带有2个节点的mariadb galera,当我在db1中创建一个用户时,这不会复制到db2但是如果我在db1中创建了一个db,它会在db2中重新复制! 有没有想过mysql.user复制?

3 个答案:

答案 0 :(得分:2)

Galera仅复制DDL(数据定义语言)和 innodb -DML(数据操作语言)。

如果您通过"创建用户,请插入mysql.user ...."它是 myissam -DML - >没有被复制的

如果您通过&#34创建用户;创建用户...."它是DDL - >复制。

答案 1 :(得分:2)

默认情况下,MariaDB数据库mysqlmysql.userMyISAM, 为了改变InnoDB上的所有表证明了这一点:

 mysqldump -uroot -p --no-data  -R --triggers mydb > mydb_schema.sql

然后转出数据:

mysqldump -uroot -p --no-create-info  -R --triggers mydb > mydb_data.sql

更改存储引擎

sed -i.bak 's#MyISAM#innodb#g' mydb_schema.sql

并导入mydb_schema后

mysql -u root -p < mydb_schema.sql

最后是数据。

答案 2 :(得分:0)

您确定,您是使用create user / grant all privileges语句创建用户的吗? Galera的设计完全适用于InnoDB,但mysql数据库中的表(如用户表)在MyISAM中可能导致愚蠢的错误。