数据库到了后期会越来越大,当达到一定大小phpmyadmin 导出数据库就会报“phpmyadmin 表单包含的字段多于 1000,受限于 PHP 中 max_input_vars 值的配置”的错误。但是数据库要备份怎么办呢?

方法一:修改php配置

网上大部分的解决办法是修改php.in配置如下:
max_execution_time = 300     ; Maximum execution time of each script, in seconds
max_input_time = 300     ; Maximum amount of time each script may spend parsing request data
max_input_vars = 5000
你的服务器要是开启了php缓存可能单纯的只是重启php是不会马上看到效果的。
方法二:mysql命令行备份导出
1、首先你得有管理员权限
2、我们先给phpmyadmin做一些优化改动方便日后网站运维(当然你也可以无视跳过此步骤)
到phpMyAdmin 的安装目录下找到config.sample.inc.php 文件,执行命令
cp config.sample.inc.php config.inc.php
vi config.inc.php
复制并改名为 config.inc.php 并打开编辑,(如果已经有了就直接编辑即可)
找到$cfg['UploadDir'] = '';和$cfg['SaveDir'] = '';
把他们改成$cfg['UploadDir'] = 'upload';和$cfg['SaveDir'] = 'save';保存退出
然后在phpMyAdmin 的目录下执行命令:
mkdir upload
mkdir save
创建两个空目录,upload 和 save
然后回到phpMyadmin刷新下你会看到

Mysql使用IN超过1000怎么处理 mysql in 1000限制_sql

Mysql使用IN超过1000怎么处理 mysql in 1000限制_sql_02

 这样导出的数据库文件会自动保存在save文件夹下,导入数据库文件我们也只需要把文件放到Upload文件夹下即可,这样就避免了因文件太大而失败,剩下的就是把ftp指向这里方便上传和下载了。

3、导出数据库,执行命令并输入数据库管理员密码:

mysqldump -u root -p yourDataBaseName > /www/server/phpmyadmin/phpmyadmin_59efd4718c6626ff/save/1.sql

Mysql使用IN超过1000怎么处理 mysql in 1000限制_php_03

完成后save文件夹下会有导出的数据库文件
 执行命令:zip -r 1.sql.zip 1.sql ,然后你就可以用ftp到save下面下载导出的数据库备份了。
最后来验证一下
执行命令:
 mv /www/server/phpmyadmin/phpmyadmin_59efd4718c6626ff/save/1.sql.zip /www/server/phpmyadmin/phpmyadmin_59efd4718c6626ff/upload
把save下面的数据库文件移动到upload下面
进入phpMyadmin新建一个数据库,导入

Mysql使用IN超过1000怎么处理 mysql in 1000限制_mysql_04

如果导入失败则用sql命令行导入导出数据库这个是最靠谱的:
导入数据库
 进入mysql数据库控制台,
 mysql -u root -pCREATE DATABASE `数据库名` DEFAULT CHARACTER SET UTF8 COLLATE UTF8_GENERAL_CI;
 mysql>use 数据库名
 然后使用source命令,后面参数为脚本文件(如这里用到的.sql)
 mysql>source d:/dbname.sql导出数据库
无需进入控制台,直接命令行:键入数据库密码即可
mysqldump -u root -p dbName > /www/wwwroot/oliviaso/FileName.sql
无任何异常,收工。