mysql5.5.49.zabbix主主搭建。

 alive1  安装mysql5.5.49

rpm -qa | grep mysql  --检查本地安装的mysql版本

yum remove -y mysql-libs-5.1.73-7.el6.x86_64 mysql-devel-5.1.73-7.el6.x86_64  mysql-5.1.73-7.el6.x86_64                ---卸载

tar -zxf mysql-5.5.49.tar.gz  -C /usr/local/
cd /usr/local/mysql-5.5.49/
mkdir -p /data/mysql

groupadd -g 1036 mysql
useradd -u 1036 -g 1036  -d /data/mysql/ -s /sbin/nologin mysql  
yum install cmake gcc* ncurses-devel -y 

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql5.5.49  -DDEFAULT_CHARSET=utf8 -DENABLED_LOCAL_INFILE=1 -DMYSQL_DATADIR=/data/mysql -DWITH_EXTRA_CHARSETS=all -DWITH_READLINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DMYSQL_TCP_PORT=3306 -DDEFAULT_COLLATION=utf8_general_ci

    参数说明:
    -DCMAKE_INSTALL_PREFIX=/usr/local/mysql        -----   安装目录  这是MySQL的默认安装位置
    -DINSTALL_DATADIR=/usr/local/mysql/data         -----   数据库存放目录
    -DDEFAULT_CHARSET=utf8                      -----   使用utf8字符
    -DDEFAULT_COLLATION=utf8_general_ci           -----    校验字符
    -DEXTRA_CHARSETS=all                           -----    安装所有扩展字符集
    -DENABLED_LOCAL_INFILE=1                        -----    允许从本地导入数据

 


make && make install

ln -s /usr/local/mysql5.5.49  /usr/local/mysql
chown -R mysql.mysql  /usr/local/mysql
cd /usr/local/mysql/support-files/

 cp my-medium.cnf /etc/my.cnf
cp  mysql.server /etc/init.d/mysqld

chmod +x /etc/init.d/mysqld 
cd /usr/local/mysql/scripts/
./mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql
vim /etc/my.cnf  

    basedir = /usr/local/mysql
    datadir = /data/mysql
    port = 3306
    socket = /data/mysql.sock
chkconfig mysqld on
echo 'export PATH="$PATH:/usr/local/bin:/usr/local/mysql/bin"' >> /etc/profile
echo 'export PATH="$PATH:/usr/local/bin:/usr/local/mysql/bin"' >> /etc/profile
source /etc/profile
ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib64/

/etc/init.d/mysqld start

mysqladmin -u root password "123"   设置mysql root密码

主从配置过程:
    1、master配置
        1)修改配置文件、开启二进制日志(没修改) vim /etc/my.cnf
            log-bin=mysql-bin
            skip-name-resolve
            server-id       = 1      //保证主从不一样
        2)重启服务
            /etc/init.d/mysqld restart
        3)授权一个实现复制数据的用户
            mysql> grant replication slave,reload,super on *.* to slave@192.168.1.94 identified by '123456';
                //此处的IP为从服务器的IP
        4)做一次全库备份
mysql> flush tables with read lock; //给所有的表加上读锁,为了保证数据的一致性

mysqldump -u root -p123 --all-databases > /tmp/all.sql     --新库,没做
        5)将全备数据拷贝到从服务器上
scp /tmp/all.sql 192.168.1.op94:/tmp/
    2、slave配置

mysqladmin -u root password "456" 
        软件安装,最好主从数据库的软件版本一致
        1)修改配置文件
 vim /etc/my.cnf 
relay_log=mysql-relay    //开启中继日志""
relay_log_index=mysql-relay.index   //中继日志的索引文件
server-id       = 2     //保证跟主服务不一致,原有的将1修改为2
        2)重启服务
/etc/init.d/mysqld restart
            ------------ ------------ ------------ ------------
            对于不干净的从服务器,需执行以下操作     ---新库,所以没有做
cd /data/mysql
rm -rf * 
cd /usr/local/mysql5.5/scripts/
./mysql_install_db --user=mysql --datadir=/data/mysql --basedir=/usr/local/mysql
            ------------ ------------ ------------ ------------
         3)恢复来自主服务器的数据 
 mysql -uroot -p456 < /tmp/all.sql   //全库恢复    ----新库,没做
         4)在master上查看
            mysql> show master status;
                +------------------+----------+--------------+------------------+
                | File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
                +------------------+----------+--------------+------------------+
                | mysql-bin.000002 |     1306 |              |                  |
                +------------------+----------+--------------+------------------+
                1 row in set (0.00 sec)
         5)在slave上同步数据,需要告诉slave之后从master的哪个位置开始同步
            mysql> change master to master_host="192.168.1.93",master_port=3306,master_user="slave",master_password="123456",master_log_file="mysql-bin.000002",master_log_pos=1306;
            mysql> slave start;   //开启从服务器
            mysql> show slave status\G      确保这两行是Yes
                 Slave_IO_Running: Yes
                 Slave_SQL_Running: Yes
          -------------------------------------------------------------
                如果上述两项有No,那么就需要排查原因,出现问题最多的就是在change master 语句上            
          -------------------------------------------------------------
        6)主服务器解锁
            mysql> unlock tables;
        7)测试主从同步

