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