MySQL cluster备份恢复
备注:如果你有时间你应该阅读这个备注,如果没有时间你更要阅读以下备注。 在网络上找了很多相关备份和还原的教程,大多都是互相抄袭,按照他们的教程能够成功备份,还原就很让人揪心了。谈谈思路和注意点吧。 首先,第一步不用说,肯定是备份数据库。最简单,打开管理节点的ndb_mgm控制台,输入start backup backupID(backupid用任意数字,比如日期20100106,注意,不能和以前的备份ID相同)。在你的所有存储节点的$datadir/BACKUP下会生成相应备份目录BACKUP-backupid 第二步,ndb_mgm中输入shutdown来关闭所有的存储节点和所有的管理节点(包括它本身)。 第三步,在所有的sql节点中删除数据库,留下系统自带的 //备注,第三步是不是一定需要做呢,目前还没测试过,不过至少制造了一个数据丢失的现象 第四步,按顺序启动mysql集群,所有管理节点,然后所有存储节点(启动时候需要加上参数--initial),最后所有sql节点。 第五步,在存储节点Master(192.168.16.10)上执行ndb_restore还原命令/usr/local/mysql/bin/ndb_restore -n11 -b20100106 -r -m --backup_path=/opt/mydata/BACKUP/BACKUP-20100106/ --ndb-connectstring=nodeid=27,192.168.16.8,192.168.16.9 Master如下。(id=11) id=11 @192.168.16.10 (mysql-5.1.39 ndb-7.0.9, Nodegroup: 0, Master) id=12 @192.168.16.11 (mysql-5.1.39 ndb-7.0.9, Nodegroup: 0) id=13 @192.168.16.12 (mysql-5.1.39 ndb-7.0.9, Nodegroup: 0) id=14 @192.168.16.13 (mysql-5.1.39 ndb-7.0.9, Nodegroup: 0) 命令解释:/usr/local/mysql/bin/ndb_restore 还原命令 -n 当前存储节点的nodeid -b 要还原的backupid -r 数据开关,也就是还原数据了 -m 还原表结构 --ndb-connectstring=nodeid=27,192.168.16.8,192.168.16.9 192.168.16.8,192.168.16.9是两个管理节点的ip,27是什么呢,看看管理节点的config.ini内的mysqld配置,其中有一段如下: [mysqld] HostName=192.168.16.24 Id= 25 [mysqld] HostName=192.168.16.25 Id= 26 [mysqld] [mysqld] 必须留两个空余的[mysqld],最后一个有指定HostName的mysqld ID=26,那么下一个空白的mysqld的ID默认就是27了。这个前面nodeid=27也就是这么来的,其实改成nodeid=28也是可以的。 第六步,在存储节点slave(除192.168.16.10以外)上执行ndb_restore还原命令/usr/local/mysql/bin/ndb_restore -n12 -b20100106 -r -d --backu
相关文档:
http://www.mysqlperformanceblog.com/2006/11/12/trying-archive-storage-engine/
(1)在相同的条件下,archive的数据大小远小于myisam
(2)在压缩archive数据时,bzip2好于gzip
(3)需要添加archive的方法和压缩的level,以满足不同用户的需求
(4)这个存储引擎适用于日志数据
(5)此引擎不能update,delete,并 ......
在网上看了很多关于windows2003+iis6+php+mysql 服务器配置的文章,大体上都是互相抄袭,不过一些公共的信息还是很正确的,但是针对一些特别的机器或者因为个人不同的配置总不能按照文章的内容操作成功,下面说一种较为简单的操作方法,步骤如下:
1.iis安装(略)
2.下载AppServ并安装
3.在c:\建php5文件夹,然后再php5 ......
搞了很久。。终于发现原来是权限问题。。
2行命令搞定
grant all privileges on rogue.* to admin@localhost identified by 'admin' with grant option
grant all privileges on rogue.* to admin@'%' identified by 'admin' with grant option
经典了。。。
魔力私服网页端搞定咯~~ ......
我们知道用powerdesigner导出的sql文件后缀为'.sql';用phpmyadmin很容易导入MysQL数据库,但是用PHP怎么导入数据库呢?
我用powerdesigner设计一个数据库后导出sql文件(一个投票系统)为'vote.sql';
文件内容为(一些sql语句和注释):
/*======================= ......
MySQL导出和导入SQL脚本
导出sql脚本:
mysqldump -u 用户名 -p 数据库名 > 存放位置
mysqljump -u root -p test > c:\a.sql
导入sql脚本:
要建环境变量或者在bin的目录下,mysql这个命令才能识别。
test是你要导进去的数据库名字,要提前建好~~
mysql -u 用户名 -p 数据库名 < 存放位置
mysqljump -u ro ......