gpt4 book ai didi

MySQL主从复制 "Unknown database"错误

转载 作者:太空宇宙 更新时间:2023-11-03 12:05:23 24 4
gpt4 key购买 nike

我正在尝试在 CentOS 上的 2 个 mysql 服务器之间设置主从复制。一旦设置好,如果我在主服务器上创建一个名为“fakeDB”的数据库,它就会在从服务器上创建它。惊人的!但是,如果我随后尝试在主服务器上创建一个表,我会在从服务器上收到此错误:

Last_Errno: 1049
Last_Error: Error 'Unknown database 'fakeDB'' on query. Default database: 'fakeDB'. Query: 'create table tmp (name varchar(100))'

但是slave上存在数据库!因此,我重新开始并在两台服务器上创建了数据库和 tmp 表。我重置了所有内容,然后尝试在母版上插入一行。然后我在奴隶上得到了这个错误:

Last_SQL_Errno: 1146
Last_SQL_Error: Error 'Table 'fakeDB.tmp' doesn't exist' on query. Default database: 'fakeDB'. Query: 'insert into tmp values ('asdf')'

但同样存在该数据库,两台服务器上的表也存在。我可以手动访问它们。这是我在两台服务器上的 my.cnf 文件中设置的变量。

server-id = 1 #set as 2 for master
log_bin = /var/lib/mysql/mysql-bin.log
relay-log = /var/lib/mysql/mysql-relay-bin.log
binlog_do_db = fakeDB

我做错了什么?

最佳答案

好的。我想到了。原来这是愚蠢的事情。我在从站的配置文件中设置了这个选项:

lower_case_table_names=1

因此,当我在主服务器上创建数据库为 fakeDB 时,它在从服务器上创建为 fakedb。所以在从机上我可以发出 use fakeDB; 并且它起作用是因为命令不区分大小写但是从主机发出的查询不是这样 insert into fakeDB.tmp失败,因为数据库名称是 fakedb

关于MySQL主从复制 "Unknown database"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26877958/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com