日期:2014-05-16  浏览次数:20726 次

新手linux 下mysql 自动备份
运用mysql中mysqldump 命令进行数据导出备份
如: mysqldump --opt -uroot -proot mybid  > /root/backup/test.sql
处理过程中遇到
mysqldump: Got errno 32 on write

好吧 这个问题是好像是msqldump命令处理过程中mysql缓存不足
设置 my.cnf 或 my-small(...).cnf配置文件

中的max_allowed_packet 放大,我本机默认是1M,放大至32M。重启MySQL。
大数据量处理:(转,未测试)
1  mysqldump -uroot -ppassword --quick Portal_DEV | gzip > Portal_DEV.contents.gz
通过以上命令,将Portal_DEV数据库导成Portal_DEV.contents.gz压缩文件。
gunzip < Portal_DEV.contents.gz | mysql -uroot -ppassword Portal_Optimize
然后通过以上命令,将Portal_DEV导入Portal_Optimize数据库。

重启mysql命令:
sudo /etc/init.d/mysql restart
||
进入路径:/usr/local/mysql/bin (可能不在这,自己找找)
./mysqld_safe &
关闭mysql服务的命令是:
./mysqladmin -u root -p shutdown

----cron实现定时自动备份-----
#!/bin/sh
# File: /home/mysql/backup.sh
# Database info
DB_NAME="test"
DB_USER="username"
DB_PASS="password"
# Others vars
BIN_DIR="/usr/local/mysql/bin"
BCK_DIR="/home/mysql/backup"
DATE=`date +%F`
# TODO
$BIN_DIR/mysqldump --opt -u$DB_USER -p$DB_PASS $DB_NAME | gzip > $BCK_DIR/db_$DATE.gz

添加脚本执行权限

ubuntu下可能遇到问题:
乌班图下好像必须要加:#!/bin/sh
./backup.sh: /bin/sh^M: bad interpreter: No such file or directory

解决:
然后修改文件格式 
#sh>vi filename 

利用如下命令查看文件格式 
:set ff 或 :set fileformat 

可以看到如下信息 
fileformat=dos 或 fileformat=unix 

利用如下命令修改文件格式 
:set ff=unix 或 :set fileformat=unix 




-------
连接SSH服务器刚刚离开一会就断开,不得不需要反复连接服务器,为了使SSH服务器可以保持足够的连接时间,大家可以按以下方法设置:
基于安全的理由,如果用户连线到 SSH Server 后闲置,SSH Server 会在超过特定时间后自动终止 SSH 连线。以下是设定终止连线时间的方法:

1、打开 /etc/ssh/sshd_config 文件,找到一个参数为 ClientAliveCountMax,它是设定用户端的 SSH 连线闲置多长时间后自动终止连线的数值,单位为分钟。

2、如果这一行最前面有#号,将那个#号删除,并修改想要的时间。

3、修改后保存并关闭文件,重新启动 sshd:

/etc/rc.d/init.d/sshd restart

4. vim .bash_profile

export TMOUT=1000000