1

MySQL-高可用集群搭建

1. 简介

1. MySQL使用非常广泛,主要原因是轻量级(相比于Oracle),开源的(免费)。使用的多,涉及到的话题就多,主要有:
    1. 性能优化
    2. 高可用
    3. 安全
    4. 备份
    5. 集群
    6. 横向扩展
    7. 纵向扩展
    8. 负载均衡
    9. 读写分离等。
2. 这节主要介绍下 CentOS7 下的高可用集群环境的搭建,后续更新相关的其他知识点

2. 环境安装

1. 先检查系统是否装有 MySQL
    1. rpm -qa | grep mysql
    2. 返回为空则表示没有安装,不管是够有返回值都可以继续安装
2. 下载MySQL的repo源
    1. wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
    2. 报错 : -bash wget : 未找到命令
    3. 安装插件 : yum -y install wget
3. 安装mysql-community-release-el7-5.noarch.rpm包
    1. sudo rpm -ivh mysql-community-release-el7-5.noarch.rpm
4. 安装 MySQL
    1. sudo yum install mysql-server
5. 重置MySQL密码
    1. mysql -u root
    2. 报错: ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
    3. 原因是/var/lib/mysql的访问权限问题。  解决 chown root:root /var/lib/mysql/
6. 重启 MySQL服务
    1. service mysqld restart
7. 设置登录密码
    1. mysql -u root
    2. use mysql;   进入mysql database
    3. update user set password=password('123456') where user='root';  设置root用户的密码
    4. exit; 退出重启服务 service mysqld restart
8. 接着设置Root账户远程连接密码
    1. mysql -u root -p
    2. GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "root";
    3. 重启服务器 service mysqld restart
9. 使用外网工具连接MySQL
    1. 关闭防火墙或者开放端口(默认为3306)
    2. systemctl stop firewalld

3. MySQL 主从复制配置(一主一从)

1. 主服务器节点
    1. 修改 MySQL 配置文件 
    2. vi /etc/my.cof 新增一下内容
    3. server_id=177  ###服务器id,最好是ip最后一个,保证唯一
    4. log-bin=mysql-bin   ###开启日志文件
    5. 重启mysql服务 service mysqld restart
    6. 验证是否已经配置成功     show variables like '%server_id%';能够查询对应配置文件中的server_id 说明已经配置成功
    7. show master status; 能够看到同步的文件,和行数 说明已经配置成功。
2. 从服务器节点
    1. 修改 MySQL 配置文件 
    2. server_id=178  ###从服务器server_id
    3. log-bin=mysql-bin  ###日志文件同步方式
    4. binlog_do_db=test   ###同步数据库
    5. 重启mysql服务 service mysqld restart
    6. 验证是否已经配置成功,show variables like '%server_id%'; 能够查询对应配置文件中的server_id 说明已经配置成功
    7. 从服务器同步主服务器配置 : 
        change master to master_host='主服务器ip',master_user='root',master_password='root',
         master_log_file='主服务器查询的binLog日志文件',master_log_pos=行数;    -- 主服务节点第7步查询到的结果
    8. 开始同步  start slave
    9. 检查从服务器复制功能状态 SHOW SLAVE STATUS
    10. 可以通过 外网工具连接mysql 操作主服务器然后查看从服务器是否生效
    11. Fatal error: The slave I/O thread stops because master and slave have equal MySQL server UUIDs; these UUIDs must be different for replication to work.
        解决办法 :因为服务器克隆的时候交UUID产生了重复,
        cd /var/lib/mysql
        rm -rf auto.cnf
        重启服务器即可
        service mysqld restart    

4. MySQL 主从复制原理(一主一从)


郭鹏飞
12 声望3 粉丝

有志者事竟成,向着心中的目标(20K)努力


引用和评论

0 条评论