我正在使用此代码从数据库中导出所有表,而不是在一个文件中,而是在一个文件夹中,使用表结构的一个.sql文件和一个带有分隔文本数据的.txt文件
mysqldump -uroot -pmy_pass --tab=/path/to/export my_database --fields-enclosed-by=\" --fields-terminated-by=,
但我有一些表还包含blob数据(混合列有些blob一些文本)
我添加了 - hex-blob 参数,认为它们将以十六进制格式导出,但这并没有发生(当我看一下像unicode这样的分隔文本文件时 - - 我认为这是bynary - >“o2¼ë2æã‡_g9yùaÿÿQ§M!)
为了恢复我使用它(使用PHP mysqli)
LOAD DATA LOCAL INFILE '$my_file'
IGNORE INTO TABLE $my_table
FIELDS TERMINATED BY ','
ENCLOSED BY '\"'
LINES TERMINATED BY '\n';
我尝试导入
时变成了错误无效的utf8mb4字符串:'“o2'
我也试过 - default-character-set = binary (在mysqldump导出上) 和 mysqli_set_charset($ my_conn,“binary”); 关于恢复, 但同样的错误。
源和目标数据库有utf8mb4字符集