我有一个问题,我从来没有见过与MySQL复制(主/从): 它工作出色,当我执行我的PHP脚本,在mysql控制台查询如“INSERT INTO ”。他们完美地复制在mysql slave机器上。 但是:如果我使用Perl DBI在Perl脚本上执行相同的操作,则不行。然后它只存储在Mysql主服务器上。在从服务器上的mysql.log文件中,没有任何内容到达。自从我将两台服务器从Mysql迁移到MariaDB后,我遇到了这个问题。 有什么Perl DBI客户端应该绝对做的复制工作?MariaDB复制有时不起作用
我使用这个简单的代码中插入数据:
#!/usr/bin/perl
use DBI;
$dsn = 'dbi:mysql:database=mysql;host=myhostname';
$dbh = DBI->connect($dsn, 'mouser', 'password',
{ RaiseError => 1, AutoCommit => 0 }) || exit(1);
...
$sth = $dbh->prepare("INSERT INTO mydatabase.mytable (user, domain) VALUES('$account_name', '$domain')");
$sth->execute();
$dbh->commit();
是否有可能,它不复制,因为DBI应该使用MariaDB的驱动程序?像$ dsn ='dbi:mariadb:database = mysql; host = myhostname';如果存在?
要清楚:在切换到MariaDB后,使用您的PHP脚本插入的数据仍在复制,但用Perl脚本插入的数据不是。
需要说明的是:切换到MariaDB后,使用PHP脚本插入的数据仍在复制,但是用Perl脚本插入的数据不是? – ThisSuitIsBlackNot
MariaDB与MySQL二进制兼容,所以DBD :: mysql驱动程序可以正常工作。 – ThisSuitIsBlackNot
'mysql.log'与复制无关。被复制的东西进入主文件的“binlog”中;从那里它被传送到从站上的“中继日志”。 –