主从搭建完毕。

 

主主配置过程:  ---将主从的步骤重新做一次,IP对换。
    1、master配置
        1)修改配置文件、开启二进制日志(没修改) vim /etc/my.cnf
            log-bin=mysql-bin
            skip-name-resolve
            server-id       = 2      //保证主从不一样
        2)重启服务
            /etc/init.d/mysqld restart
        3)授权一个实现复制数据的用户
            mysql> grant replication slave,reload,super on *.* to slave@192.168.1.93 identified by '123456';
                //此处的IP为从服务器的IP
        4)做一次全库备份
mysql> flush tables with read lock; //给所有的表加上读锁,为了保证数据的一致性


    2、slave配置

mysqladmin -u root password "123" 
        软件安装,最好主从数据库的软件版本一致
        1)修改配置文件
 vim /etc/my.cnf 
relay_log=mysql-relay    //开启中继日志""
relay_log_index=mysql-relay.index   //中继日志的索引文件
server-id       = 1     
        2)重启服务
/etc/init.d/mysqld restart
     
         4)在master上查看
            mysql> show master status;
                +------------------+----------+--------------+------------------+
                | File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
                +------------------+----------+--------------+------------------+
                | mysql-bin.000002 |     1306 |              |                  |
                +------------------+----------+--------------+------------------+
                1 row in set (0.00 sec)
         5)在slave上同步数据,需要告诉slave之后从master的哪个位置开始同步

            mysql>reset slave;
            mysql> change master to master_host="192.168.1.94",master_port=3306,master_user="slave",master_password="123456",master_log_file="mysql-bin.000002",master_log_pos=1306;
            mysql> slave start;   //开启从服务器
            mysql> show slave status\G      确保这两行是Yes
                 Slave_IO_Running: Yes
                 Slave_SQL_Running: Yes
          -------------------------------------------------------------
                如果上述两项有No,那么就需要排查原因,出现问题最多的就是在change master 语句上            
          -------------------------------------------------------------
        6)主服务器解锁
            mysql> unlock tables;
        7)测试主主同步

主主搭建完毕。

 

 

 

 

 

 

 

 

1> 正常切换

1)从服务器检查SHOW PROCESSLIST语句的输出,直到你看到Has read all relaylogwaiting for the slave I/O thread to update it

2)确保从服务器已经处理了日志中的所有语句。 mysql> STOP SLAVE IO_THREAD

当从服务器都执行完这些,它们可以被重新配置为一个新的设置。

3)在被提升为主服务器的从服务器上,发出 STOP SLAVE和RESET MASTER和RESET SLAVE操作。

4)然后重启mysql服务。

5)在备用服务器(新的主服务器)创建用户grant replication slave on *.* torepdcs@'IP of A' identified by 'replpwd'

grant allprivileges on *.* to 'repdcs'@'IP' identified by replpwd;

6) 在主服务器上RESET MASTER。然后CHANGE MASTER TOMASTER_HOST='原从服务器IP',MASTER_USER='用户名',MASTER_PASSWORD='密码' ,master_log_file='master-bin.000015' ;

7)查看状态 show slave status \G;

Show master status \G;

如果还不行再次重启主库,并在备库上执行CHANGE MASTER TOMASTER_HOST='192.168.0.110',MASTER_USER='repdcs',MASTER_PASSWORD='111111',master_log_file='mysqlbin.000002';

8)修改应用的连接地址到新的主库

 

切换完成。

2> 主机直接宕机

1> 在备机上执行STOP SLAVE 和RESET MASTER

2> 查看show slave status \G;

3> 然后修改应用的连接地址。

一般大部分切换为直接宕机主机已经没法提供服务

从任何主机上使用root用户,密码:youpassword(你的root密码)连接到mysql服务器:

 代码如下复制代码

# mysql -u root -proot
mysql>GRANT ALL PRIVILEGES ON *.* TO ‘root’@'%’ IDENTIFIED BY ‘youpassword’ WITH GRANT OPTION;

 

 

链接VIP就可以了

转载于:https://my.oschina.net/xiaojiugea/blog/744150

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值