mysql主从实现同步
yum安装依赖环境
yum -y install gcc gcc-c++ lrzsz ncurses-devel cmake
使用rz命令将mysql-5.5.22.tar.gz分别上传到主从两台虚拟机中
[root@localhost src]# rz
创建运行用户
[root@localhost src]#groupadd mysql
[root@localhost src]#useradd -s /sbin/nologin -M -g mysql mysql
解包
[root@localhost src]# mkdir -p /data/server
[root@localhost src]# tar zxf mysql-5.5.22.tar.gz -C /data/server/
配置并编译安装
[root@localhost src]# cd mysql-5.5.22/
[root@localhost mysql-5.5.22]# cmake -DCMAKE_INSTALL_PREFIX=/data/server/mysql -DSYSCONFDIR=/etc/ -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all
[root@localhost mysql-5.5.22]# make && make install
设置数据库目录的权限并建立配置文件
[root@localhost mysql-5.5.22]#chown -R mysql:mysql /data/server/mysql/
[root@localhost mysql-5.5.22]#cp support-files/my-medium.cnf /etc/my.cnf
初始化数据库
== [root@localhost mysql-5.5.22]# cd/data/server/mysql
[root@localhost mysql]#./scripts/mysql_install_db --user=mysql --basedir=/data/server/mysql --d atadir=/data/server/mysql/data/==
添加系统服务
[root@localhost mysql-5.5.22]#cp support-files/mysql.server /etc/init.d/mysqld
[root@localhost mysql-5.5.22]#chmod a+x /etc/init.d/mysqld
[root@localhost mysql-5.5.22]#chkconfig --add mysqld
设置环境变量
[root@localhost mysql-5.5.22]# echo “PATH=$PATH:/data/server/mysql/bin” /etc/profile
[root@localhost mysql-5.5.22]# . /etc/profile
开启服务并做路径优化
[root@localhost mysql-5.5.22]#systemctl start mysqld
[root@localhost mysql-5.5.22]#ln -s /data/server/mysql/bin/* /usr/local/bin/
登录mysql数据库验证
[root@localhost mysql-5.5.22]#mysql -u root -p
配置主从服务时也需要ntp服务
准备的主mysql的ip为192.168.1.125, 从mysql的ip为192.168.1.150
master主库配置
vi /etc/my.cnf
[mysqld]
#做以下修改
server-id =1
保存退出
新建用于主从同步的用户myslave并给予权限
[root@localhost mysql-5.5.22]#mysql -u root -p
mysql> grant replication slave on *.*to’myslave’@'192.168.1.150’identified by ‘123’;
mysql> flush privileges; #刷新授权表
查看主库状态
mysql> show master status;
slave从库配置
[root@localhost ~]# vim /etc/my.cnf
[mysqld]
#修改以下行
server-id =12 #不能和master的id号相同
保存退出
重启数据库并进入mysql数据库交互模式
[root@localhost ~]# /etc/init.d/mysqld restart
[root@localhost ~]# mysql -uroot -p
配置从slave从库到master主库的参数
mysql> change master to master_host=‘192.168.1.125’,master_user=‘myslave’,master_password=‘123’,master_log_file=‘mysql-bin.000005’,master_logg_pos=107;
报错
启动从库的开关
mysql> start slave;
显示启动状态
mysql> show slave status\G;
Slave_IO_Running: Connecting
Slave_SQL_Running: Yes报错
解决方法
重新查看==mysql> show slave status\G;=
成功
接下来测试
在主库闯将一个数据库,在从库查看是否同步
搭建成功