MYSQL+MHA+keepalive+VIPインストール構成(一)--MYSQLインストール構成

6634 ワード

一、概要:
この文書では、MySQLの高可用性の実装スキームMHAについて説明します.MHAはNodeとManagerで構成され、Nodeは各MySQLサーバ上で実行され、MySQLプライマリサーバでもMySQLスレーブサーバでもNodeをインストールします.主従はkeepalivedをインストールし、仮想ipドリフトを実現し、プログラムはIPを変更することなく自動的に切り替える.
二、環境
1、オペレーティングシステム:centos 6.5 64ビット
2、データベース:MySQL-5.6.17-1.el6.x86_64.rpm-bundle.tarダウンロード
3、MHAバージョン:mha 4 mysql-node-0.54-0.el6.noarch.rpm,
                    mha4mysql-manager-0.54-0.el6.noarch.rpm
4、keepalivedバージョン:
5、ホストの配置:
manager :192.168.1.201
master :192.168.1.231
slave1 :192.168.1.232(  master)

6、大体の手順:
(1)、  MYSQL 5.6.
(2)、MYSQL      .
(3)、   ssh-keygen               .
(4)、  MHAmha4mysql-node,mha4mysql-manager    
(5)、 MHA  master,slave1     。
(6)、   manager   MHA  
(7)、masterha_check_ssh    ssh        
(8)、masterha_check_repl    mysql      
(9)、  MHA manager,       .
(10)、  master   ,       。
(11)、    keepalived ,    ip  。

三、mysqlインストール
1、MYSQL 5.5をダウンロードする
wget http://cdn.mysql.com/Downloads/MySQL-5.6/MySQL-5.6.17-1.el6.x86_64.rpm-bundle.tar
tar -cf MySQL-5.6.17-1.el6.x86_64.rpm-bundle.tar

2、解凍後のファイルは次のとおりです.
MySQL-client-5.6.17-1.el6.x86_64.rpm
MySQL-devel-5.6.17-1.el6.x86_64.rpm
MySQL-embedded-5.6.17-1.el6.x86_64.rpm
MySQL-server-5.6.17-1.el6.x86_64.rpm
MySQL-shared-5.6.17-1.el6.x86_64.rpm
MySQL-shared-compat-5.6.17-1.el6.x86_64.rpm
MySQL-test-5.6.17-1.el6.x86_64.rpm

注意:実はインストールするだけで、サーバー側MySQL-server-5.6.17-1.el6.x86_64.rpmクライアントMySQL-client-5.6.17-1.el6.x86_64.rpm及びMySQL-shared-compat-5.6.17-1.el6.x86_64.rpm(いくつかの互換性を解決できる)
3、取り付け
rpm -ivh MySQL-client-5.6.17-1.el6.x86_64.rpm
rpm -ivh MySQL-server-5.6.17-1.el6.x86_64.rpm
rpm -ivh MySQL-shared-compat-5.6.17-1.el6.x86_64.rpm

4、間違いを報告する可能性があります.
(1)、既存データベースの存在
[root@localhost local]# rpm -ivh MySQL-server-5.6.17-1.el6.x86_64.rpm 
Preparing...                ########################################### [100%]
file /usr/share/mysql/charsets/Index.xml from install of MySQL-server-5.6.17-1.el6.x86_64 conflicts with file from package mysql-libs-5.1.71-1.el6.x86_64
file /usr/share/mysql/charsets/armscii8.xml from install of MySQL-server-5.6.17-1.el6.x86_64 conflicts with file from package mysql-libs-5.1.71-1.el6.x86_64
file /usr/share/mysql/charsets/ascii.xml from install of MySQL-server-5.6.17-1.el6.x86_64 conflicts with file from package mysql-libs-5.1.71-1.el6.x86_64
file /usr/share/mysql/charsets/cp1250.xml from install of MySQL-server-5.6.17-1.el6.x86_64 conflicts with file from package mysql-libs-5.1.71-1.el6.x86_64  

