Open ogata-ryosuke opened 10 months ago
server_id
is default 1.
mysql> select @@server_id;
+-------------+
| @@server_id |
+-------------+
| 1 |
+-------------+
1 row in set (0.00 sec)
Where should I reference for the other keys
? asyncmy?
Allow you set in config
same error...
This should be 'binlog.000007', isn't './binlog.000006'?
backend-meilisync-1 | asyncmy.errors.OperationalError: (1236, "A replica with the same server_uuid/server_id as this replica has connected to the source; the first event 'binlog.000006' at 157, the last event read from './binlog.000006' at 126, the last byte read from './binlog.000006' at 157.")
mysql> show master status;
+---------------+----------+--------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+---------------+----------+--------------+------------------+-------------------+
| binlog.000007 | 157 | | | |
+---------------+----------+--------------+------------------+-------------------+
1 row in set (0.01 sec)
mysql> show slave status;
Empty set, 1 warning (0.01 sec)
root@9e6ed3f4349d:/meilisync# meilisync start
2023-10-26 03:13:48.473 | DEBUG | meilisync.main:_:36 - plugins=[] progress=Progress(type=<ProgressType.file: 'file'>) debug=True source=Source(type=<SourceType.mysql: 'mysql'>, database='example_app', server_id=1, host='mysql', port=3306, user='root', password='password') meilisearch=MeiliSearch(api_url='http://meilisearch:7700', api_key='cb35a3ab4d7066df8ca617cfa89af8d1dcdc8bc6c13e4b468e0a49d9209a787c', insert_size=100, insert_interval=10) sync=[Sync(plugins=[], table='animals', pk='id', full=False, index='animals', fields={'id': None, 'name': None, 'created_at': None, 'updated_at': None})] sentry=Sentry(dsn='', environment='production')
2023-10-26 03:13:48.859 | INFO | meilisync.main:_:101 - Start increment sync data from "mysql" to MeiliSearch...
2023-10-26 03:13:48.973 | DEBUG | meilisync.main:_:104 - progress={'master_log_file': 'binlog.000007', 'master_log_position': 157}
# container startup log
backend-meilisync-1 | 2023-10-26 03:12:17.369 | DEBUG | meilisync.main:_:36 - plugins=[] progress=Progress(type=<ProgressType.file: 'file'>) debug=True source=Source(type=<SourceType.mysql: 'mysql'>, database='example_app', server_id=1, host='mysql', port=3306, user='mai', password='password') meilisearch=MeiliSearch(api_url='http://meilisearch:7700', api_key='cb35a3ab4d7066df8ca617cfa89af8d1dcdc8bc6c13e4b468e0a49d9209a787c', insert_size=100, insert_interval=10) sync=[Sync(plugins=[], table='animals', pk='id', full=False, index='animals', fields={'id': None, 'name': None, 'created_at': None, 'updated_at': None})] sentry=Sentry(dsn='', environment='production')
backend-meilisync-1 | 2023-10-26 03:12:18.226 | INFO | meilisync.main:_:101 - Start increment sync data from "mysql" to MeiliSearch...
backend-meilisync-1 | 2023-10-26 03:12:18.483 | DEBUG | meilisync.main:_:104 - progress={'master_log_file': 'binlog.000007', 'master_log_position': 157}
# meilisync start
backend-meilisync-1 | 2023-10-26 03:06:18.891 | ERROR | meilisync.source.mysql:__aiter__:121 - Binlog stream error: (1236, "A replica with the same server_uuid/server_id as this replica has connected to the source; the first event 'binlog.000006' at 157, the last event read from './binlog.000006' at 126, the last byte read from './binlog.000006' at 157."), restart...
backend-meilisync-1 | Traceback (most recent call last):
backend-meilisync-1 |
backend-meilisync-1 | File "/usr/local/bin/meilisync", line 6, in <module>
backend-meilisync-1 | sys.exit(app())
backend-meilisync-1 | │ │ └ <typer.main.Typer object at 0x4001f89790>
backend-meilisync-1 | │ └ <built-in function exit>
backend-meilisync-1 | └ <module 'sys' (built-in)>
backend-meilisync-1 | File "/usr/local/lib/python3.9/site-packages/typer/main.py", line 311, in __call__
backend-meilisync-1 | return get_command(self)(*args, **kwargs)
backend-meilisync-1 | │ │ │ └ {}
backend-meilisync-1 | │ │ └ ()
backend-meilisync-1 | │ └ <typer.main.Typer object at 0x4001f89790>
backend-meilisync-1 | └ <function get_command at 0x400347e700>
backend-meilisync-1 | File "/usr/local/lib/python3.9/site-packages/click/core.py", line 1157, in __call__
backend-meilisync-1 | return self.main(*args, **kwargs)
backend-meilisync-1 | │ │ │ └ {}
backend-meilisync-1 | │ │ └ ()
backend-meilisync-1 | │ └ <function TyperGroup.main at 0x4003455040>
backend-meilisync-1 | └ <TyperGroup callback>
backend-meilisync-1 | File "/usr/local/lib/python3.9/site-packages/typer/core.py", line 778, in main
backend-meilisync-1 | return _main(
backend-meilisync-1 | └ <function _main at 0x40033a9310>
backend-meilisync-1 | File "/usr/local/lib/python3.9/site-packages/typer/core.py", line 216, in _main
backend-meilisync-1 | rv = self.invoke(ctx)
backend-meilisync-1 | │ │ └ <click.core.Context object at 0x40050a0f10>
backend-meilisync-1 | │ └ <function MultiCommand.invoke at 0x4002c50550>
backend-meilisync-1 | └ <TyperGroup callback>
backend-meilisync-1 | File "/usr/local/lib/python3.9/site-packages/click/core.py", line 1688, in invoke
backend-meilisync-1 | return _process_result(sub_ctx.command.invoke(sub_ctx))
backend-meilisync-1 | │ │ │ │ └ <click.core.Context object at 0x4007d28dc0>
backend-meilisync-1 | │ │ │ └ <function Command.invoke at 0x4002c50040>
backend-meilisync-1 | │ │ └ <TyperCommand start>
backend-meilisync-1 | │ └ <click.core.Context object at 0x4007d28dc0>
backend-meilisync-1 | └ <function MultiCommand.invoke.<locals>._process_result at 0x40083c2820>
backend-meilisync-1 | File "/usr/local/lib/python3.9/site-packages/click/core.py", line 1434, in invoke
backend-meilisync-1 | return ctx.invoke(self.callback, **ctx.params)
backend-meilisync-1 | │ │ │ │ │ └ {}
backend-meilisync-1 | │ │ │ │ └ <click.core.Context object at 0x4007d28dc0>
backend-meilisync-1 | │ │ │ └ <function start at 0x4008472a60>
backend-meilisync-1 | │ │ └ <TyperCommand start>
backend-meilisync-1 | │ └ <function Context.invoke at 0x4002c4adc0>
backend-meilisync-1 | └ <click.core.Context object at 0x4007d28dc0>
backend-meilisync-1 | File "/usr/local/lib/python3.9/site-packages/click/core.py", line 783, in invoke
backend-meilisync-1 | return __callback(*args, **kwargs)
backend-meilisync-1 | │ └ {}
backend-meilisync-1 | └ ()
backend-meilisync-1 | File "/usr/local/lib/python3.9/site-packages/typer/main.py", line 683, in wrapper
backend-meilisync-1 | return callback(**use_params) # type: ignore
backend-meilisync-1 | │ └ {'context': <click.core.Context object at 0x4007d28dc0>}
backend-meilisync-1 | └ <function start at 0x4008472700>
backend-meilisync-1 |
backend-meilisync-1 | File "/meilisync/meilisync/main.py", line 140, in start
backend-meilisync-1 | asyncio.run(run())
backend-meilisync-1 | │ │ └ <function start.<locals>.run at 0x40083c2940>
backend-meilisync-1 | │ └ <function run at 0x40029d6e50>
backend-meilisync-1 | └ <module 'asyncio' from '/usr/local/lib/python3.9/asyncio/__init__.py'>
backend-meilisync-1 |
backend-meilisync-1 | File "/usr/local/lib/python3.9/asyncio/runners.py", line 44, in run
backend-meilisync-1 | return loop.run_until_complete(main)
backend-meilisync-1 | │ │ └ <coroutine object start.<locals>.run at 0x400845b6c0>
backend-meilisync-1 | │ └ <function BaseEventLoop.run_until_complete at 0x40029eb8b0>
backend-meilisync-1 | └ <_UnixSelectorEventLoop running=True closed=False debug=False>
backend-meilisync-1 | File "/usr/local/lib/python3.9/asyncio/base_events.py", line 634, in run_until_complete
backend-meilisync-1 | self.run_forever()
backend-meilisync-1 | │ └ <function BaseEventLoop.run_forever at 0x40029eb820>
backend-meilisync-1 | └ <_UnixSelectorEventLoop running=True closed=False debug=False>
backend-meilisync-1 | File "/usr/local/lib/python3.9/asyncio/base_events.py", line 601, in run_forever
backend-meilisync-1 | self._run_once()
backend-meilisync-1 | │ └ <function BaseEventLoop._run_once at 0x40029f13a0>
backend-meilisync-1 | └ <_UnixSelectorEventLoop running=True closed=False debug=False>
backend-meilisync-1 | File "/usr/local/lib/python3.9/asyncio/base_events.py", line 1905, in _run_once
backend-meilisync-1 | handle._run()
backend-meilisync-1 | │ └ <function Handle._run at 0x4002409dc0>
backend-meilisync-1 | └ <Handle <TaskWakeupMethWrapper object at 0x40083f8af0>(<Future finished result=None>)>
backend-meilisync-1 | File "/usr/local/lib/python3.9/asyncio/events.py", line 80, in _run
backend-meilisync-1 | self._context.run(self._callback, *self._args)
backend-meilisync-1 | │ │ │ │ │ └ <member '_args' of 'Handle' objects>
backend-meilisync-1 | │ │ │ │ └ <Handle <TaskWakeupMethWrapper object at 0x40083f8af0>(<Future finished result=None>)>
backend-meilisync-1 | │ │ │ └ <member '_callback' of 'Handle' objects>
backend-meilisync-1 | │ │ └ <Handle <TaskWakeupMethWrapper object at 0x40083f8af0>(<Future finished result=None>)>
backend-meilisync-1 | │ └ <member '_context' of 'Handle' objects>
backend-meilisync-1 | └ <Handle <TaskWakeupMethWrapper object at 0x40083f8af0>(<Future finished result=None>)>
backend-meilisync-1 |
backend-meilisync-1 | File "/meilisync/meilisync/main.py", line 102, in _
backend-meilisync-1 | async for event in source:
backend-meilisync-1 | │ └ <meilisync.source.mysql.MySQL object at 0x40050a0df0>
backend-meilisync-1 | └ ProgressEvent(progress={'master_log_file': 'binlog.000006', 'master_log_position': 157})
backend-meilisync-1 |
backend-meilisync-1 | > File "/meilisync/meilisync/source/mysql.py", line 100, in __aiter__
backend-meilisync-1 | async for event in self.stream:
backend-meilisync-1 | │ └ <asyncmy.replication.binlogstream.BinLogStream object at 0x400558d790>
backend-meilisync-1 | └ <meilisync.source.mysql.MySQL object at 0x40050a0df0>
backend-meilisync-1 |
backend-meilisync-1 | File "/usr/local/lib/python3.9/site-packages/asyncmy/replication/binlogstream.py", line 373, in __anext__
backend-meilisync-1 | ret = await self._read()
backend-meilisync-1 | │ └ <function BinLogStream._read at 0x400558fee0>
backend-meilisync-1 | └ <asyncmy.replication.binlogstream.BinLogStream object at 0x400558d790>
backend-meilisync-1 | File "/usr/local/lib/python3.9/site-packages/asyncmy/replication/binlogstream.py", line 288, in _read
backend-meilisync-1 | raise e
backend-meilisync-1 | File "/usr/local/lib/python3.9/site-packages/asyncmy/replication/binlogstream.py", line 282, in _read
backend-meilisync-1 | pkt = await self._connection.read_packet()
backend-meilisync-1 | │ │ └ <cyfunction Connection.read_packet at 0x40054235f0>
backend-meilisync-1 | │ └ <asyncmy.connection.Connection object at 0x4007f3b8e0>
backend-meilisync-1 | └ <asyncmy.replication.binlogstream.BinLogStream object at 0x400558d790>
backend-meilisync-1 | File "asyncmy/connection.pyx", line 644, in read_packet
backend-meilisync-1 | packet.raise_for_error()
backend-meilisync-1 | File "asyncmy/protocol.pyx", line 190, in asyncmy.protocol.MysqlPacket.raise_for_error
backend-meilisync-1 | cpdef raise_for_error(self):
backend-meilisync-1 | File "asyncmy/protocol.pyx", line 194, in asyncmy.protocol.MysqlPacket.raise_for_error
backend-meilisync-1 | errors.raise_mysql_exception(self._data)
backend-meilisync-1 | │ └ <cyfunction raise_mysql_exception at 0x40053102b0>
backend-meilisync-1 | └ <module 'asyncmy.errors' from '/usr/local/lib/python3.9/site-packages/asyncmy/errors.cpython-39-x86_64-linux-gnu.so'>
backend-meilisync-1 | File "asyncmy/errors.pyx", line 128, in asyncmy.errors.raise_mysql_exception
backend-meilisync-1 | cpdef raise_mysql_exception(bytes data):
backend-meilisync-1 | └ <cyfunction raise_mysql_exception at 0x40053102b0>
backend-meilisync-1 | File "asyncmy/errors.pyx", line 137, in asyncmy.errors.raise_mysql_exception
backend-meilisync-1 | raise error_class(errno, err_val)
backend-meilisync-1 |
backend-meilisync-1 | asyncmy.errors.OperationalError: (1236, "A replica with the same server_uuid/server_id as this replica has connected to the source; the first event 'binlog.000006' at 157, the last event read from './binlog.000006' at 126, the last byte read from './binlog.000006' at 157.")
backend-meilisync-1 | 2023-10-26 03:06:18.937 | ERROR | meilisync.source.mysql:__aiter__:121 - Binlog stream error: (2013, 'Lost connection to MySQL server during query'), restart...
backend-meilisync-1 | Traceback (most recent call last):
backend-meilisync-1 |
backend-meilisync-1 | File "asyncmy/connection.pyx", line 656, in asyncmy.connection.Connection._read_bytes
backend-meilisync-1 | data = await self._reader.readexactly(num_bytes)
backend-meilisync-1 | File "/usr/local/lib/python3.9/asyncio/streams.py", line 721, in readexactly
backend-meilisync-1 | raise exceptions.IncompleteReadError(incomplete, n)
backend-meilisync-1 | │ │ │ └ 4
backend-meilisync-1 | │ │ └ b''
backend-meilisync-1 | │ └ <class 'asyncio.exceptions.IncompleteReadError'>
backend-meilisync-1 | └ <module 'asyncio.exceptions' from '/usr/local/lib/python3.9/asyncio/exceptions.py'>
backend-meilisync-1 |
backend-meilisync-1 | asyncio.exceptions.IncompleteReadError: 0 bytes read on a total of 4 expected bytes
backend-meilisync-1 |
backend-meilisync-1 |
backend-meilisync-1 | The above exception was the direct cause of the following exception:
backend-meilisync-1 |
backend-meilisync-1 |
run
meilisync start
on Docker (with Laravel)docker error logs (mysql:8-debian)
(docker up log)
meilisync/config.yml
my.cnf
binlog_format = ROW
show grants;