http://www.jb51.net/article/119654.htm
The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
意思貌似MYSQL還運行在 --skip-grant-tables模式,如何讓他回到原來的模式
第一種方法:原來在mysql.ini文件中配置了skip-grant-tables,前面加個#注釋掉就可以了
修改mysql的配置文件,把skip-grant-tables
去掉后,重啟mysql
第二種:
The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
解決辦法:
mysql> set global read_only=0;
(關掉新主庫的只讀屬性)
flush privileges;
set global read_only=1;(讀寫屬性)
flush privileges;
Cannot execute statement: impossible to write to binary log since BINLOG_FORMAT = STATEMENT and at least one table uses a storage engine limited to row-based logging. InnoDB is limited to row-logging when transaction isolation level is READ COMMITTED or READ UNCOMMITTED.
mysql> SET SESSION binlog_format = 'ROW';
mysql> SET GLOBAL binlog_format = 'ROW';
解釋:
set global read_only=0; 關閉只讀,可以讀寫
set global read_only=1; 開始只讀模式
mysql> set global read_only=0;
Query OK, 0 rows affected (0.00 sec) mysql> show variables like '%read_only%';
+------------------+-------+
| Variable_name | Value |
+------------------+-------+
| innodb_read_only | OFF |
| read_only | OFF |
| tx_read_only | OFF |
+------------------+-------+
3 rows in set (0.00 sec) mysql> set global read_only=1;
Query OK, 0 rows affected (0.00 sec) mysql> show variables like '%read_only%';
+------------------+-------+
| Variable_name | Value |
+------------------+-------+
| innodb_read_only | OFF |
| read_only | ON |
| tx_read_only | OFF |
+------------------+-------+
3 rows in set (0.00 sec)
set global read_only=0; 關閉只讀,可以讀寫 set global read_only=1; 開始只讀模式