我一直在尝试使用 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.
最佳答案
尝试运行这个命令:
GRANT ALL PRIVILEGES ON databaseName.* TO 'userName'@'%' WITH GRANT OPTION;
这将为您的用户提供所有权限。但请注意,'%' 表示一切,因此任何连接都可以连接。 'localhost' 可能是一个更安全的选择。对于用户帐户,最好创建具有特定于其任务的权限的帐户,例如仅用于导出和导入数据的导出/导入用户。但是,如果这是 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
关于mysql - 使用 CMD 导入 SQL 数据库 - 唯一访问被拒绝错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45164127/