国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

percona MYSQL 5.7.13 5.7.14 MYSQLDUMP 輸入報錯delimiter

2024-07-24 12:31:39
字體:
來源:轉載
供稿:網友
       percona 5.7.13 5.7.14 MYSQLDUMP備份完成后不能呢導回去,
      文件一大了非常麻煩,最近遇到這樣的問題。
      [root@testmy client]#  /mysqldata/mysql3308/bin/mysql -uroot -p<log.sql
      Enter password:
      ERROR at line 63: DELIMITER must be followed by a 'delimiter' character or string
      ERROR 1064 (42000) at line 64: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 4
  
當然我這里是測試庫,如果真的是線上庫量非常大作sed談何容易。所以決定從mysqldump下手改一下標識即可。
下面是修改部分,因為MYSQLDUMP是獨立的工具,這些函數全是static函數,可以放心修改,如果是外部函數真
還不敢改,修改源碼的client/mysqldump.c 如下部分修改了:
 
修改為
 
static uint dump_events_for_db(char *db)
2547            fprintf(sql_file,
2548            "DELIMITER $$/n"
2549            "%s $$/n"
2550            "DELIMITER ;/n",
 
static void dump_trigger_old(FILE *sql_file, MYSQL_RES *show_triggers_rs,
                             MYSQL_ROW *show_trigger_row,
                             const char *table_name)
3247        fprintf(sql_file,
3248          "DELIMITER ;;/n"
3249          "/*!50003 SET SESSION SQL_MODE=/"%s/" */;;/n"
3250          "/*!50003 CREATE */ ",
3251          (*show_trigger_row)[6]);
修改為:
3247        fprintf(sql_file,
3248          "DELIMITER $$/n"
3249          "/*!50003 SET SESSION SQL_MODE=/"%s/" */$/n"
3250          "/*!50003 CREATE */ ",
3251          (*show_trigger_row)[6]);
 
static int dump_trigger(FILE *sql_file, MYSQL_RES *show_create_trigger_rs,
                        const char *db_name,
                        const char *db_cl_name)
3334            fprintf(sql_file,
3335            "DELIMITER ;;/n"
3336            "/*!50003 %s */;;/n"
3337            "DELIMITER ;/n",
3338            (const char *) (query_str != NULL ? query_str : row[2]));
  
修改為:
  
3334            fprintf(sql_file,
3335            "DELIMITER $$/n"
3336            "/*!50003 %s */$$/n"
3337            "DELIMITER ;/n",
3338            (const char *) (query_str != NULL ? query_str : row[2]));
 
不會報錯了。
 
</log.log
</log.log
</log.sql

(編輯:武林網)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 开平市| 昌宁县| 尼勒克县| 同江市| 湖州市| 徐水县| 绍兴县| 红原县| 枣强县| 将乐县| 永年县| 三明市| 通江县| 邵东县| 措勤县| 金湖县| 上犹县| 化州市| 诸城市| 宁津县| 伊春市| 绵竹市| 常州市| 眉山市| 林西县| 汝阳县| 堆龙德庆县| 三都| 枞阳县| 岳阳县| 郓城县| 鄂托克前旗| 罗山县| 浠水县| 农安县| 山东| 象山县| 哈巴河县| 澄江县| 罗平县| 双江|