我正在尝试使用以下命令使用 mysqldbexport 导出数据和 ddl
mysqluc> mysqldbexport --server=user:passowrd@localhost:3306 --export=both --bulk-insert world --output-file=D:/mysqldumps/dump2.sql
但它会抛出一个错误
ERROR: Query failed. 1146 (42S02): Table 'mysql.proc' doesn't exist
Execution of utility: 'mysqldbexport --server=root:root@localhost:3306 --export=both --bulk-insert world --output-file=D:/mysqldumps/dump2.sql' ended with return code '1' but no error message was streamed to the standard error, please review the output from its execution.
带有 --export=DATA 的查询工作正常。
我尝试按照一些帖子的建议执行 mysql_upgrade,但这也不是一个可行的选择。我收到以下错误消息
The mysql_upgrade client is now deprecated. The actions executed by the upgrade client are now done by the server.
To upgrade, please start the new MySQL binary with the older data directory. Repairing user tables is done automatically. Restart is not required after upgrade.
The upgrade process automatically starts on running a new MySQL binary with an older data directory. To avoid accidental upgrades, please use the --upgrade=NONE option with the MySQL binary. The option --upgrade=FORCE is also provided to run the server upgrade sequence on demand.
It may be possible that the server upgrade fails due to a number of reasons. In that case, the upgrade sequence will run again during the next MySQL server start. If the server upgrade fails repeatedly, the server can be started with the --upgrade=MINIMAL option to start the server without executing the upgrade sequence, thus allowing users to manually rectify the problem.
任何帮助深表感谢?
答案1
如果您不使用 mysql.proc 表请跳过它,它包含存储过程和存储函数,所以如果您没有任何这些,您可以跳过。
--skip=skip-objects
Specify objects to skip in the operation as a comma-separated list (no spaces). Permitted values are CREATE_DB, DATA, EVENTS, FUNCTIONS, GRANTS, PROCEDURES, TABLES, TRIGGERS, and VIEWS.
所以你的情况
--skip=PROCEDURES,FUNCTIONS
如果仍然需要命令,则从其他 mysql 服务器创建虚拟的,无需任何记录,仅使用模式。