小编HTF*_*HTF的帖子

MySQL 复制:“主键的重复条目”

你能帮我理解为什么我在完全重新同步后在从服务器上收到“主键的重复条目”。

基本上'mysqldump'几乎整晚都在运行,然后恢复过程花了几个小时,所以当我启动slave时,它比master慢了~63874秒。

从服务器是只读的(read_only)并且在重新同步过程中没有任何写入,所以我不明白为什么会有重复的密钥。

二进制日志格式在 master 上设置为 MIXED。

用于备份数据库的命令:

mysqldump --opt --single-transaction -Q --master-data=2 db | bzip2 -cz > db.sql.bz2
Run Code Online (Sandbox Code Playgroud)

从站仅从主站(db -> db_backup)复制一个数据库,并使用以下选项:

replicate-wild-do-table = db_backup.%
replicate-rewrite-db = db->db_backup
Run Code Online (Sandbox Code Playgroud)

mysql replication mysqldump

12
推荐指数
1
解决办法
3万
查看次数

MySQL缓冲池使用+高负载

我们有一个非常强大的服务器:HP ProLiant DL360p Gen8, 2xIntel Xeon E5-2630 2.30GHz, 128GB of RAM.

整个数据集应该适合内存:

mysql> SELECT FLOOR(SUM(DATA_LENGTH+INDEX_LENGTH)/POWER(1024,2)) 'Total Size (MB)', FLOOR(SUM(DATA_LENGTH)/POWER(1024,2)) 'Data Size (Data_length in MB)', FLOOR(SUM(INDEX_LENGTH)/POWER(1024,2)) 'Index Size (Index_length in MB)' FROM information_schema.TABLES;
+-----------------+-------------------------------+---------------------------------+
| Total Size (MB) | Data Size (Data_length in MB) | Index Size (Index_length in MB) |
+-----------------+-------------------------------+---------------------------------+
|          110559 |                         62464 |                           48095 |
+-----------------+-------------------------------+---------------------------------+
1 row in set (1.64 sec)
Run Code Online (Sandbox Code Playgroud)

-innodb_buffer_pool_size是 100GB

mysql> SELECT (@@innodb_buffer_pool_size / POWER(1024,3)) AS "innodb_buffer_pool_size in GB"; …
Run Code Online (Sandbox Code Playgroud)

mysql innodb

7
推荐指数
1
解决办法
9461
查看次数

MySQL 5.6:Slave_IO 线程停止工作

标准复制无缘无故中断。

mysql> SELECT @@version, @@version_comment;
+---------------+----------------------------------------------------------------------------+
| @@version | @@version_comment |
+---------------+----------------------------------------------------------------------------+
| 5.6.15-56-log | Percona XtraDB Cluster (GPL), Release 25.5, Revision 759, wsrep_25.5.r4061 |
+---------------+----------------------------------------------------------------------------+
1 row in set (0.00 sec)

mysql> SHOW VARIABLES LIKE 'wsrep_on';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| wsrep_on | OFF |
+---------------+-------+
1 row in set (0.00 sec)
Run Code Online (Sandbox Code Playgroud)

启用崩溃安全复制:

master_info_repository = TABLE
relay_log_info_repository = TABLE
relay_log_recovery = 1
Run Code Online (Sandbox Code Playgroud)

从站运行良好:

# mysql -e "SHOW SLAVE STATUS\G" | grep "Slave"
               Slave_IO_State: Waiting for master …
Run Code Online (Sandbox Code Playgroud)

mysql replication

5
推荐指数
1
解决办法
1万
查看次数

DROP DATABASE 上的事务回滚

MySQL是否使用事务forDROP DATABASE...语句(所有表都使用InnoDB引擎)?

基本上我想知道如果我DROP DATABASE...在查询运行时终止查询是否会丢失任何数据?

我已经用表对此进行了测试并且它有效,但我没有足够大的数据库来测试它:

mysql> SELECT COUNT(*) FROM t1;
+----------+
| COUNT(*) |
+----------+
| 10000000 |
+----------+
1 row in set (8.57 sec)

mysql> DELETE FROM t1;
Run Code Online (Sandbox Code Playgroud)

另一个 MySQL 会话:

mysql> SHOW PROCESSLIST;
+-----+------+-----------+------+---------+------+----------+-------------------+-----------+---------------+
| Id  | User | Host      | db   | Command | Time | State    | Info              | Rows_sent | Rows_examined |
+-----+------+-----------+------+---------+------+----------+-------------------+-----------+---------------+
| 211 | root | localhost | test | Query   |    0 | init     | SHOW PROCESSLIST  | …
Run Code Online (Sandbox Code Playgroud)

mysql innodb

4
推荐指数
1
解决办法
2万
查看次数

标签 统计

mysql ×4

innodb ×2

replication ×2

mysqldump ×1