首页 >

mysql导入成功但是没有数据 |mysql 日期只要年月日

linux kaiqi mysql,php mysql 输出json,mysql排序后怎么保存,mysql备份多个库脚本,mysql 批量修改前缀,mysql 日期只要年月日mysql导入成功但是没有数据 |mysql 日期只要年月日
mysql -u username -p database_name < file.sql

偶使用上述命令,将数据从file.sql文件中导入到了MySQL数据库中,但是当偶执行查询时,发现数据并没有被成功导入。这是让偶感到十分困惑的。

偶开始仔细查看了导入命令,以及数据表和数据是否正确。然而,偶并没有发现任何问题。最后,偶决定查看一下MySQL的日志。

sudo tail -f /var/log/mysql/error.log

在日志中,偶发现了以下一行信息:

[Warning] Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statements writing to a table with an auto-increment column after selecting from another table are unsafe because the order in which rows are retrieved determines what (if any) rows will be written. This order cannot be predicted and may differ on master and the slave. Statement: UPDATE tablename SET field=value WHERE id=123

这段信息告诉偶,由于BINLOG_FORMAT参数的设置,语句被写入了二进制日志中。该参数的值为STATEMENT,表示MySQL以语句方式记录二进制日志。而在语句中使用了AUTO_INCREMENT列,在从另一张表中选择行后,更新到该列的值被认为不安全。

偶解决了这个问题的方法是,将BINLOG_FORMAT参数的值改为ROW。这样MySQL将以行方式记录二进制日志,就避免了语句中AUTO_INCREMENT列更新的问题。

[mysqld]
binlog-format=ROW

在修改了my.cnf文件中的配置后,偶再次执行导入命令,查询数据后发现,数据已经成功导入到了MySQL数据库中。

通过这个问题,偶了解到了BINLOG_FORMAT参数的作用以及在使用MySQL时需要注意的一些技巧。希望偶的经验可以帮助到有需要的人。


mysql导入成功但是没有数据 |mysql 日期只要年月日
  • mysql注册码名和组织 |mysql新用户注册
  • mysql注册码名和组织 |mysql新用户注册 | mysql注册码名和组织 |mysql新用户注册 ...

    mysql导入成功但是没有数据 |mysql 日期只要年月日
  • MySQL全角转半角的方法(详解MySQL字符集转换) |mysql建立check约束
  • MySQL全角转半角的方法(详解MySQL字符集转换) |mysql建立check约束 | MySQL全角转半角的方法(详解MySQL字符集转换) |mysql建立check约束 ...

    mysql导入成功但是没有数据 |mysql 日期只要年月日
  • mysql 占位符 |linux开启mysql服务
  • mysql 占位符 |linux开启mysql服务 | mysql 占位符 |linux开启mysql服务 ...