Products
GG网络技术分享 2025-03-18 16:05 10
数据库到了后期会越来越大,当达到一定大小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刷新下
这样导出的数据库文件会自动保存在save文件夹下,导入数据库文件我们也只需要把文件放到Upload文件夹下即可,这样就避免了因文件太大而失败,剩下的就是把ftp指向这里方便上传和下载了。
3、导出数据库,执行命令并输入数据库管理员密码:
mysqldump -u root -p yourDataBaseName > /www/server/phpmyadmin/phpmyadmin_59efd4718c6626ff/save/1.sql
完成后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新建一个数据库,导入
如果导入失败则用sql命令行导入导出数据库这个是最靠谱的:
导入数据库
进入mysql数据库控制台,
mysql -u root -p
CREATE 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
无任何异常,收工。
来源:https://blog.csdn.net/weixin_36437103/article/details/116066786Demand feedback