这应该是快速而简单的,但在对Google进行了相当多的研究后,我仍然感到难过.我主要是新手:服务器管理员,CLI,MySQL.
我在本地开发我的PHP站点,现在需要将一些新的MySQL表从我的本地开发设置移动到远程测试站点.对我来说,第一步就是一次一个地转储表.
我成功登录到我的本地MySQL,如下所示:
Govind% /usr/local/mysql/bin/mysql -uroot
Run Code Online (Sandbox Code Playgroud)
但是在这个目录中(并没有登录到MySQL):
/usr/local/mysql/bin
Run Code Online (Sandbox Code Playgroud)
......当我试着这个
mysqldump -uroot -p myDBname myTableName > myTestDumpedTable.sql
Run Code Online (Sandbox Code Playgroud)
..然后我一直这样说:
"myTestDumpedTable.sql: Permission denied."
Run Code Online (Sandbox Code Playgroud)
如果我做了任何变化(尝试转储整个数据库,删除'-p'等),结果相同
我很尴尬,因为我相信这将是非常简单的,或者只是揭示了我知识中的一个空洞(基本)漏洞...但请帮忙;-)
gov*_*nda 26
答案来自MySQL名单上的一个乐于助人的人:
正如你们(Anson和krazybean)所想的那样 - 我没有得到写信给/usr/local/mysql/bin/dir的许可.但是从任何其他目录开始,调用mysqldump都失败了,因为我的shell PATH var(如果我说的那样)尚未设置为mysqldump从另一个目录处理.另外,由于某些原因我还不太了解,我还需要在输出上使用完整路径,即使我有效地调用mysqldump,即使我有权写入输出目录(例如~/myTestDumpedTable.sql,所以这里是我的票,现在(快速回答):
Govind% /usr/local/mysql/bin/mysqldump -uroot -p myDBname myTableName > /Users/Govind/myTestDumpedTable.sql
Run Code Online (Sandbox Code Playgroud)
您可以写入shell用户有权访问的任何地方.我只是选择了我的用户的主目录.
希望有一天能帮助某人.
干杯.
| 归档时间: |
|
| 查看次数: |
36866 次 |
| 最近记录: |