我一直在尝试使用 CMD 导入数据库,但它不起作用。
我可以连接到数据库并使用如下命令:
SHOW_DATABASES;
但是每当我尝试导入数据库时,它只会给我错误"访问被拒绝"
这是我正在使用的命令:
C:xamppmysqlbin>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;
这将授予用户所有权限。但请注意,"%"表示一切,因此任何连接都可以连接。"本地主机"可能是一个更安全的选择。对于用户帐户,最好创建具有特定于其任务的权限的帐户,例如导出/导入用户,仅用于导出和导入数据。但是,如果这是 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