2
动态更改为innodb_flush_log_at_trx_commit
这与这个问题有关。它确实有助于为InnoDB表获得更好的性能。 根据MySQL手册,innodb_flush_log_at_trx_commit是全局动态变量。因此,我可以使用SET GLOBAL命令更改它,但它似乎正在工作。 mysql> SET GLOBAL innodb_flush_log_at_trx_commit=2; Query OK, 0 rows affected mysql> SHOW VARIABLES LIKE 'innodb_flush_log_at_trx_commit'; +--------------------------------+-------+ | Variable_name | Value | +--------------------------------+-------+ | innodb_flush_log_at_trx_commit | 2 | +--------------------------------+-------+ 1 row in set 但是,它并没有改变实际的MySQL设置。当我更新my.cnf并重新启动MySQL服务器时,它确实起作用了。因此,我不能在运行时更改全局变量吗? 我更喜欢默认值innodb_flush_log_at_trx_commit=1,但是我需要将其更改为2,然后才能运行恢复过程以使大型数据库更快地运行。但是,当过程完成后,我想将值更改回1。是否可以在运行时执行此操作? 我没有访问共享托管服务器上的my.cnf的权限。