• 搭建MHA环境【2】安装mysql-5.6 + mysql复制


    本例中mysql的安装方式选用了二进制包安装方案、mysql复制用半同步复制方案

    【1】安装mysql-5.6.31 要在所有的数据节点上都安装上mysql,安装方式大致相同,所以我这里就不重复写多次了,只以一台为例。

    1.1 解压安装包到/usr/local/

    tar -xzvf mysql-5.6.31-linux-glibc2.5-x86_64.tar.gz -C /usr/local

    1.2 为了创建linux系统的mysql用户

    useradd mysql

    1.3 创建连接文件

    cd /usr/local/
    [root@mhamaster local]# ll
    总用量 44
    drwxr-xr-x. 2 root root 4096 9月 23 2011 bin
    drwxr-xr-x. 2 root root 4096 9月 23 2011 etc
    drwxr-xr-x. 2 root root 4096 9月 23 2011 games
    drwxr-xr-x. 2 root root 4096 9月 23 2011 include
    drwxr-xr-x. 2 root root 4096 9月 23 2011 lib
    drwxr-xr-x. 2 root root 4096 9月 23 2011 lib64
    drwxr-xr-x. 2 root root 4096 9月 23 2011 libexec
    drwxr-xr-x. 13 root root 4096 11月 17 05:48 mysql-5.6.31-linux-glibc2.5-x86_64
    drwxr-xr-x. 2 root root 4096 9月 23 2011 sbin
    drwxr-xr-x. 5 root root 4096 10月 5 23:02 share
    drwxr-xr-x. 2 root root 4096 9月 23 2011 src
    [root@mhamaster local]# ln -s mysql-5.6.31-linux-glibc2.5-x86_64 mysql

    1.4 根据自己的情况创建mysql的配置文件/etc/my.cnf; 注意各个mysql实例中server_id不能相同这个是复制时的一个限制;当然这里是一最简单的配置

    [mysqld]
    server_id=1
    basedir=/usr/local/mysql/
    datadir=/usr/local/mysql/data/
    log_bin=mysql-bin

    1.5 初始化mysql库

    cd /usr/local/mysql
    ./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data
    cp support-files/mysql.server /etc/init.d/mysqld

    1.6 启动mysql

    service mysqld start

    1.7 配置PATH环境变量,这里还是先补充一点课外知识;/etc/profile 这个文件虽然说是全局的,但是有时候这里的环境变量设置并不会生效;例如我在192.168.80.130

    主机上的/etc/profile 文件的最后加上 export PATH=/usr/local/mysql/bin/:$PATH ;这样我就把/usr/local/mysql/bin/目录加到了PATH环境变量中去了。不要想当然的

    认为所有用户的PATH路径中都会包涵有/usr/local/mysql/bin/哦! 比如说我通过ssh 192.168.80.130 'export' 这种方式时执行命令时PATH中就没有/usr/local/mysql/bin/

    又由于mha 大量的使用这种方式去执行命令,PATH中又找不到mysqlbinlog | mysql 这两个程序,所以mha会报错;网上有一些作者的解决方式是创建一个连接文件到

    /usr/local/bin/目录下,之所以它这样能解决问题是因为,通过这种方式登录到远程时PATH中包涵有/usr/local/bin/ ;为了解决这个问题要在用户家目录中再把

    /usr/local/mysql/bin/这个目录导出一次

    1.7.1 :在/etc/profile 文件的最后加一句

    export PATH=/usr/local/mysql/bin:$PATH

    1.7.2:在用户的家目录下的.bashrc中加一句(我在会在mha中会配置成root用户,所以这里我要加到/root/.bashrc这个文件中去)

    export PATH=/usr/local/mysql/bin:$PATH

    1.8 导出mysql的共享库,这里还是补充一点课外知识,linux系统中库路径的位置都记录在了/etc/ld.so.conf.d/这个目录下的配置文件中;通常来说这个目录下会有一个叫

    mysql-x86_64.conf的默认文件,默认文件中记录的是/usr/lib64/mysql这个默认路径,这个上路径应该是为rpm包安装而设定的;所以我们这里要把这个改成我们自己

    的路径/usr/local/mysql/lib 。改完之后执行一下ldconfig 认系统把库文件都加载一下。

    cat /etc/ld.so.conf.d/mysql-x86_64.conf 
    /usr/local/mysql/lib/ #改成我们自己的路径不要默认的
    [root@mhamaster ld.so.conf.d]# ldconfig

    1.9 导出头文件(我也不太确认这样导出对不对)

    mkdir /usr/include/mysql
    [root@mhamaster include]# cp -R /usr/local/mysql/include/* /usr/include/mysql/

    说明:虽然操作到1.6步的时候mysql的安装工作就可以算完成了,但是细节还是要注意一下,可以少出一点问题。

     2 创建用户mhaadmin 用于管理集群,repl用于复制

    create user mhaadmin@'localhost' identified by '067ac96e';
    create user mhaadmin@'127.0.0.1' identified by '067ac96e';
    create user mhaadmin@'%' identified by '067ac96e';
    grant all on *.* to mhaadmin@'%';
    grant all on *.* to mhaadmin@'localhost';
    grant all on *.* to mhaadmin@'127.0.0.1';
    
    
    create user repl@'%' identified by 'aa6d6a71';
    create user repl@'localhost' identified by 'aa6d6a71';
    create user repl@'127.0.0.1' identified by 'aa6d6a71';
    grant replication client ,replication slave on *.* to repl@'%';
    grant replication client ,replication slave on *.* to repl@'localhost';
    grant replication client ,replication slave on *.* to repl@'127.0.0.1';

    3、备份数据库

    mysqldump -h127.0.0.1 -uroot -P3306 --all-databases --single-transaction --master-data=1 --events --routines >/tmp/data.sql

     4、在master端启用半同步复制插件

    install plugin rpl_semi_sync_master soname 'semisync_master.so';
    set @@global.rpl_semi_sync_master_enabled=1;

    5、在salve端启用半同步复制插件

    install plugin rpl_semi_sync_slave soname 'semisync_slave.so';
    set @@global.rpl_semi_sync_slave_enabled=1;

    6、在slave 端还原数据

    mysql </tmp/data.sql

    7、执行change master to; master_log_file & master_log_pos 可以在data.sql中找到

    change master to
        master_host='192.168.80.130',
        master_port=3306,
        master_user='repl',
        master_password='aa6d6a71',
        master_log_file='mysql-bin.000003',
        master_log_pos=1960;
        
    start slave;

    到这里mysql安装+复制环境的搭建就算成功了!

  • 相关阅读:
    block、inline、inline-block
    js 的复制和引用 (传值和传址)
    俄罗斯方块和作品集
    js 连续赋值。。理解不了,先占坑
    8.7 jquery-dom manipulation
    08.04 对象构造方法
    对象的基本操作
    08.03 js _oop
    08.02 对象
    The 'Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine.
  • 原文地址:https://www.cnblogs.com/JiangLe/p/6071853.html
Copyright © 2020-2023  润新知