大家好,小编是个电脑软件控,
MySQL 版别:4.1
环境介绍:主库 192.168.0.205 从库 192.168.0.206
1、主库创立/etc/my.cnf,修正[mysqld]里边的键值打开 master项中
server-id=1
log-bin
2、主库添加用户,用于从库读取主库日志。
grant replication slave,reload,super on *.* to ‘slave’@‘192.168.0.206’ identified by ‘123456’
3、从库连接主库进行测验。
/opt/mysql/bin/mysql -u slave -p -h 192.168.0.205
4、停从库,修正从库/etc/my.cnf,添加选项:
[mysqld]
server-id=2
master-host=192.168.0.205
master-user=slave
master-password=123456
5、启动从库,进行主从库数据同步
/opt/mysql/share/mysql/mysql start
/opt/mysql/bin/mysql -u root -p
mysql>load data from master;
阐明:这一步也可以用数据库倒入或许直接目录考过来。
6、进行测验:
主库创立表,
mysql>create database sampdb;
myql>create table new (name char(20),phone char(20));
mysql>insert into new (‘abc,’0532555555‘);
打从库,观察:
/opt/mysql/bin/mysql -u root -p
mysql>show database;
mysql
sampdb
test
mysql>use sampdb;
mysql>show tables;
new
阐明主从数据库创立成功。
7、主从数据库相关指令:
slave stop; slave start ; 开端中止从数据库。
show slave status\\\\G; 显现从库正读取哪一个主数据库二进制日志。
LINUX关于MYSQL镜像说数据库的建立教程图2
purge master logs to ‘binlog.000004’; 此指令非常当心,删除主数据库没用的二进制日志文件。假如误删除,那么从库就没有办法自动更新了。
change master; 从服务器上修正参数使用。
前不久要在linux下每天自动备份mysql数据库。
版本
Linux: redhat enterprise linux 5
mysql: 5.1
在网上找了找,要写个shell命令执行mysqldump然后保存文件
1. 创建shell脚本文件
引用
filename=`date +%Y%m%d_%H:%M`
mysqldump --opt database -u username -h host -ppassword / gzip > /var/mysqlbackup/$filename.gz
然后把该文件放到/etc/cron.daily/(每天执行目录)
/et/cron.hourly/ (每小时)
/etc/cron.monthly/ (每月)
/etc/cron.weekly/ (每周)
然后在编辑/etc/crontab文件,改变/etc/cron.daily前面的时间参数(默认为4点)
引用
LINUX关于MYSQL镜像说数据库的建立教程图3
前面的时间格式为“M H D m d cmd”。其中,M代表分钟(0~59),H代表小时(0~23),D代表天(1~31),m代表月(1~12),d代表一星期内的天(0~6,0为星期天)。*表示任何.例如01 * * * * 表示每小时的01分执行
如果不是redhat要编辑/etc/crontab文件
Java代码
gedit /etc/crontab
在最后加入
引用
01 5 * * * root /opt/autobackup(上面shell脚本文件)
每天5点运行脚本,也可以修改5为其他指定时间
2. 为脚本增加权限
Java代码
# chmod +x /opt/autobackup(面shell脚本文件)
3. 重启crontab
Java代码
# /etc/rc.d/init.d/crond restart
到这为止看似OK挺easy可是执行后也没有报错
发现/var/mysqlbackup/(备份目录)下有一个叫..%Y%m%d_%H:%M.gz的文件
看样是日期文件名没有生效。最后又搞了半天,也查了半天就是不知道怎么回事
最后问了一个朋友他让我把shell脚本发过去,过了一会。才知道是因为
引用
filename=`date +%Y%m%d_%H:%M`
这个\" \' \"应该是Tab键上的那点,而我打的是单引号。我疯