导入数据库 phpMyAdmin - 错误:不正确的格式参数
导入数据库 phpMyAdmin - 错误:不正确的格式参数
我正在尝试将生产MySQL数据库导入到本地的xampp测试环境中。通过连接到web admin(mozff)并简单导出sql(从未需要其他方式)。然后转到本地的phpMyAdmin仪表板并进行导入。但是出现以下错误
错误:
生产环境:
Db-Server
服务器: db01.l2.url.com 通过 TCP/IP
服务器类型: MariaDB
服务器版本: 10.1.26-MariaDB-0+deb9u1 - Debian 9.1
协议版本: 10
用户: user
服务器编码: UTF-8 Unicode (utf8)
Web服务器
Apache 数据库客户端版本: libmysql - mysqlnd 5.0.12-dev - 20150407 - $Id: b5c5906d452ec590732a93b051f3827e02749b83 $ PHP扩展: mysqli文档 curl文档 mbstring文档 PHP版本: 7.0.27-0+deb9u1
phpMyAdmin
版本信息: 4.6.6deb4
测试环境
DB服务器
服务器: 127.0.0.1 通过 TCP/IP 服务器类型: MariaDB 服务器连接: 未使用SSL 服务器版本: 10.1.33-MariaDB - mariadb.org二进制分发 协议版本: 10 用户: root@localhost 服务器编码: UTF-8 Unicode (utf8)
Web服务器
Apache/2.4.33 (Win32) OpenSSL/1.1.0h PHP/7.2.6 数据库客户端版本: libmysql - mysqlnd 5.0.12-dev - 20150407 - $Id: 38fea24f2847fa7519001be390c98ae0acafe387 $ PHP扩展: mysqli文档 curl文档 mbstring文档 PHP版本: 7.2.6
phpMyAdmin
版本信息: 4.8.1, 当前稳定版本: 4.8.2
问题:
- 我在哪里可以看到哪个参数是不正确的?
- 我假设mysql 4.8.1数据库与4.6.6deb4向后兼容..??
我尝试过的:
phpMyAdmin - Error > Incorrect format parameter?
xampp phpmyadmin, Incorrect format parameter
日志:
180709 11:52:25 246 Connect pma@localhost as anonymous on 247 Connect root@localhost as anonymous on 247 Query SELECT @@version, @@version_comment 247 Query SET NAMES 'utf8mb4' COLLATE 'utf8mb4_general_ci' 247 Query SET lc_messages = 'de_DE' 246 Query SELECT `config_data`, UNIX_TIMESTAMP(`timevalue`) ts FROM `phpmyadmin`.`pma__userconfig` WHERE `username` = 'root' 246 Query SELECT `config_data`, UNIX_TIMESTAMP(`timevalue`) ts FROM `phpmyadmin`.`pma__userconfig` WHERE `username` = 'root' 247 Query SET collation_connection = 'utf8mb4_unicode_ci' 247 Init DB mysql 247 Query SHOW SESSION VARIABLES LIKE 'FOREIGN_KEY_CHECKS' 180709 11:52:26 247 Quit 246 Quit 180709 11:52:33 248 Connect pma@localhost as anonymous on 249 Connect root@localhost as anonymous on 249 Query SELECT @@version, @@version_comment 249 Query SET NAMES 'utf8mb4' COLLATE 'utf8mb4_general_ci' 249 Query SET lc_messages = 'de_DE' 248 Query SELECT `config_data`, UNIX_TIMESTAMP(`timevalue`) ts FROM `phpmyadmin`.`pma__userconfig` WHERE `username` = 'root' 249 Query SET collation_connection = 'utf8mb4_unicode_ci' 249 Query SELECT `SCHEMA_NAME` FROM `INFORMATION_SCHEMA`.`SCHEMATA`, (SELECT DB_first_level FROM ( SELECT DISTINCT SUBSTRING_INDEX(SCHEMA_NAME, '_', 1) DB_first_level FROM INFORMATION_SCHEMA.SCHEMATA WHERE TRUE ) t ORDER BY DB_first_level ASC LIMIT 0, 100) t2 WHERE TRUE AND 1 = LOCATE(CONCAT(DB_first_level, '_'), CONCAT(SCHEMA_NAME, '_')) ORDER BY SCHEMA_NAME ASC 248 Query SELECT `db_name`, COUNT(*) AS `count` FROM `phpmyadmin`.`pma__navigationhiding` WHERE `username`='root' GROUP BY `db_name` 249 Query SELECT COUNT(*) FROM ( SELECT DISTINCT SUBSTRING_INDEX(SCHEMA_NAME, '_', 1) DB_first_level FROM INFORMATION_SCHEMA.SCHEMATA WHERE TRUE ) t 249 Query SELECT COUNT(*) FROM ( SELECT DISTINCT SUBSTRING_INDEX(SCHEMA_NAME, '_', 1) DB_first_level FROM INFORMATION_SCHEMA.SCHEMATA WHERE TRUE ) t 248 Query SELECT * FROM `phpmyadmin`.`pma__bookmark` WHERE ( `user` = '' OR `user` = 'root' ) ORDER BY label ASC 249 Quit 248 Quit 180709 11:52:51 250 Connect pma@localhost as anonymous on 251 Connect root@localhost as anonymous on 251 Query SELECT @@version, @@version_comment 251 Query SET NAMES 'utf8mb4' COLLATE 'utf8mb4_general_ci' 251 Query SET lc_messages = 'de_DE' 250 Query SELECT `config_data`, UNIX_TIMESTAMP(`timevalue`) ts FROM `phpmyadmin`.`pma__userconfig` WHERE `username` = 'root' 251 Query SET collation_connection = 'utf8mb4_unicode_ci' 180709 11:52:52 251 Quit 250 Quit 180709 11:52:53 252 Connect pma@localhost as anonymous on 253 Connect root@localhost as anonymous on 253 Query SELECT @@version, @@version_comment 253 Query SET NAMES 'utf8mb4' COLLATE 'utf8mb4_general_ci' 253 Query SET lc_messages = 'de_DE' 252 Query SELECT `config_data`, UNIX_TIMESTAMP(`timevalue`) ts FROM `phpmyadmin`.`pma__userconfig` WHERE `username` = 'root' 253 Query SET collation_connection = 'utf8mb4_unicode_ci' 253 Query SELECT `SCHEMA_NAME` FROM `INFORMATION_SCHEMA`.`SCHEMATA`, (SELECT DB_first_level FROM ( SELECT DISTINCT SUBSTRING_INDEX(SCHEMA_NAME, '_', 1) DB_first_level FROM INFORMATION_SCHEMA.SCHEMATA WHERE TRUE ) t ORDER BY DB_first_level ASC LIMIT 0, 100) t2 WHERE TRUE AND 1 = LOCATE(CONCAT(DB_first_level, '_'), CONCAT(SCHEMA_NAME, '_')) ORDER BY SCHEMA_NAME ASC 252 Query SELECT `db_name`, COUNT(*) AS `count` FROM `phpmyadmin`.`pma__navigationhiding` WHERE `username`='root' GROUP BY `db_name` 253 Query SELECT COUNT(*) FROM ( SELECT DISTINCT SUBSTRING_INDEX(SCHEMA_NAME, '_', 1) DB_first_level FROM INFORMATION_SCHEMA.SCHEMATA WHERE TRUE ) t 253 Query SELECT COUNT(*) FROM ( SELECT DISTINCT SUBSTRING_INDEX(SCHEMA_NAME, '_', 1) DB_first_level FROM INFORMATION_SCHEMA.SCHEMATA WHERE TRUE ) t 180709 11:52:54 253 Quit 252 Quit 254 Connect pma@localhost as anonymous on 255 Connect root@localhost as anonymous on 255 Query SELECT @@version, @@version_comment 255 Query SET NAMES 'utf8mb4' COLLATE 'utf8mb4_general_ci' 255 Query SET lc_messages = 'de_DE' 254 Query SELECT `config_data`, UNIX_TIMESTAMP(`timevalue`) ts FROM `phpmyadmin`.`pma__userconfig` WHERE `username` = 'root' 255 Query SET collation_connection = 'utf8mb4_unicode_ci' 254 Quit 256 Connect pma@localhost as anonymous on 257 Connect root@localhost as anonymous on 257 Query SELECT @@version, @@version_comment 257 Query SET NAMES 'utf8mb4' COLLATE 'utf8mb4_general_ci' 257 Query SET lc_messages = 'de_DE' 256 Query SELECT `config_data`, UNIX_TIMESTAMP(`timevalue`) ts FROM `phpmyadmin`.`pma__userconfig` WHERE `username` = 'root' 257 Query SET collation_connection = 'utf8mb4_unicode_ci' 256 Query SELECT `config_data`, UNIX_TIMESTAMP(`timevalue`) ts FROM `phpmyadmin`.`pma__userconfig` WHERE `username` = 'root' 256 Query SELECT `username` FROM `phpmyadmin`.`pma__userconfig` WHERE `username` = 'root' 256 Query UPDATE `phpmyadmin`.`pma__userconfig` SET `timevalue` = NOW(), `config_data` = '{\"lang\":\"de\",\"Console\\/Mode\":\"collapse\"}' WHERE `username` = 'root'
180709 11:52:58 257 Quit
256 Quit
在使用MAMP时,我遇到了相同的错误,通过更改php.ini中的参数来解决了问题。
我按照Timmy在https://timmyomahony.com/blog/MAMP-phpmyadmin-and-big-database-imports-errors-or-timeouts/的指示进行操作。
; PHP将接受的POST数据的最大大小。 post_max_size = 256M ; 允许上传文件的最大大小。 upload_max_filesize = 256M ; 每个脚本的最大执行时间,以秒为单位 max_execution_time = 600 ; 每个脚本可能花费的最大时间来解析请求数据 max_input_time = 600 ; 脚本可能消耗的最大内存量(8MB) memory_limit = 512M
注意1:您可以根据自己的需要替换值,例如可以将600替换为5000。
注意2:重新启动Xampp或MAMP。
问题原因:在使用phpMyAdmin导入数据库时,出现了"Error Incorrect format parameter"的错误。尝试了很多方法,包括增加php.ini中的时间限制,但都没有起作用。
解决方法:最终通过命令行导入sql文件来解决了这个问题。具体的命令为:
mysql -u username -p databasename < /path/to/file.sql
大多数情况下,用户名将是"root"。如果在旧数据库和新数据库备份文件中存在相同的表,可能会出现如下错误:
ERROR 1050 (42S01) at line 31: Table 'wp_commentmeta' already exists
在这种情况下,需要删除现有的数据库,然后使用上述命令导入新的文件。
使用命令行(CMD)来导入数据库。如果您不想编辑PHP.ini文件,我建议您尝试这种方法。
具体步骤如下:
1. 首先,打开CMD命令行窗口。
2. 导航到phpMyAdmin所在的目录。您可以使用cd命令切换到正确的目录。例如,如果phpMyAdmin安装在C盘的xampp目录下,您可以使用以下命令导航到该目录:
cd C:\xampp\phpMyAdmin
3. 在命令行中输入以下命令来导入数据库:
mysql -u 用户名 -p 数据库名 < 数据库文件.sql
其中,用户名是您的MySQL用户名,数据库名是您要导入的数据库名称,数据库文件.sql是您要导入的数据库文件的路径。
4. 输入命令后,按下Enter键开始导入数据库。您将被要求输入MySQL密码。输入密码后,按下Enter键继续。
5. 导入过程将开始,并在命令行窗口中显示进度。请耐心等待,直到导入完成。
通过使用命令行导入数据库,您可以避免编辑PHP.ini文件的麻烦,特别是对于较大的数据库文件。