从库是后来做的,安装线上的数据copy的,和现有的主库数据,表数量都不一样,好费劲
在从库上执行
mysql -pXXX -uroot
use information_schema;
set group_concat_max_len=5000;
select GROUP_CONCAT(concat("'",TABLE_NAME,"'")) from tables where TABLE_SCHEMA='dbname'\G
查出来从库上所有的表
在主库上执行
mysql -pxxx -uroot
use information_schema;
select TABLE_NAME from tables where TABLE_SCHEMA='dbname' and TABLE_NAME not in (从库执行出的结果);
+------------------------------+
| TABLE_NAME |
+-------------------------------+
| gwk_merchant |
| high_category |
| high_comm_product |
| import_cpa_confirm_666 |
| liujuntest |
| test_1501 |
| test_product_1501 |
+-------------------------------+
7 rows in set (0.01 sec)
这样查出来是主库上有而从库上没有的表,,需要在从库上创建,
主库执行导出数据:mysqldump -pxxx --default-character-set=utf8 --quick --single-transaction --master-data=2 --routines --triggers --events dbname gwk_merchant high_category high_comm_product import_cpa_confirm_666 liujuntest test_1501 test_product_1501 | gzip --fast > /data2/5.sql.gz
导出来都 放到从库上,
[root@host8~]# zcat /data/5.sql.gz | mysql -pxxx --socket=/data/mysql/mysql.sock dbname
SELECT COUNT(*) TABLES, table_schema FROM information_schema.TABLES WHERE table_schema = 'dbname' GROUP BY table_schema;
在主库从库上查看表是不是一样,从库上表多的话,查找出来要drop掉
查出来主库上的所有表:
mysql -pXXX -uroot
use information_schema;
set group_concat_max_len=5000;
select GROUP_CONCAT(concat("'",TABLE_NAME,"'")) from tables where TABLE_SCHEMA='dbname'\G
在从库上过滤不在主库的所有表:
mysql -p