Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
mysql数据库正在复制中,但在主服务器上创建的用户没有在从服务器上复制_Mysql - Fatal编程技术网

mysql数据库正在复制中,但在主服务器上创建的用户没有在从服务器上复制

mysql数据库正在复制中,但在主服务器上创建的用户没有在从服务器上复制,mysql,Mysql,在主从复制中,我们使用mysql数据库在从服务器上复制少量数据库。 我在主服务器上创建了一个用户,不幸的是它没有在从服务器上复制 复制数据库:app1、app2、mysql 用户创建命令: GRANT SELECT on *.* to 'user1'@'localhost' identified by 'user1'; GRANT SELECT on *.* to 'user1'@'%' identified by 'user1'; GRANT SELECT on *.* to 'user1

在主从复制中,我们使用mysql数据库在从服务器上复制少量数据库。 我在主服务器上创建了一个用户,不幸的是它没有在从服务器上复制

复制数据库:app1、app2、mysql

用户创建命令:

GRANT SELECT on *.* to 'user1'@'localhost' identified by 'user1';

GRANT SELECT on *.* to 'user1'@'%' identified by 'user1';

GRANT SELECT on *.* to 'user1'@'10.10.10.10' identified by 'user1';
已在主服务器上成功创建用户帐户,但未在从服务器上复制


如果mysql数据库处于复制状态,为什么会发生这种情况

嗯。我想在这里打个赌,说您可能使用基于语句的复制而不是基于行的复制,并且您的MySQL版本是5.1或更高版本

通过在从属服务器上运行以下SQL,可以判断正在运行的是哪种类型:

select variable_value
from information_schema.session_variables
where upper(variable_name) = 'BINLOG_FORMAT';
由于您已正确标识权限,因此只有在

然而,“抓住了!”这是一个选项。如果您使用的是基于语句的复制,则需要在运行授权之前将mysql数据库指定为默认数据库,因为:

此选项的效果取决于是基于语句还是基于 正在使用基于行的复制

基于语句的复制。告诉从属SQL线程限制 复制到默认数据库(即 通过使用选择)是db_名称

也就是说,试着跑步:

USE MYSQL;

GRANT SELECT on *.* to 'user1'@'localhost' identified by 'user1';

GRANT SELECT on *.* to 'user1'@'%' identified by 'user1';

GRANT SELECT on *.* to 'user1'@'10.10.10.10' identified by 'user1';

这可能有用。如果没有,请看另一个答案

在MySQL 5.7中,如果执行来自Tom Mac的查询,将出现以下错误:

错误3167(HY000):“信息模式.会话变量”功能被禁用;有关“显示兼容性”的信息,请参阅文档

您应该改为查询
performance\u schema
。运行以下命令:

SELECT variable_value FROM performance_schema.session_variables WHERE upper(variable_name) = 'BINLOG_FORMAT';

很高兴听到它起作用了。你能接受这个答案吗?请尽可能多地说明?实际上,最好的方法是:
显示变量,如“%BINLOG_FORMAT%”