首页 网站运营正文

在linux下用命令备份与还原mysql数据库

之前一直习惯用phpmyadmin 网页工具管理数据库,最近突然网站被黑,网站环境(用的lnmp)一键安装包也出莫名其妙的问题 ,详细可看这篇文章:

诡异的一天:dede网站被黑,lnmpphpmyadmin又不能访问https://cainiaoqidian.com/post/581.htm


QQ五笔截图未命名.png

phpmyadmin系统不能使用了,网站重新搭建起来倒是容易,可这让我无法备份数据就郁闷了,更新的内容都是付出了心血的可不想丢。其实,利用phpmyadmin 管理mysql是比较简单,友好的,不用这个工具也能管理,在命令行下就能操作。


以本站菜鸟起点为例,实操过的。

1、备份:

命令:mysqldump -u用户名 -p密码 数据库名 > 数据库名.sql      //这里要注意下操作的所在路径,因为是备份到当前目录下的;

例:mysqldump -u root -p 123456 cainiao > cainiao.sql   //这样就备份了好了,备份文件名叫 cainiao.sql


2、到新服务器上还原,前提是数据库已经创建好了;

命令:mysql -u用户名 -p密码 数据库名 < 数据库名.sql

例: mysql -u root -p 123456 cainiao < cainiqo.sql    //看到这个小于符号没?这个就是导入, 如果是大于就是导出;


基本的就这样,如果老的数据库和新的数据库名字,用户密码都一样, 那再把网文件搬过去,网站原地满血复活,有了这个,感觉比用phpmyadmin 还简单一些,只不过phpmyadmin是图形化,用浏览器就可以操作,而且备份下载回来比较方便。



可能还有些特殊情况


1、有些系统没有配置好环境变量,无法在任意目录执行mysql命令,那么就需要进入到mysql程序的目录


root@ubuntu14:~# whereis mysql
mysql: 
/usr/bin/mysql----   mysql的运行路径 
/etc/mysql 
/usr/lib/mysql-----   mysql的安装路径
/usr/bin/X11/mysql 
/usr/share/mysql
/usr/share/man/man1/mysql.1.gz
此外还有一个:
var/lib/mysql --------mysql数据库data文件的存放路径


2、不想导出整个数据库,只导到表结构,就是在数据库前加个参数 -d

mysqldump -u用户名 -p密码 -d 数据库名 > 数据库名.sql
mysqldump -uroot -p -d dbname > dbname .sql


3、导入数据库前如果没有建好数据库,就需要新建,

3.1:mysql>create database dbname ;

3.2:然后,选择数据库   mysql>use dbname ;

3.3:设置数据库编码      mysql>set names utf8;
3.4: 导入数据:               mysql>source /home/xxxx/dbname .sql;  (注意sql文件的路径)

评论