1. 前言
mysql数据库导出和导入,在使用navicat等图形化管理工具的情况下很方便。但是,学校服务器上3306端口禁止远程访问,所以,我们只能采用如下两种方案:
- 在shell中导出导入
- 安装phpmyadmin
2. 使用shell
2.1. 导出
假设我们要导出的数据库名为vkphp。
mysqldump -uroot -ppassword vkphp > /root/vkphp.sql
执行该命令,则会在/root目录下导出vkphp.sql文件。
2.2. 导入
1、使用xftp上传vkphp.sql到/root目录下。
2、登录mysql
mysql -u root -p
3、新建数据库CREATE DATABASE vkphp DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
PS:删除数据库DROP DATABASE vkphp;
4、导入数据use vkphp;
source /root/vkphp.sql;
3. 使用phpmyadmin
3.1. 安装phpmyadmin
1、到phpmyadmin官网下载phpmyadmin源码,比如phpMyAdmin-4.7.4-all-languages.tar.gz。
2、上传phpMyAdmin-4.7.4-all-languages.tar.gz到/root目录下。
3、解压安装tar -xvf phpMyAdmin-4.7.4-all-languages.tar.gz
mv phpMyAdmin-4.7.4-all-languages phpmyadmin
mv phpmyadmin [web_path]
,web_path是web根目录,比如/home/wwwroot。
4、配置
cd /home/wwwroot/phpmyadmin/libraries
vim config.default.php
1 | // localhost => 127.0.0.1 |
3.2. nginx配置
1、在phpmyadmin目录中mkdir log
touch log/phpmyadmin-nginx.log
2、查找php-cgi.sockfind / -name 'php-cgi.sock'
看到的结果为/tmp/php-cgi.sock
3、在nginx的conf/vhost目录中,新建phpmyadmin.voidking.com.conf,内容如下:
1 | server { |
4、重启nginx./nginx -t
./nginx -s reload
如果报错 nginx: [emerg] unknown log format "main" in...
,那么最简单的方法是去掉main。
access_log /home/wwwroot/phpmyadmin/log/phpmyadmin-nginx.log;
5、在万网添加域名解析phpmyadmin。
6、测试访问 http://phpmyadmin.voidking.com
3.3. 导出导入
1、登录phpmyadmin。
2、进入vkphp数据库。
3、单击导航栏“导出”,格式选择SQL,执行。即可导出sql文件到本地。
4、单击导航栏“导入”,选择文件,执行。
但是,最大文件限制为50MB。此时,我们需要修改php.ini和nginx.conf。
(1)查找php.ini和nginx.conffind / -name 'php.ini'
find / -name 'nginx.conf'
(2)编辑php.inivim /usr/local/php/etc/php.ini
输入/upload
,查找“upload”的位置,按N键跳转下一个匹配。
修改upload_max_filesize和post_max_size为
1 | upload_max_filesize = 500M |
(3)编辑nginx.confvim /usr/local/nginx/conf/nginx.conf
修改client_max_body_size为
1 | client_max_body_size 500m |
(4)重启php/etc/init.d/php-fpm restart
(5)重启nginx./nginx -t
./nginx -s reload
5、再次查看最大文件限制,就变成了500MB。