Mysql主从安装配置_落英缤纷
环境:
主从服务器上的MySQL数据库版本同为5.1.73
主机IP:192.168.0.1
从机IP:192.168.0.2
一. MySQL主服务器配置
1.编辑配置文件/etc/my.cnf
# 确保有如下两行
server-id = 1
log-bin=mysql-bin
# binlog-do-db=mysql #需要备份的数据库名,如果备份多个数据库,重复设置这个选项即可
# binlog-ignore-db=mysql #不需要备份的数据库名,如果备份多个数据库,重复设置这个选项即可
# log-slave-updates #这个参数一定要加上,否则不会给更新的记录些到二进制文件里
# slave-skip-errors #是跳过错误,继续执行复制操作
2.建立用户
mysql> grant replication slave on *.* to ‘slave’@’192.168.0.2’ identified by ‘bak_passwd’;
mysql> select distinct concat(‘user: ”’,user,”’@”’,host,”’;’) as query from mysql.user; // 查看所有用户
mysql> flush privileges;
3.锁主库表
mysql> flush tables with read lock;
4.显示主库信息
记录File和Position,从库设置将会用到
=====================
mysql> SHOW MASTER STATUS;
+——————+———-+————–+——————+
| File | Position | Binlog_do_db | Binlog_ignore_db |
+——————+———-+————–+——————+
| mysql-bin.000001 | 106 | | |
+——————+———-+————–+——————+
5.另开一个终端,打包主库
cd /usr/local/mysql #mysql库目录
tar zcvf var.tar.gz var
或者/usr/bin/mysqldump -u root -p –opt –flush-logs –all-database > /root/allbak.sql
scp ~/allbak.sql root@192.168.0.2:/root/
mysql -uroot -p < allbak.sql
mysql> slave stop;
mysql> change master to master_host=’192.168.0.1′,master_user=’slave’,master_password=’bak_passwd’,master_log_file=’mysql-bin.000001′,master_log_pos=106;
6、启动SLAVE服务
mysql> slave start;
7、查看SLAVE状态
mysql> show slave status\G;
其中 Slave_IO_Running 和 Slave_SQL_Running 两列的值都为 “Yes”,表明 Slave 的 I/O 和 SQL 线程
8、解锁主库表
mysql> unlock tables; //主服务器上
到此主从库搭建成功。可以在主库上插入数据测试同步是否正常。
2.3 验证主从复制效果
主服务器上的操作
在主服务器上创建数据库first_db
mysql> create database first_db;
Query Ok, 1 row affected (0.01 sec)
在主服务器上创建表first_tb
mysql> use first_db;
mysql> create table first_tb(id int(3),name char(10));
Query Ok, 1 row affected (0.00 sec)
在主服务器上的表first_tb中插入记录
mysql> insert into first_tb values (001,’myself’);
在从服务器上查看
mysql> show databases;
=============================
+——————–+
| Database |
+——————–+
| information_schema |
| first_db |
| mysql |
| performance_schema |
| test |
+——————–+
5 rows in set (0.01 sec)
=============================
数据库first_db已经自动生成
mysql> use first_db;
Database chaged
mysql> show tables;
=============================
+——————–+
| Tables_in_first_db |
+——————–+
| first_tb |
+——————–+
1 row in set (0.02 sec)
=============================
数据库表first_tb也已经自动创建
mysql> select * from first_tb;
=============================
+——+——+
| id | name |
+——+——+
| 1 | myself |
+——+——+
1 rows in set (0.00 sec)
=============================
记录也已经存在
由此,整个MySQL主从复制的过程就完成了。
落英缤纷 20140313