説明:mysql-libs-5.1.71-1はシステムに既に存在する.el6.x86_64をアンインストールする必要があります.解決方法:
yum -y remove mysql-libs-5.1.71*

(2)、依存するコンポーネントが欠けている
error: Failed dependencies:
    /usr/bin/perl is needed by MySQL-server-5.6.17-1.el6.x86_64
    libaio.so.1()(64bit) is needed by MySQL-server-5.6.17-1.el6.x86_64
    libaio.so.1(LIBAIO_0.1)(64bit) is needed by MySQL-server-5.6.17-1.el6.x86_64
    libaio.so.1(LIBAIO_0.4)(64bit) is needed by MySQL-server-5.6.17-1.el6.x86_64
    

解決方法:
yum install perl
yum install libaio

再インストールし、インストールに成功しました.デフォルトrootにはパスワードがありません.ポートは3306です.
5、RPMインストールなので/etc/ではMYSQLのmyはありません.cnfファイル.解決方法:
cp /usr/share/mysql/my-medium.cnf  /etc/my.cnf

これでMYSQLのプロファイルを変更できます.
6、mysql起動、停止、再起動.
service mysql start       /etc/init.d/mysql start
service mysql stop        /etc/init.d/mysql stop
service mysql restart     /etc/init.d/mysql restart

7、ユーザーを作成し、主従複製のアカウントに使用する
 
CREATE USER 'username'@'host' IDENTIFIED BY 'password';
username-作成するユーザー名.
ホスト-ユーザーがどのホスト上にログインできるかを指定し、ローカルユーザーがlocalhostを使用できる場合、そのユーザーが任意のリモートホストからログインできるようにするには、ワイルドカードを使用することができる.
password-このユーザのログインパスワードは、パスワードが空であるもよいし、空であればパスワードを必要とせずにサーバにログインすることができる.
例:
 CREATE USER 'sunney'@'%' IDENTIFIED BY 'sunney';

8、ユーザーの授権     grant privileges ON databasename.tablename TO 'username'@'host' 
identified by "password";
例:
grant all privileges  ON *.* TO 'sunney'@'%' identified by "sunney";  
FLUSH PRIVILEGES  //     

9、リモートでデータベースにアクセスできるようになりました.
以上の手順で2台のホスト:231,232はいずれも前述の手順に従ってMYSQLをインストール.
四、建産mysql主従データベースの配置
[master:231]
1.shell>vi /etc/my.cnf
server-id=1
log-bin=mysql-bin
binlog_format=mixed
2.mysql>show master status;

[slave1]
3.change master  
mysql>change master to
master_host='192.168.1.231',
master_port=3306,
master_user='sunney',
master_password='sunney',
master_log_file='mysql-bin.000001',
master_log_pos=112;

[master,slave1]
4.               
mysql>start slave;
mysql>stop slave;
mysql>reset slave;
mysql>show slave status\G;
5.             
mysql>GRANT ALL PRIVILEGES ON*.*TO'sunney'@'%'IDENTIFIED BY 'sunney';

注意:
(1)、master_log_file='mysql-bin.000001',master_log_pos=112;
この2人はmasteで使う:show master status;調べた.
(2)、masterとslaveのserver-idは同じではありません.そうしないと同期に成功しません.
slaveのserver-idは/etc/myを変更することができる.cnfまたは
       mysql> set global server_id=2; #ここの数値とmy.cnfに設定したようにすればいいです.
五、まとめ
データベースのインストールとmasterとslaveの配置は成功して、主従の同期を行うことができます!主従同期のよくあるエラーは、実はネットワーク、権限、iptables、SELinuxなどの問題にすぎません.私たちは普段これらの問題をチェックしています.処理は難しくないはずです.iptables(または対応するポートを開く)とSELinuxをオフにして、Slave_に注意してください.IO_RunningとSlave_SQL_Running状態はメインYesを確保する必要があります.またスレーブのSeconds_にも注意してください.Behind_Master値とマスタスレーブのserver-idは同じではありません!
      
転載先:https://www.cnblogs.com/yuanermen/p/3726572.html