之所以加了个ubuntu,其实也没什么,就是恢复数据库的时候给幽默了一下,所以特地加上。

 
写在前面:一直很想好好的学linux命令行、shell编程,幻想自己能够通过学习进而成为命令行高手,游刃于黑白屏幕之前,只可惜几次尝试都觉得举步维艰,无甚收获。漫无目的,从头到尾把语法掌握起来,然后一个命令一个命令去理解记忆,那样不仅枯燥难以坚持,费时费力还特没有成就感。
直到最近几个具体而又紧迫的任务:自动备份数据库,批量更新发布,还有数据库还原。之前我还勉强手动去操作,但是实在是太让人纠结了,做些机器就能做的事情更让自己懊恼。狠下决心,借助网络,跳过了很多入门的训练,直接通过现成的例子,修修改改竟然也达到目标,虽然做法上心里觉得肯定不是最优,但是却颇有成就感,而且对Linux命令行,shell的理解也跟进一步,对以后的学习也就更有信心了。
 
回到主题:
自己一直懒于去学习这个那么容易的命令行备份,靠着phpmyadmin的界面操作,一拖再拖。连定期备份都是自己手动的去做的,现在回想起来真是愚不可及啊!真想骂自己一句:死蠢!
改变的原因在于:数据库慢慢变庞大了,依靠phpmyadmin逐渐出现问题:很慢,而且有的时候export竟然会失败,找不到export.php这个页面,这个让我非常纠结,原因是什么我没去细究,但是显然是大一些的数据库(这里的大一些也没多大,几十M而已)就开始出问题了。没办法备份了,自己肯定会心慌了。
 
备份数据库
这个好说,使用mysqldump轻而易举的事情。
mysqldump -u[account] -p[pass] database_name > database_name.sql
这里只备份了一个数据库,如果要多个,或者全数据库,加参数,或者写shell执行就好了。不多说。
当然,定期备份嘛,crontab ,写在日志里,每天执行一次,只保留最近1周的存档,并且传到另外一个备份服务器,这个是后话,以后我再了。(这些虽然很多人看来简单,但是对于新手,有时候真觉得非常恶心啊)
 
恢复数据库
新人一枚,网上看到好多方法,不过大多一样。不过搞笑的是,ubuntu12.04(别的版本我不知道)Mysql的数据库文件不是存在 /usr/local/mysql里面的 而是在:/var/lib/mysql 。
这就是我特地加个ubuntu的原因了,就在这上面,我也栽了跟斗,我了个去。
 
1.移动到mysql数据库文件存放位置
cd /var/lib/mysql
2.创建数据库
mysqladmin -uroot -ppass create database_name
3.导入数据库
mysql -uroot -ppass database_name < database_name.sql
4.为数据库创建账号与密码
mysql -uroot -ppass
mysql> grant all privileges on database_name.* to 'user'@'localhost' identified by "pass";
 
至此,就完成了,如果是导入已经存在数据库,那么备份的sql文件里,就需要加个参数 实现drop table if exist. 至于具体加什么上网搜下mysqldump的参数就好了。
 
至此,基本的数据库备份与恢复就完成了。勉强能用,凑合记录以免自己忘记。也请高手赐教,通过mysqldump直接备份更大一些的数据库的还会出问题的,到时候还得再进一步研究学习,望高手点拨啊!!!

