MySQL Dump Not Working
每次我发出以下命令 "mysqldump -uroot -ppassword database > database.sql" 我都会收到以下错误 "您的 SQL 语法有错误;请查看与您的 MySQL 服务器相对应的手册使用 near" 的正确语法的版本。请帮帮我。
如果有帮助,这里有更多信息。
我正在使用在 Mavericks 上运行的 macbook,并且正在使用 MAMP PRO。
- 您是否在 -u 用户和 -p 密码之间放置空格?
-
请发布 mysqldump -V(大写 V)的输出以及您正在运行的 MySQL 服务器版本(SELECT @@VERSION;)
-
[mysqldump] 的 my.cnf 中是否有任何可能在连接后运行一些损坏的查询?
-
@Michael-sqlbot 在发出命令 msqldump 后收到的输出是 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 并且我正在运行的 MySQL 服务器的版本是 5.5.25。
-
ohhhhhhhh... mysqldump 是一个 shell 命令...不是 mysql 语句。您需要在 $ 或 # 系统提示符处,而不是 mysql> 提示符处。
-
@Michael-sqlbot 上帝保佑,谢谢!
您的 database.sql 是否在某些查询部分有错误?您是否尝试在任何数据库软件(如 phpMyAdmin、MySQL 浏览器、Workbench)中导出它?您的数据库是否有很多事务或数据?请尝试mysql -u root -p database > database.sql。希望能帮助到你。
- mysql 客户端实用程序中 -p 之后没有空格。它看起来和似乎非常错误,但这就是它们的工作方式。 -pPASSWORD 或 --password=PASSWORD 是在命令行上提供密码的仅有的两种方法。甚至 --password[space]PASSWORD 都不能像您期望的那样工作。如果密码需要引用,则可以使用 -p'PASSWORD' (这似乎非常错误,但有效)或 --password='PASSWORD' 可以使用。 -p 或 --password 之后的任何空格都会使客户端假定您希望被提示输入密码。
-
database.sql 这里是生成的输出文件,与输入无关。 database.sql 中的任何内容都将被踩踏并替换为该命令的输出。
-
当我尝试通过 phpAdmin 导出数据库时,一切正常。当我通过终端中的 MySQL 命令执行此操作时,它只是不起作用。
-
@BryanHeredia 你试过这个吗? mysql -u root -p 数据库 > database.sql
-
@Shudmeyer 是的,我有,它给了我你的 SQL 语法消息中有错误。
-
哦,我明白了,您是否输入了 mysql 提示符?请在 shell 上而不是在 mysql 命令上执行此操作。
-
@Michael-sqlbot 也说过 mysqldump 是一个shell命令......不是一个mysql语句。您需要在 $ 或 # 系统提示符下,而不是 mysql> 提示符下。
-
@Shudmeyer 上帝保佑!有效!我必须在 shell 中输入完整路径!非常感谢,我现在可以继续学习了!
-
欢迎@BryanHeredia