1.环境清理(每台主机都做)
[root@server ~]# yum remove mysql-server.x86_64 -y
[root@server ~]# rm -rf /etc/my.cnf.d/
[root@server ~]# rm -rf /var/lib/mysql/
[root@server ~]# rm -rf /var/log/mysql/
2.安装数据库(每台主机)
[root@server ~]# yum install -y mysql-server
[root@server ~]# systemctl start mysqld
[root@server ~]# systemctl stop mysqld
3.编写配置文件
主服务器
[root@server ~]# vim /etc/my.cnf.d/mysql-server.cnf
disabled_storage_engines="MyISAM,BLACKHOLE,FEDERATED,ARCHIVE,MEMORY"
#server_id确保每个机器不一样
server_id=1
gtid_mode=ON
enforce_gtid_consistency=ON
log_bin=binlog
log_slave_updates=ON
binlog_format=ROW
master_info_repository=TABLE
relay_log_info_repository=TABLE
transaction_write_set_extraction=XXHASH64
plugin_load_add='group_replication.so'
#uuid确保每个机器都一样,可以用uuidgen生成
group_replication_group_name="8e1969ec-3ae3-4bd1-b80f-6de58b837ff5"
group_replication_start_on_boot=off
#当前主机的主机名和复制组端口,建议用主机名
group_replication_local_address= "server:3306"
group_replication_group_seeds= "server:3306,localhost:3306"
group_replication_bootstrap_group=off
启动数据库
[root@server ~]# systemctl start mysqld.service
创建复制组用户(在mysql中创建)
SET SQL_LOG_BIN=0;
CREATE USER rpl_user@'%' IDENTIFIED BY 'Test@1234';
GRANT REPLICATION SLAVE ON *.* TO rpl_user@'%';
GRANT BACKUP_ADMIN ON *.* TO rpl_user@'%';
FLUSH PRIVILEGES;
SET SQL_LOG_BIN=1;
复制用户凭据到复制组通道
mysql> CHANGE MASTER TO MASTER_USER='rpl_user', MASTER_PASSWORD='Test@1234' FOR CHANNEL 'group_replication_recovery';
查看复制组插件是否装载
mysql> SHOW PLUGINS;
如果有以下内容则表示已装载
group_replication | ACTIVE | GROUP REPLICATION | group_replication.so | GPL
启动复制组
mysql> START GROUP_REPLICATION USER='rpl_user', PASSWORD='Test@1234';
查看复制组
mysql> SELECT * FROM performance_schema.replication_group_members;
+---------------------------+--------------------------------------+-------------+-------------+--------------+-------------+----------------+
| CHANNEL_NAME | MEMBER_ID | MEMBER_HOST | MEMBER_PORT | MEMBER_STATE | MEMBER_ROLE | MEMBER_VERSION |
+---------------------------+--------------------------------------+-------------+-------------+--------------+-------------+----------------+
| group_replication_applier | a49b5c8f-fd44-11eb-a9e2-000c29707010 | mgr01 | 3306 | ONLINE | PRIMARY | 8.0.21 |
| group_replication_applier | a9eed5dc-fd44-11eb-aec2-000c29de2f00 | mgr02 | 3306 | ONLINE | SECONDARY | 8.0.21 |
+---------------------------+--------------------------------------+-------------+-------------+--------------+-------------+----------------+
2 rows in set (0.00 sec)
如果需要停止复制组,则使用:
mysql> stop GROUP_REPLICATION
1.准备安装环境
由于 Redis 是基于 C 语言编写的,因此首先需要安装 Redis 所需要的依赖:
yum install -y gcc tcl gcc-c++ make
2.上传安装文件
将下载好的 redis-6.2.7.tar.gz 安装包上传到虚拟机的任意目录(一般推荐上传到
/usr/local/src目录)。
[root@server src]# ll
total 2928
-rw-r--r--. 1 root root 2994242 Aug 12 09:43 redis-7.0.4.tar.gz
3、解压安装文件
[root@server src]# tar -zxvf redis-7.0.4.tar.gz
4、进入安装目录
[root@server src]# cd redis-7.0.4/
[root@server redis-7.0.4]#
5、运行编译命令
[root@server redis-7.0.4]# make && make install
默认的安装路径是在 /usr/local/bin 目录下。可以将这个
目录配置到环境变量中,这样就可以在任意目录下运行这些命令了。主要的几个命令说明如
下:
redis-server:它是 redis 的服务端启动脚本
redis-cli:它是 redis 提供的客户端启动脚本
redis-sentinel:它是 redis 提供的哨兵启动脚本
1 yum install -y gcc tcl gcc-c++ make
1 tar -zxvf redis-6.2.7.tar.gz
1 cd redis-6.2.7
1 make && make install
redis-benchmark:性能测试工具,可以在自己电脑上运行来查看性能
redis-check-aof:修复有问题的AOF文件
redis-check-dump:修复有问题的dump.rdb文件
6、前台启动
[root@server redis-7.0.4]# redis-server
直接执行 redis-server 启动的 Redis 服务,是在前台直接运行的(效果如上
图),也就是说,执行完该命令后,如果关闭当前会话,则Redis服务也随即关闭,因此这种方
式不推荐使用。正常情况下,启动 Redis 服务需要从后台启动。
查看Redis服务: 1. ps -ef | grep redis 关闭Redis服务: 1. pkill redis-server 2. kill 进程号
3. 单实例关闭:redis-cli shutdown 4. 多实例关闭:redis-cli -p 6379 shutdown
7、后台启动
cp /usr/local/redis/redis.conf /etc/
vim /etc/redis.conf # 修改daemonize no 为yes
保存退出后,执行如下命令来启动服务。
bin>redis-server /etc/redis.conf