怎么安装Mysql双机热备

58次阅读
没有评论

共计 6780 个字符,预计需要花费 17 分钟才能阅读完成。

这篇文章主要介绍“怎么安装 Mysql 双机热备”,在日常操作中,相信很多人在怎么安装 Mysql 双机热备问题上存在疑惑,丸趣 TV 小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么安装 Mysql 双机热备”的疑惑有所帮助!接下来,请跟着丸趣 TV 小编一起来学习吧!

一、安装 mysql

#tar -xf mysql-5.7.18-1.el6.x86_64.rpm-bundle.tar 
#yum localinstall *.rpm

1.1 修改 mysql 配置

# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html
[mysqld]
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
datadir=/data/mysql
socket=/var/lib/mysql/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
explicit_defaults_for_timestamp=true
tmpdir=/tmp
[client]
default-character-set=utf8mb4
[mysqld]
character_set_server=utf8mb4

1.2 权限修改

[root@172 ~]# chown -R mysql:mysql /data
[root@172 ~]# chmod 777 -R /data/
[root@172 ~]# chmod -R 777 /tmp

1.3 启动 mysql 服务

[root@172 ~]# service mysqld restart
Stopping mysqld: [FAILED]
Initializing MySQL database: [ OK ]
Installing validate password plugin: [ OK ]
Starting mysqld: [ OK ]

1.4 查看 temp 密码

more /var/log/mysqld.log |grep temporary

1.5 修改 root 密码 db1

ALTER USER  root @ localhost  IDENTIFIED BY  ***** 
flush privileges;
exit;

db2

ALTER USER  root @ localhost  IDENTIFIED BY  ***** 
flush privileges;
exit;

二、配置主从同步 master1172.28.8.187master2172.28.8.1882.1 配置 master1 给 master2 登录的密码

Master1

create user  repl  identified by  ***** 
GRANT REPLICATION SLAVE ON *.* TO  repl @ 172.28.8.188  IDENTIFIED BY  ***** 
FLUSH PRIVILEGES;
mysql  create database mydb default charset utf8;

在 172.28.8.188 测试 repuser 是否能登录 172.28.8.187 上的数据库

mysql -urepl -p -h272.28.8.187

2.1.1 Master1 配置 my.cnf

# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html
[mysqld]
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
datadir=/data/mysql
socket=/var/lib/mysql/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
explicit_defaults_for_timestamp=true
tmpdir=/tmp
character_set_server=utf8mb4
server-id=177
log-bin=/var/log/mysql/mysql-bin.log
read-only=0
binlog-ignore-db=mysql
binlog-ignore-db=information_schema
expire_logs_days= 365
auto-increment-increment = 2
auto-increment-offset = 1
[client]
default-character-set=utf8mb4

2.2 Master2 配置 my.cnf

# 除 server-id 外,其他与 master1 保持一致 

2.2.1 Master2 给 Master1 创建账号密码并授权

create user  repl  identified by  ***** 
GRANT REPLICATION SLAVE ON *.* TO  repl @ 172.28.8.187  IDENTIFIED BY  ***** 
FLUSH PRIVILEGES;

2.3 查看 Master 同步状态

master1

mysql  show master status;
+------------------+----------+--------------+--------------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+--------------------------+-------------------+
| mysql-bin.000001 | 154 | mydb | mysql,information_schema | |
+------------------+----------+--------------+--------------------------+-------------------+
1 row in set (0.00 sec)

master2

mysql  show master status;
+------------------+----------+--------------+--------------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+--------------------------+-------------------+
| mysql-bin.000001 | 154 | mydb | mysql,information_schema | |
+------------------+----------+--------------+--------------------------+-------------------+
1 row in set (0.00 sec)

设置 master1 从 master2 同步

mysql CHANGE MASTER TO MASTER_HOST= 172.28.8.188 ,MASTER_PORT=3306,MASTER_USER= repl ,MASTER_PASSWORD= b4l:GGtG3s0* ,MASTER_LOG_FILE= mysql-bin.000002 ,MASTER_LOG_POS=860;
mysql  SHOW SLAVE STATUS\G
mysql  START SLAVE;
mysql  SHOW SLAVE STATUS\G

设置 master2 从 master1 同步

mysql CHANGE MASTER TO MASTER_HOST= 172.28.8.187 ,MASTER_PORT=3306,MASTER_USER= repl ,MASTER_PASSWORD= 2S1*8pr+BzqH^8T` ,MASTER_LOG_FILE= mysql-bin.000003 ,MASTER_LOG_POS=1497;
mysql  SHOW SLAVE STATUS\G
mysql  START SLAVE;
mysql  SHOW SLAVE STATUS\G

如出现以下两项,则说明配置成功!

 Slave_IO_Running: Yes
 Slave_SQL_Running: Yes

3. 双主同步测试

进入 master1 mysql 数据库

mysql  create database crm;
Query OK, 1 row affected (0.00 sec)
mysql  use crm;
Database changed
mysql  create table employee(id int auto_increment,name varchar(10),primary key(id));
Query OK, 0 rows affected (0.00 sec)
mysql  insert into employee(name) values( a 
Query OK, 1 row affected (0.00 sec)
mysql  insert into employee(name) values( b 
Query OK, 1 row affected (0.00 sec)
mysql  insert into employee(name) values( c 
Query OK, 1 row affected (0.06 sec)
mysql  select * from employee;
+----+------+
| id | name |
+----+------+
| 1 | a |
| 3 | b |
| 5 | c |
+----+------+
3 rows in set (0.00 sec)

进入 master2,查看是否有 crm 这个数据库和 employee 表。

mysql  show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| crm |
| mysql |
| performance_schema |
+--------------------+
4 rows in set (0.00 sec)
mysql  use crm;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql  show tables;
+---------------+
| Tables_in_crm |
+---------------+
| employee |
+---------------+
1 row in set (0.00 sec)
mysql  select * from employee;
+----+------+
| id | name |
+----+------+
| 1 | a |
| 3 | b |
| 5 | c |
+----+------+
3 rows in set (0.00 sec)
mysql  insert into employee(name) values( d 
Query OK, 1 row affected (0.00 sec)
mysql  select * from employee;
+----+------+
| id | name |
+----+------+
| 1 | a |
| 3 | b |
| 5 | c |
| 7 | d |
+----+------+
4 rows in set (0.00 sec)

在 master1 的中查看是否有刚刚在 master2 中插入的数据。

mysql  select * from employee;
+----+------+
| id | name |
+----+------+
| 1 | a |
| 3 | b |
| 5 | c |
| 7 | d |
+----+------+
4 rows in set (0.00 sec)

到此,关于“怎么安装 Mysql 双机热备”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注丸趣 TV 网站,丸趣 TV 小编会继续努力为大家带来更多实用的文章!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-19发表,共计6780字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)