mysql主从配置记录

admin2013-04-10linux86
准备工作: 主数据库:192.168.1.77 从数据库:192.168.1.78 2台机器上编译安装msyql 在主服务器上操作: 在mysql的配置文件/etc/my.cnf中有添加如下参数。 [mysqld] log-bin=mysql-bin #启动二进制文件 server-id=1 #服务器ID 重启mysql服务。 /etc/init.d/mysqld restart 在msyql中添加授权账号 mysql -uroot -ppy.10isp.com #登陆到mysql >GRANT REPLICATION SLAVE ON *.* to 'py'@'192.168.1.78' identified by '10isp'; #授权py用户密码为10isp,从ip:192.168.1.78上访问主数据库 >flush privileges; #刷新权限 >show master status; #查看主数据库状态 ### +------------------+----------+--------------+------------------+ | File             | Position | Binlog_Do_DB | Binlog_Ignore_DB | +------------------+----------+--------------+------------------+ | mysql-bin.000001 | 106      |              |                  | +------------------+----------+--------------+------------------+ ### #此处的FilePosition 在从数据库上配置时需要用到 在从服务器上操作: 在mysql的配置文件/etc/my.cnf中有添加如下参数。 [mysqld] log-bin=mysql-bin #启动二进制文件 server-id=10 #服务器ID(和主数据库id不一样) 重启mysql服务。 /etc/init.d/mysqld restart mysql -uroot -ppy.10isp.com #登陆到mysql >change master to master_host='192.168.1.77',master_port=3306,master_user='py',master_password='10isp',master_log_file='mysql-bin.000001',master_log_pos=106; #在从数据库上配置主数据库的信息ip:192.168.1.77账号:py密码10isp >start slave; #开启从数据库 检查从服务器复制功能状态 >show slave status\G; ### Slave_IO_Running: Yes #此状态必须YES Slave_SQL_Running: Yes #此状态必须YES ### ############################################# 主从服务器测试: 主服务器Mysql,建立数据库,并在这个库中建表插入一条数据: mysql> create database py; Query OK, 1 row affected (0.00 sec) mysql> use py; Database changed mysql> create table py_tb(id int(3),name char(10)); Query OK, 0 rows affected (0.00 sec) mysql> insert into py_tb values(001,'panyan'); Query OK, 1 row affected (0.00 sec) mysql> show databases; +--------------------+ | Database               | +--------------------+ | information_schema | | py                            | | mysql                     | | test                          | +--------------------+ 4 rows in set (0.00 sec) 从服务器Mysql查询: mysql> show databases; +--------------------+ | Database                | +--------------------+ | information_schema | | py                             | #py库已经被同步了 | mysql                     | | test                          | +--------------------+ 4 rows in set (0.00 sec) mysql> use py Database changed mysql> select * from py_tb; #可以看到在主服务器上新增的具体数据 +------+------+ | id | name | +------+------+ | 1 | panyan| +------+------+ 1 row in set (0.00 sec) ################## 记录实际运行中遇到的问题 问题1: Last_Errno: 1062 ### mysql的主从同步需要先完整转移数据 关闭主数据库的写入 FLUSH TABLES WITH READ LOCK; 然后查看当前数据库的状态 show master status; 然后从数据库开启同步 stop slave; mysql>change master to master_host='192.168.1.250', master_user='root', master_password='10isp.com', master_port=3306, master_log_file='mysql-bin.000001', master_log_pos=00006323; start slave; 开启主数据库的写入 unlock tables; 解锁 回到从库 查看 show slave status \G ### 问题2: 手动重启主数据库 ### mysql数据库主从 mysql主从数据库问题,如果主库重启,从库是否就自动断了?谢谢回答 建议重启的时候在从机上运行 slave stop; 主机重启完再开启从机 slave start; ###