我一直在尝试使用CMD导入数据库,但它无法正常工作。
我可以连接到数据库并使用如下命令:
SHOW_DATABASES;
但每当我尝试导入我的数据库时,它只会给我一个错误“访问被拒绝”
这是我正在使用的命令:
C:\xampp\mysql\bin>mysql -u {username} -p {database_name} < {filepath to .sql}
我试图在phpMyAdmin中创建一个新用户并以这种方式导入数据库,但我仍然得到同样的错误......
我看不到问题,似乎我的用户名和ps是正确的,我正在连接数据库,我拥有db用户帐户的所有权限,我的命令行是正确的。
关于问题的任何想法。
最后注意事项 - 当我连接到数据库时,它表示我已连接到MariaDB:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 184
Server version: 10.1.24-MariaDB mariadb.org binary distribution
Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
答案 0 :(得分:0)
尝试运行此命令:
GRANT ALL PRIVILEGES ON databaseName.* TO 'userName'@'%' WITH GRANT OPTION;
这将为您的用户提供所有权限。但请注意,“&#39;%&#39;意味着一切,所以任何连接都可以连接。 &#39;本地主机&#39;可能是一个更安全的选择。使用用户帐户时,最好使帐户具有特定于其任务的权限,例如导出/导入用户只需导出和导入数据。但如果这是100%的本地开发,那么它并不重要 - 但请记住生产服务器,这是一种风险。
之后你应该可以使用以下内容:
导入/导出的命令不是mysql
mysqldump
-
您想要为出口做什么:
mysqldump -uuserName -p databaseName > file.sql
导入:
mysqldump -uuserName -p databaseName < file.sql
或者您可以通过mysql访问并使用source
,如下所示:
mysql -uuser -p
source /path/to/sql.sql