MySQL主从同步怪异问题之mysql_select_db必须
MySQL主从同步对大家而言,已经是熟悉到不能再熟悉了,在这就不解释太多。
环境:
主服务器M
从服务器S
数据库A中数据表a
问题详细:
通过PHP脚本对M服务器中数据库A中的数据表a进行数据CURD操作,S服务器数据没有同步更新。
$connection = mysql_connect('A_SERVER', 'A_USER', 'A_PWD');
mysql_query("INSERT INTO `A`.`a` (`a`,`b`) VALUES ('1', '2')");
通过phpMyAdmin进行同样的操作,S服务器的数据同步更新了。
INSERT INTO `A`.`a` (`a`,`b`) VALUES ('1', '2');
问题分析
两个操作对M服务器的数据都正常,这个无用质疑,但是为什么S服务器同步就会有差别呢?其实有一个区别,PHP脚本里没有mysql_select_db操作,难道真的是因为这个原因?是的,正是因为这个原因。
很多人认为在表名前面加上数据库名就可以省略mysql_select_db这步操作了,特别是在跨库操作的时候,结果导致了这样的结果。