Mariadb説明:
mariadbは、MySQLの支店で、参照のさらなる理解のための必要性:https://mariadb.org/
インストールのチュートリアル:窓のインストール:MariaDBはじめに1(インストール)
Linuxのインストール:centos7 yumのMySQLをインストール| mariaDb
追加:マスターコピー(マスター・スレーブ)からのmysql、私は証明するためにmariadbがかかります
Mariadbマスタースレーブのレプリケーション:
1>原理:
MySQLのバイナリログファイル(バイナリログファイル)間の基本的なデータレプリケーション。バイナリログたら、MySQLデータベースは、マスターとして、すべての操作がバイナリログに記録された「イベント」、I /を介して通信を維持するために、プライマリサーバとスレーブOスレッドなどの他のデータベースと、あるデータベースを有効になっていますバイナリログファイル監視マスターの変化、そして私たちは、マスターのバイナリログファイルが変更された見つけた場合、それはその後、スレーブSQLスレッドにそのリレーログへの変更をコピーしますが、独自のデータベースを実行するには、「イベント」に関連します、データベースとプライマリ・データベースの一貫性を達成するために、我々は、マスター・スレーブレプリケーションを実現しました。
2>所望の構成からマスタMySQLを達成します。
1> 2台のサーバーを準備します
マスター192.168.248,147 / Linuxの(centos7)
スレーブ192.168.248.148 / Linuxの(centos7)
インストール後centos7のmariadbは、デフォルトのパスワード 1 > -uroot-のMySQL - Pキャリッジ 2 > 使用のMySQL、MySQLデータベースにスイッチ 3。 >ユーザ更新のSETパスワード=パスワード(" カスタムパスワード")ユーザー= ' ルート' ; 4。 >フラッシュの権限は、効果をリフレッシュ
2>マスタサーバ(サーバ147)を構成
1 > 設定ファイルを変更: [mysqldを] ログイン -bin =はmysql- ビンバイナリログ#オープン サーバ -id = 1#サーバー-セットID
2> 重启mysql,创建用于同步的用户账号 mysql> CREATE USER 'huhy'@'192.168.248.147' IDENTIFIED BY 'huhy';#创建用户 mysql> GRANT REPLICATION SLAVE ON *.* TO 'huhy'@'192.168.248.147';#分配权限 mysql>flush privileges; #刷新权限 3> 查看master状态,记录二进制文件名(mysql-bin.000001)和位置(569): SHOW MASTER STATUS;
3>从服务器slave修改:
从服务器配置: 1>my.cnf配置文件,添加server-id [mysqld] server-id=2 #设置server-id,必须唯一
2>重启mysql,打开mysql会话,执行同步SQL语句(需要主服务器主机名,登陆凭据,二进制文件的名称和位置): CHANGE MASTER TO MASTER_HOST='192.168.248.147',MASTER_USER='huhy',MASTER_PASSWORD='huhy', MASTER_LOG_FILE='mysql-bin.000001',MASTER_LOG_POS=569;
3> 启动同步进程:
start slave; 【stop slave】
4> 查看slave状态:
show slave status\G;
注意:这个当其中两个都是yes的时候代码同步开启成功。
问题:这个可能会出现个问题, Slave_IO_Running: Connecting 连接问题: 如下:
产生这个问题的原因是我们创建的同步用户无法进行远程连接,从服务器无法连接到主服务器:
grant all privileges on *.* to huhy@'%'identified by 'huhy'; 授权后即可
flush privileges; 刷新权限
执行后即可完成同步
补充:可以再my.cnf中设置同步哪些数据库:
# 不同步哪些数据库 binlog-ignore-db = mysql # 只同步哪些数据库,除此之外,其他不同步 binlog-do-db = test
测试:
到这mysql的主从复制已经搞好了,有不理解的可以一起讨论