mysql安装(3台服务)
1下载
 wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.11-linux-glibc2.12-x86_64.tar.gz
 2解压mysql
 wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.11-linux-glibc2.12-x86_64.tar.gz
 tar -zxvf mysql-8.0.11-linux-glibc2.12-x86_64.tar.gz
 3 重命名文件夹
  mv  mysql-8.0.11-linux-glibc2.12-x86_64 mysql-8.0.11
 4创建data文件夹 存储文件
 [root@localhost mysql]# cd mysql-8.0.11
 [root@localhost mysql-8.0.11]# mkdir data
 5创建用户组以及用户和密码
[root@localhost mysql-8.0.11]# groupadd mysql
 [root@localhost mysql-8.0.11]# useradd -g mysql mysql
6授权用户
[root@localhost mysql-8.0.11]# chown -R mysql.mysql /home/mysql/mysql-8.0.11
7切换到bin目录下
[root@localhost mysql-8.0.11]# cd bin
8 初始化基础信息
./mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/ --initialize
得到临时密码  记的保存
  A temporary password is generated for root@localhost: xZnuY,)Rv1oK
 xZnuY,)Rv1oK
 ,
 9 编辑my.cnf文件
 [mysqld]
 basedir=/usr/local/mysql
 datadir=/usr/local/mysql/data
 socket=/tmp/mysql.sock
 character-set-server=utf8
 lower-case-table-names=0
 default_authentication_plugin=mysql_native_password
 innodb_deadlock_detect = off
 innodb_lock_wait_timeout = 120
 innodb_rollback_on_timeout = on
 innodb_flush_log_at_trx_commit = 2
 innodb_log_file_size = 512M
 innodb_buffer_pool_size = 1073741824
 innodb_log_buffer_size = 134217728
max_connections=500
max_user_connections=500
wait_timeout=200
[client]
 port = 3306
10 添加mysqld服务到系统
 cp -a ./support-files/mysql.server /etc/init.d/mysql
11授权以及添加服务
[root@localhost mysql]# chmod +x /etc/init.d/mysql
 [root@localhost mysql]# chkconfig --add mysql
12.启动mysql
[root@localhost mysql]# service mysql start
 Starting MySQL..... SUCCESS! 
 常见错误
 my_print_defaults: [ERROR] Found option without preceding group in config file /etc/my.cnf at line 1!
 my_print_defaults: [ERROR] Fatal error in defaults handling. Program aborted!
 Starting MySQL.my_print_defaults: [ERROR] Found option without preceding group in config file /etc/my.cnf at line 1!
 my_print_defaults: [ERROR] Fatal error in defaults handling. Program aborted!
 my_print_defaults: [ERROR] Found option without preceding group in config file /etc/my.cnf at line 1!
 my_print_defaults: [ERROR] Fatal error in defaults handling. Program aborted!
 Logging to '/usr/local/mysql/data/localhost.localdomain.err'.
 .... ERROR! The server quit without updating PID file (/usr/local/mysql/data/localhost.localdomain.pid).
 编辑my.cnf文件 参考 编辑my.cnf文件
 13.查看启动状态
[root@localhost mysql]# service mysql status
 SUCCESS! MySQL running (62693)
14.将mysql命令添加到服务
[root@localhost mysql]# ln -s /usr/local/mysql/bin(安装包路径) /usr/local/bin
 ln -s /usr/local/mysql/bin/mysql  /usr/local/bin
 15.登录mysql mysql -uroot -p 密码使用之前随机生成的密码
[root@localhost mysql-8.0.11]# mysql -uroot -p
 报错:-bash: mysql: command not found
 注意:ln -s /usr/local/mysql/bin/mysql(安装包路径bin/mysql)  /usr/local/bin
16.修改root密码其中123456是新的密码自己设置
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
17.执行 使密码生效
mysql> flush privileges;
18.选择mysql数据库
mysql> use mysql;
19.修改远程连接并生效
mysql> update user set host='%' where user='root';
mysql> flush privileges;
基于MGR方式搭建MySQL集群
1 修改mysql配置文件信息(三个节点均需配置)
vi /etc/my.cnf
新添信息内容如下(以第一个节点为例):
gtid_mode=ON
 enforce_gtid_consistency=ON
 binlog_checksum=NONE
log_bin=binlog
 log_slave_updates=ON
 binlog_format=ROW
 master_info_repository=TABLE
 relay_log_info_repository=TABLE
#每台不能一样
server_id=1
plugin_load="group_replication=group_replication.so"
#此参数是在server收集写集合的同时以便将其记录到二进制日志。写集合基于每行的主键,
 #并且是行更改后的唯一标识此标识将用于检测冲突。
loose-group_replication_group_name="aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa"
 #启动mysql时不自动启动组复制 
loose-group_replication_start_on_boot=off
 loose-group_replication_ip_whitelist = '192.30.71.2/24'
 #本台mysq IP
loose-group_replication_local_address="192.30.71.130:3316"
 #三台mysql IP
loose-group_replication_group_seeds="192.30.71.128:3316,192.30.71.129:3316,
192.30.71.130:3316" 
 #是否自动引导组。此选项只能在一个server实例上使用,通常是首次引导组时(或在整组成员关闭的情况下),
 #如果多次引导,可能出现脑裂。
loose-group_replication_bootstrap_group = off
 loose-group_replication_single_primary_mode = on
 loose-group_replication_auto_increment_increment=1
 loose-group_replication_member_weight=60
 loose-group_replication_transaction_size_limit=0
2 创建复制账号(三个节点均需配置)
 登录mysql,各节点执行如下命令
复制代码
 mysql> SET SQL_LOG_BIN=0;
 mysql> CREATE USER mgruser@'%' IDENTIFIED BY '123456';
 mysql> GRANT REPLICATION SLAVE ON *.* TO mgruser@'%';
 mysql> FLUSH PRIVILEGES;
 mysql> SET SQL_LOG_BIN=1;
 mysql> CHANGE MASTER TO MASTER_USER='mgruser', MASTER_PASSWORD='123456' FOR CHANNEL 'group_replication_recovery';
3 安装MGR插件(三个节点均需配置)
 mysql> install PLUGIN group_replication SONAME 'group_replication.so';
 -- 查看group replication组件
 mysql> show plugins;
4 主节点操作
  在主节点(当前主节点为:192.30.71.128:3316)启动MGR,执行如下命令
mysql> SET GLOBAL group_replication_bootstrap_group=ON;
 mysql> START GROUP_REPLICATION; 
 mysql> SET GLOBAL group_replication_bootstrap_group=OFF;
5 从节点操作(另两台)
mysql> START GROUP_REPLICATION;
6 查看MGR组信息
SELECT * FROM performance_schema.replication_group_members;



![[性能测试工具]——Loadrunner的使用及安装指南](https://img-blog.csdnimg.cn/41882bc22a1948c0a4e3cd31c4235fbe.png)
















