mysql数据主从同步

准备两台虚拟机 192.168.1.100 192.168.1.101

安装mysql的依赖环境

yum -y install gcc gcc-c++ lrzsz ncurses-devel cmake lrzsz
下载mysql5.5版本的包,并编译安装
cmake -DCMAKE_INSTALL_PREFIX=/data/server/mysql -DSYSCONFDIR=/etc/ -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all

创建运行用户

groupadd mysql
useradd -s /sbin/nolongin -M -g mysql mysql

设置数据库目录的权限并建立配置文件

[[email protected] /usr/local/src/mysql-5.5.22]#chown -R mysql:mysql /data/server/mysql/
[[email protected] /usr/local/src/mysql-5.5.22]#cp support-files/my-medium.cnf /etc/my.cnf

初始化数据库

/data/server/mysql/scripts/mysql_install_db --user=mysql --basedir=/data/server/mysql --datadir=/data/server/mysql/data/

添加系统服务

[[email protected] /usr/local/src/mysql-5.5.22]#cp support-files/mysql.server /etc/init.d/mysqld
[[email protected] /usr/local/src/mysql-5.5.22]#chmod a+x /etc/init.d/mysqld
[[email protected] /usr/local/src/mysql-5.5.22]#chkconfig --add mysqld

设置环境变量

[[email protected] mysql-5.5.22]# echo “PATH=$PATH:/data/server/mysql/bin” /etc/profile
[[email protected] mysql-5.5.22]# . /etc/profile

开启服务并做路径优化

[[email protected] /usr/local/src/mysql-5.5.22]#systemctl start mysqld
[[email protected] /usr/local/src/mysql-5.5.22]#ln -s /data/server/mysql/bin/* /usr/local/bin/

登录mysql数据库验证

mysql数据主从同步

安装ntp服务

yum -y install ntp ntpdate

主库配置

vim /etc/my.cnf
[mysqld]
#做以下修改
server-id =11(以前的注释掉,在mysqld下面写)

新建用于主从同步的用户mysql并给予权限

mysql -uroot -p
mysql> grant replication slave on *.*to’myslave’@'192.168.43.134’identified by ‘123’;
mysql> flush privileges; #刷新授权表
mysql> show master status; 查看主库状态
mysql数据主从同步

从库配置

[[email protected] ~]# vim /etc/my.cnf
[mysqld]
#修改以下行(和上面一样)
server-id =12 #不能和主库的id号相同
保存退出

重启数据库并进入mysql数据库交互模式

[[email protected] ~]# /etc/init.d/mysqld restart
[[email protected] ~]# mysql -u root -p

配置从slave从库到master主库的参数

change master to master_host=‘192.168.43.115’,master_user=‘myslave’,master_password=‘123’,master_log_file=‘mysql-bin.000004’,master_logg_pos=333;
(000004 333 必须和上面一样)

启动从库的开关

mysql> start slave;

在主库闯将一个数据库,在从库查看是否同步

mysql> create database xiaobing;
Query OK, 1 row affected (0.00 sec)
去从库
mysql> show databases;
mysql数据主从同步