高可用性アーキテクチャMyCatベースMySQL高可用性読み書き分離クラスタ(一)

6206 ワード

このシリーズのコースは主に以下のセクションに分かれています.
  • MySQLのLinuxへのインストール
  • MySQLのマスター・スレーブ・アーキテクチャの構築
  • MySQLのLinuxへのインストール
    一、インストール前の構成
    基本環境:
  • オペレーティングシステム:CentOS 7
  • MySQLバージョン:mysql-5.7.24
  • ホスト名:mysql 01
  • ハードウェア構成:2コア、2 Gメモリ
  • 1.1ホスト名の設定
    > vim /etc/sysconfig/network

    ホスト名の設定:
    NETWORKING=yes
    HOSTNAME=mysql01

    1.2 IPとホスト名のマッピングの設定
    > vim /etc/hosts

    次のように構成します.
    127.0.0.1   mysql01
    192.168.1.5 mysql01(   IP    IP  )

    1.3ファイアウォールを閉じる
    ファイアウォールのステータスを表示するには、次の手順に従います.
    > systemctl status firewalld

    ファイアウォールを閉じる:
    > systemctl stop firewalld

    マシンを再起動しないようにするには、ファイアウォールを無効にします.
    > systemctl disable firewalld

    1.4selinuxdisabledに設定
    > vim /etc/selinux/config
    > SELINUX=disabled

    二、MySQLソースのインストール
    2.1 mysqlユーザーグループの追加
    > groupadd mysql

    2.2 mysqlユーザーを追加し、mysqlユーザーグループに追加
    > useradd -r -g mysql mysql

    2.3 MySQL実行ファイルディレクトリの新規作成
    このディレクトリは、コンパイルされたmysqlプログラムをこのディレクトリにインストールします.
    > mkdir -p /usr/local/mysql

    2.4 MySQLデータベースファイルディレクトリの新規作成
    > mkdir -p /home/mysql/data
    > mkdir -p /home/mysql/logs
    > mkdir -p /home/mysql/temp

    注:本番環境では、データ・ディレクトリとログ・ディレクトリは別々のパーティションを使用してマウントすることをお勧めします.異なるパーティションは異なるディスクまたはディスク・グループに属します.
    2.5環境変数の構成
    PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH
    export PATH

    保存終了後、次の文を実行して構成を有効にします.
    source /etc/profile

    2.6 MySQLのコンパイルに必要な依存パッケージのインストール
    > yum install make cmake gcc gcc-c++ bison bison-devel ncurses ncurses-devel autoconf automake

    2.7コンパイルインストール開始mysql-5.7.24
    > cd /usr/local/src
    > tar -zxvf mysql-boost-5.7.24.tar.gz
    > cd mysql-5.7.24
    > cmake \
    -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
    -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
    -DDEFAULT_CHARSET=utf8 \
    -DDEFAULT_COLLATION=utf8_general_ci \
    -DWITH_MYISAM_STORAGE_ENGINE=1 \
    -DWITH_INNOBASE_STORAGE_ENGINE=1 \
    -DWITH_ARCHIVE_STORAGE_ENGINE=1 \
    -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
    -DWITH_MEMORY_STORAGE_ENGINE=1 \
    -DWITH_READLINE=1 \
    -DENABLED_LOCAL_INFILE=1 \
    -DMYSQL_DATADIR=/home/mysql/data \
    -DMYSQL_USER=mysql \
    -DMYSQL_TCP_PORT=3306 \
    -DENABLE_DOWNLOADS=1 \
    -DWITH_BOOST=/usr/local/src/mysql-5.7.24/boost
    >   
    > make(  )
    > make install(  )
    > make clean(        )

    2.8 mysqlディレクトリ所有者をmysqlユーザーに変更
    > chown -Rf mysql:mysql /usr/local/mysql
    > chown -Rf mysql:mysql /home/mysql

    2.9データベースの初期化
    > cd /usr/local/mysql/bin
    > ./mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/home/mysql/data

    実行に成功すると、次のログが表示されます.
    2018-12-27T05:44:57.679800Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
    2018-12-27T05:44:57.879753Z 0 [Warning] InnoDB: New log files created, LSN=45790
    2018-12-27T05:44:57.924434Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
    2018-12-27T05:44:57.978933Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 8b6531a7-099a-11e9-87d5-000c29abb1e8.
    2018-12-27T05:44:57.979740Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
    2018-12-27T05:44:57.980535Z 1 [Note] A temporary password is generated for root@localhost: Axudfkff3k(Z

    rootのデフォルトパスワードは、Axudfkff3k(Zです.
    2.10 MySQLプロファイルの構成
    > vim /etc/my.cnf

    このファイルはMySQLの配置ファイルで、中にはMySQLの各种の配置を配置することができて、例えばキャッシュエリアを検索して、遅いSQLログなど、私达はここでまず最も简単な配置をして、后で必要に応じて更にその他の配置を加えて、以下の通りです:
    [mysqld]
    basedir=/usr/local/mysql
    datadir=/home/mysql/data
    tmpdir=/home/mysql/temp
    
    socket=/usr/local/mysql/mysql.sock
    # Disabling symbolic-links is recommended to prevent assorted security risks
    symbolic-links=0
    # Settings user and group are ignored when systemd is used.
    # If you need to run mysqld under a different user or group,
    # customize your systemd unit file for mariadb according to the
    # instructions in http://fedoraproject.org/wiki/Systemd
    
    [mysqld_safe]
    log-error=/home/mysql/logs/mysql_error.log
    pid-file=/home/mysql/mysql.pid

    保存して終了します.
    2.11 MySQLサービスの開始
    まず、サービス起動スクリプトをコピーします.
    > cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql

    MySQLサービスを開始するには:
    > service mysql start

    初回起動は/usr/local/mysqlディレクトリの下でmysqlを生産する.sockファイル.
    MySQL設定を起動します.
    > chkconfig mysql on

    起動に成功したら、次のコマンドを使用してMySQLサービスが正常に起動したかどうかを確認できます.
    > ps -ef|grep mysql

    MySQLサービスが正常に開始されたことを示すメッセージが表示されます.
    root      20633      1  0 16:15 pts/1    00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/home/mysql/data --pid-file=/home/mysql/data/localhost.localdomain.pid
    mysql     20720  20633  0 16:15 pts/1    00:00:00 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/home/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=localhost.localdomain.err --pid-file=/home/mysql/data/localhost.localdomain.pid
    root      20752  20445  0 16:16 pts/1    00:00:00 mysql -u root -p
    root      21149  18826  0 16:44 pts/0    00:00:00 grep --color=auto mysql

    2.12 MySQLにログインしてrootのパスワードを変更する
    > mysql -u root -p
    > (    root   )
    > (       root   )
    > alter user 'root'@'localhost' identified by 'root';

    修正に成功したら、他の操作をすることができます.リモートマシンへのアクセスを増やすには、次の文を実行します.
    > grant all privileges on *.* to root@'%' identified by '123456';
    > flush privileges;

    転載先:https://www.cnblogs.com/xiaotutu365/p/10187014.html