Я настраиваю частичную репликацию в базу данных MySQL, используя RubyRep .Но это не работает для некоторых таблиц.Что я сделал не так?
Это сервер Linux CentOS под управлением MySQL 5. Я попытался реплицировать две базы данных MySQL в локальной системе для двух одинаковых таблиц в две разные базы данных, что прекрасно работает.Поэтому я попробовал то же самое на сервере.На сервере, когда я пытаюсь создать новые таблицы, он работает отлично, но для некоторых существующих таблиц он не работает.
Свойства таблицы посещаемости:
| 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.
Теперь во время выполнения самой команды репликации происходит сбой с сообщением об ошибке
Mysql2::Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '), null, 'I');