使用RubyRep时,某些表的MySQL数据库复制失败
我正在使用设置MySQL数据库的部分复制。但它对某些桌子不起作用。我做错了什么 这是一台Linux CentOS服务器,运行MySQL 5。我尝试在本地为两个不同数据库中的两个相同类型的表复制两个MySQL数据库,这非常有效。所以我在服务器上也尝试了同样的方法。在服务器中,当我尝试创建新的表时,它工作得很好,但对于一些现有表,它不工作 考勤表属性为:使用RubyRep时,某些表的MySQL数据库复制失败,mysql,ruby,replication,database-replication,Mysql,Ruby,Replication,Database Replication,我正在使用设置MySQL数据库的部分复制。但它对某些桌子不起作用。我做错了什么 这是一台Linux CentOS服务器,运行MySQL 5。我尝试在本地为两个不同数据库中的两个相同类型的表复制两个MySQL数据库,这非常有效。所以我在服务器上也尝试了同样的方法。在服务器中,当我尝试创建新的表时,它工作得很好,但对于一些现有表,它不工作 考勤表属性为: | Field | Type | Null | Key | Default | Extra | +----
| Field | Type | Null | Key | Default | Extra |
+-------------------+--------------+------+-----+---------+-------+
| ATTENDANCE_DATE | datetime | NO | | NULL | |
| STUDENT_ID | int(10) | NO | | NULL | |
| CLASS_ID | int(10) | NO | | NULL | |
| STAFF_ID | int(10) | NO | | NULL | |
| ATTENDANCE_STATUS | char(1) | YES | | NULL | |
| LATE_STATUS | char(1) | YES | | NULL | |
| LATE_TIME | varchar(7) | YES | | NULL | |
| DROP_TIME | time | YES | | NULL | |
| PICK_TIME | time | YES | | NULL | |
| REMARKS | varchar(200) | YES | | NULL | |
| SCHOOL_ID | int(11) | YES | | NULL | |
| CREATED_ON | datetime | NO | | NULL | |
| CREATED_BY | varchar(15) | NO | | NULL | |
| MODIFIED_ON | datetime | YES | | NULL | |
| MODIFIED_BY | varchar(15) | YES | | NULL | |
+-------------------+--------------+------+-----+---------+-------+
RubyRep配置文件是:
RR::Initializer::run do |config|
config.left = {
:adapter => 'mysql2',
:database => 'database-A',
:username => '*******',
:password => '*******',
:host => 'localhost'
}
config.right = {
:adapter => 'mysql2',
:database => 'database-B',
:username => '*******',
:password => '*******',
:host => 'localhost'
}
config.left[:logger] = "log/left_database.log"
config.right[:logger] = "log/right_database.log"
config.options[:auto_key_limit] = 2
config.include_tables 'attendance', :replication_conflict_handing => :
left_wins, :sync_conflict_handling => :left_wins
# config.include_tables /^e/ # regexp matching all tables starting with e
# config.include_tables /./ # regexp matching all tables in the database
end
我希望在数据库A的考勤表中添加数据时,它应该复制到数据库B的考勤表中
现在,当运行replicate命令本身时,该命令失败,并显示错误消息
Mysql2::Error:您的SQL语法有错误;检查与您的MySQL服务器版本对应的手册,以了解使用near')、null、‘I')的正确语法代码>您的源/目标mysql版本是什么(请提供完整版本)?这似乎是rubyrep中的一个错误,因为它正在为您生成SQL。@danblack看起来他只是在同一台服务器上的数据库之间重播,所以不可能有版本差异。Doh-当然。自2017年9月以来,似乎没有任何活动。您可能需要自己修复它。派生表与复制不同。您的源/目标mysql版本是什么(请提供完整版本)?这似乎是rubyrep中的一个错误,因为它正在为您生成SQL。@danblack看起来他只是在同一服务器上的数据库之间重新定位,所以不会有版本上的差异。当然。自2017年9月以来,似乎没有任何活动。您可能需要自己修复它。派生表与复制不同。