实现apache服务的读写mysql在两台服务器上

1、首先配置mysql 的ab 复制备份 以下 a(master)  b(slave)php

 

1修改配置文件html


master:
    vim /etc/my.cnf
    [mysqld]
server_id = 1
log-bin=binlog
log-bin-index=binlog.indexmysql

并重启服务
service mysqld restartsql


slave:
    vim /etc/my.cnf
    [mysqld]
    server_id = 2
    relay_log = /var/lib/mysql/mysql-relay-bin
    relay_log_index=/var/lib/mysql/mysql-relay-bin.index数据库

删除原有的数据文件apache

cd /var/lib/mysql
    rm -fr *
并重启服务
service mysqld restart


2新建远程用户并给b 导入a 的现有数据
    master:
mysql> GRANT replication slave ON *.* TO 'kyo'@'%' identified by '123';
Query OK, 0 rows affected (0.05 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)


master
    mysqldump -A -x > /tmp/full.sql
    scp /tmp/full.sql root@salveip:/tmp/

slave:
    mysql < /tmp/full.sql

3锁住现的 a 并记下 file 和 Position,解锁

master:
    mysql> flush tables with read lock;
    mysql> show master status;
+---------------+----------+--------------+------------------+
| File          | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+---------------+----------+--------------+------------------+
| binlog.000001 |     1124 |              |                  |

mysql>unlock tables;


4  告诉 b a的当时的at ,并启动 b
slave:
mysql> change master to master_host='192.168.18.81', master_port=3306, master_user='kyo', master_password='123', master_log_file='binlog.000001',master_log_pos=1124;

mysql> start slave;

5 确认 ab 是否成功
slave:
    mysql> show slave status \G
      Slave_IO_Running: Yes
     Slave_SQL_Running: Yesvim

2、 安装 apache 和 php 并配置 浏览器

yum install -y httpd php ide

解压后放入/var/www/html中测试

在a 上建立一个远程用户

vim mysql-c.php  指向a (写)

vim insert.php 指向a (写)

vim mysql-r.php指向b (读)

 

3、测试

在浏览器中打开apache

点击 create table  向a中建立数据库和表

点击inser values  向a填入数据

点击select U values 从b中读出数据

相关文章
相关标签/搜索