大家好,小编是个电脑软件控,注意这里是ubuntu11.04版别mysql 5.1 。windows下的估量有区别。。自己研讨去吧!!
1.登录mysql后用BACKUP、RESTORE指令不引荐使用,后边的版别可能会移除。。所以还是别用了!
2。用mysqldump指令备份。假设在firstdb下有个test 表。则运转
mysqldump -uUERNAME -pPASSWord-hHOSTNAME firstdb test > test.sql
登录后mysql后运转:drop table test ;
现在康复 : mysql -uUSRNAME-pPASSWord -hHOSTNAME firstdb < test.sql
这样本来的test就康复了。。
当然mysqldump很多参数。。自己man去吧!
<!--[if !supportLists]-->3、<!--[endif]-->用select into 做备份
讲解linux下mysal备份的几种方法教程图2
登录mysql后运转:select * from test into outfile \\\"test.dat\\\";
清空表:truncate test ;
康复能够: load data infile \\\"test.dat\\\" into table test ;
当然还能够用mysqlimport指令代替load data 。。在bash下运转:
mysqlimport -uUSERNAME -pPASSWROD-hHOSTNAMEfirstdbtest.dat ;
这样就能够康复了。。
不过注意在linux下的权限问题。。这个不解说。。mysql的权限办理用户是一个系统用户--mysql,具体检查相关linux 权限的书籍!
4.使用mysqlhotcopy指令
用法和mysqlimport类似。。这是一个perl脚本。。检查help就会用了。。
5.使用二进制更新的日志文件康复数据到近期方位。
这个要求翻开log-bin选项,在/etc/mysql/my.cnf 下设置。。使用正则表达式很简单就能够找到log-bin选项,把注释去了就能够了。当然也能够自己加上。
然后使用mysqlbinlog XXXX-bin.XXX 就能够康复了。。默认应该是放在/var/log/mysql 。。自己使用find指令找。。
讲解linux下mysal备份的几种方法教程图3
6最后一种方法不多说。。直接把整个数据库复制。。。使用cp 指令复制到其他目录或文件系统。。康复也简单。。。
4个timeout都是为了防止某一个链接长时间占用一数据库的描述符,又不干事情,或者网络有问题没有释放
这个描述符,线程阻塞种种资源浪费的情况.我们要主动的\"卡\"掉对端!
首先看看这4个timeout在mysql5.1手册里的英文解释:
connect_timeout
The number of seconds that the mysqld server waits for a connect packet before responding with Bad handshake.
interactive_timeout
The number of seconds the server waits for activity on an interactive connection before closing it.
wait_timeout
The number of seconds the server waits for activity on a noninteractive connection before closing it.
net_read_timeout
The number of seconds to wait for more data from a connection before aborting the read.
net_write_timeout
The number of seconds to wait for a block to be written to a connection before aborting the write.
从意思上可以理解为
connect_timeout在获取连接阶段(authenticate)起作用,
interactive_timeout和wait_timeout在连接空闲阶段(sleep)起作用,
net_read_timeout和net_write_timeout在连接繁忙阶段(query)起作用。