mysql主从复制(一)

MySQL的复制操作:

1. 主服务器将数据的改变记录到二进制日志中(binary log)
2. 从服务器将主服务器的binlog复制到它的中继日志中 relay-log
3. 从服务器重做主服务器的事件,将数据的改变保持与主服务器同步

1. 安装mysql数据库

1. 下载安装MySQL
2. 创建mysql安装程序的目录和数据文件的目录
   mkdir -p /usr/local/mysql
   mkdir -p /usr/local/mysql/cata
   groupadd mysql
   useradd -r -g mysql mysql
3. 解压源文件
   tar -zxvf mysql-5.6.tar.gz
   cd mysql-5.6
   cmake . #编译源码
4. 修改MySQL安装目录的权限
   chown -R mysql.mysql /usr/local/mysql
5. 安装源码
   cd /usr/local/mysql/scripts
   ./mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
   cd /usr/local/mysql/support-files
   cp mysql.server /etc/rc.d/init.d/mysql
   cp my-default.cnf /etc/my.cnf
   chkconfig --add mysql
   chkconfig mysql on
6. 启动mysql
   service mysql start

为了本机测试方便,可以使用mysqld_multi开启多个mysql实例

1. service mysql stop #关闭正在运行的mysql进程
2. lsof -i :3306 检测端口是否已释放,mysql是否成功关闭
3. 把常用工具添加到/usr/bin下
   ln -s /usr/local/mysql/bin/mysqld_multi /usr/bin/mysqld_multi
   ln -s /usr/local/mysql/bin/mysqld_install_db /usr/bin/mysql_install_db
4. 初始化数据目录并安装3个mysql服务
   cd /usr/local/mysql
   mkdir -p /usr/local/var/mysql1
   mkdir -p /usr/local/var/mysql2
   mkdir -p /usr/local/var/mysql3
5. 从mysql的源码中把mysql.server复制到/etc/init.d目录下,然后执行
   cp my-default.cnf /etc/my.cnf

6. 配置/etc/my.cnf

#The mysql server
[mysqld_multi]
mysqld = /usr/local/mysql/bin/mysqld_safe
mysqladmin = /usr/local/mysql/bin/mysqladmin
user = root

[mysqld1]
port = 3306

[mysqld2]
port = 3307
socket = /tmp/mysql2.sock
datadir = /usr/local/var/mysql2

[mysqld3]
port = 3308
socket = /tmp/mysql3.sock
datadir = /usr/local/var/mysql3

[mysqld]
...

7. 查看数据库的状态
mysqld_multi --defaults-extra-file=/etc/my.cnf report

8. 使用mysqld_multi启动mysql服务
   mysqld_multi --defaults-extra-file=/etc/my.cnf stop
   mysqld_multi --defaults-extra-file=/etc/my.cnf start
   mysqld_multi --defaults-extra-file=/etc/my.cnf report

9. 登录数据库
   mysql -uroot -p -P3306
   mysql -uroot -p -P3307
   mysql -uroot -p -P3308
   show variables like 'socket' 查看数据库的pid和socket状态
   此时发现3个数据库的pid和socket都一样,可以使用mysql -u root -S /tmp/mysql2.sock用-S参数来指定
然后登录查看可以发现pid和socket文件都已经改变
10. 重启数据库
   mysqld_multi --defaults-extra-file=/etc/my.cnf stsrt 1-3
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值