我有一個問題,我從來沒有見過與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」中;從那裏它被傳送到從站上的「中繼日誌」。 –