ubuntu mysql 数据库备份以及恢复[命令行]的更多相关文章

  1. mysql数据库备份及恢复命令mysqldump,source的用法

    还原一个数据库:mysql -h localhost -u root -p123456 www<c:/www.sql 备份一个数据库:mysqldump -h localhost -u root ...

  2. mysql 数据库备份和恢复

    物理备份对比逻辑备份 物理备份是指直接复制包含数据的文件夹和文件.这种类型的备份适用于大数据量且非常重要,遇到问题需要快速回复的数据库. 逻辑备份保存能够代表数据库信息的逻辑结构(CREATE DAT ...

  3. JSP 实现 之 调用java方法实现MySQL数据库备份和恢复

    package cn.qm.db; import java.io.BufferedReader; import java.io.DataInputStream; import java.io.IOEx ...

  4. mysql 数据库备份,恢复。。。。

    mysql 数据备份,恢复,恢复没写,这里只写了备份... 先暂作记录吧! 备份:表结构和数据完全分开,默认有一个文件会记录所有表的结构,然后表中数据的备份 如果超过分卷的大小则会分成多个文件,不然则 ...

  5. mysql数据库备份与还原命令

    还原一个数据库:mysql -h localhost -u root -p123456 www 备份一个数据库:mysqldump -h localhost -u root -p123456 www ...

  6. MySql数据库2【常用命令行】

    (一) 连接MYSQL: 格式: mysql -h主机地址 -u用户名 -p用户密码 1.连接到本机上的MYSQL 进入mysql安装目录下的bin目录下,再键入命令mysql -uroot -p,回 ...

  7. mysql数据库备份和恢复

    1.数据库备份 mysqldump -uroot -proot jira736 > jira736.sql 2.数据库恢复 mysql -uroot -proot jira762 < ji ...

  8. mysql 数据库备份及恢复

    1.备份 # 导出数据库:mysqldump -u 用户名 -p 数据库名 > 导出的文件名mysqldump -–add-drop-table -uusername -ppassword da ...

  9. Xtrabackup原理及使用innobackupex进行MySQL数据库备份恢复

    Xtrabackup是由percona提供的mysql数据库备份工具,据官方介绍,这也是世界上惟一一款开源的能够对innodb和xtradb数据库进行热备的工具. Xtrabackup中主要包含两个工 ...

随机推荐

  1. Atitit.部分错误 设计模式,异常处理框架atiPartErr 的总结

    Atitit.部分错误 设计模式,异常处理框架atiPartErr 的总结 1. 流程图 1 2. Java 类关系结构图片 1 3. 错误信息结构 1 4. 调用 2 4.1. 收集错误信息 3 4 ...

  2. Django接受ajax传过来的数组

    $.ajax({ cache: false, type: "POST", url: "/userdelete/", traditional:true, //加上 ...

  3. 重启oracle方法一二三

    startup nomount alter database mount alter database open Linux:方法1 用root以ssh登录到linux,打开终端输入以下命令: cd ...

  4. selenuim爬虫实战(日lofter.com)

    LOFTER是网易公司2011年8月下旬推出的一款轻博客产品. LOFTER专注于为用户提供简约.易用.有品质.重原创的博客工具.原创社区,以及有品质的手机博客应用. LOFTER首次采用独立域名,口 ...

  5. 分析HTML5中WebSocket的原理

    目录结构   一.什么是Websocket websocket是html5提出的一个协议规范,参考rfc6455. 不过目前还都是在草案,没有成为标准,毕竟html5还在路上. websocket约定 ...

  6. 『Spring.NET+NHibernate+泛型』框架搭建之DAO(三)★

    本节内容介绍Nhibernate所封装的数据库訪问层.只是我增加了泛型进行封装.大概思路:首先,我们有一个接口层,另一个相应的实现层.在接口层中我们先定义一个父接口,父接口中定义每个接口都可能会用到的 ...

  7. hdu 1026:Ignatius and the Princess I(优先队列 + bfs广搜。ps:广搜AC,深搜超时,求助攻!)

    Ignatius and the Princess I Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (J ...

  8. [openwrt]网络配置

    Network: config interface 'loopback'    option ifname 'lo'    option proto 'static'    option ipaddr ...

  9. ChemDraw Prime 15怎么绘制立体化学结构

    众所周知,ChemDraw化学工具的最新版本是ChemOffice 15,其下还有三个适合不同用户的版本,下文详细指导如何使用入门版本ChemDraw Prime 15绘制立体化学结构. 立体化学结构 ...

  10. VC++ 轻松实现“闪屏” SplashWnd

    我们平时使用的好多软件在运行启动时都会有一个“闪屏”画面显示,一般用于标识软件的一些信息,如软件版本名称.公司等,通过查找资料发现,其实实现起来很简单,一个类就能搞定! SplashWnd.h  C+ ...