MySQL-高可用集羣搭建

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 主從複製原理(一主一從)

相關文章
相關標籤/搜索