mysql 定时数据备份
1.编写shell脚本
vi /data/www/project_name/bin/mysql_backup.sh
#!/bin/bash
#This is a ShellScript For Auto DB Backup
#Powered by liuzheng
#系统变量定义
DBName=test
DBUser=root
DBPasswd=123456
BackupPath=/tmp/mysql_backup/
NewFile="$BackupPath"db$(date +%y%m%d).tar.gz
DumpFile="$BackupPath"db$(date +%y%m%d).sql
OldFile="$BackupPath"db$(date +%y%m%d --date='1 days ago').tar.gz
#创建备份文件
if [ ! -d $BackupPath ]; then
mkdir $BackupPath
fi
echo "---------------------------"
echo $(date +"%y-%m-%d %H:%M:%S")
echo "---------------------------"
#删除历史文件
if [ -f $OldFile ]; then
rm -f $OldFile >> $LogFile
echo "[$OldFile]Delete Old File Success!"
else
echo "not exist old file!"
fi
#新文件
if [ -f $NewFile ]; then
echo "[$NewFile] The Backup File is exists,Can't Backup! "
else
mysqldump -u $DBUser -p $DBPasswd $DBName > $DumpFile
tar czvf $NewFile $DumpFile
rm -rf $DumpFile
echo "[$NewFile]Backup Success!"
fi
2.加进crontab -e
#每天早上6点定时备份一次
* 6 * * * /letv/app/php-5.2.6-fastcgi/bin/php-cgi /data/www/project_name/bin/mysql_backup.sh
相关文档:
在PHP代码段前面运行以下语句
@mysql_connect($host,$user,$password);
@mysql_query('SET NAMES "UTF8"');
@mysql_query('SET COLLATION_CONNECTION=utf8_general_ci');
或者在MYSQL中运行一次:
SET NAMES "UTF8";
SET COLLATION_CONNECTION=utf8_general_ci
一劳永逸
......
mysqladmin extended (绝对值)
重点去监视的值有:
* Slave_running:如果系统有一个从复制服务器,这个值指明了从服务器的健康度
* Threads_connected:当前客户端已连接的数量。这个值会少于预设的值,但你也能监视到这个值较大,这可保证客户端是处在活跃状态。
* Threads_running:如果数据库超负荷了,你将会得到一个 ......
http://hi.baidu.com/thinkinginlamp/blog/item/a352918fe70d96fd503d925e.html
2009年01月12日 星期一 下午 08:35
作者:老王
在网上随便搜搜,就能找到大把的关于MySQL优化的文章,不过里面很多都不准确,说个常见的:
SELECT a from ... WHERE b = ...
一般来说,很多文章会告诫你类似这样的查询,不要在“a ......
由于当初表设计的不合理,慢慢的发现浪费许多空间,且对扩展不利。决定不把同类型内容并排列保存,所以今天把多余的列剪掉,补在保留的列下面。
在表名点右键,数据操作,导出SQL脚本数据。照提示操作,这里我喜欢的是可以指定列导出。
然后把不需要的空列删掉,改一下插入的列 ......
一、MySQL基本命令集合:
1、 create database mydata;//创建数据库
2、 use mydata; //在mydata这个数据库下工作
3、 create table dept //在mydata数据库下创建表dept
(
deptno int primary key,
dname varchar(14),
loc varchar(13)
);
create table emp / ......