1 基本环境
1.1 操作系统
Linux centos3 3.10.0-327.el7.x86_64(关闭防火墙,关闭selinux)
1.2 准备rpm包
1.2.1 MySQL8安装包
https://mirrors.tuna.tsinghua.edu.cn/mysql/yum/mysql80-community-el7/mysql-community-server-8.0.19-1.el7.x86_64.rpm
https://mirrors.tuna.tsinghua.edu.cn/mysql/yum/mysql80-community-el7/mysql-community-client-8.0.19-1.el7.x86_64.rpm
https://mirrors.tuna.tsinghua.edu.cn/mysql/yum/mysql80-community-el7/mysql-community-common-8.0.19-1.el7.x86_64.rpm
https://mirrors.tuna.tsinghua.edu.cn/mysql/yum/mysql80-community-el7/mysql-community-libs-8.0.19-1.el7.x86_64.rpm
1.2.2 MySQL8 Cluster安装包
https://mirrors.tuna.tsinghua.edu.cn/mysql/yum/mysql-tools-community-el7/mysql-router-8.0.12-1.el7.x86_64.rpm
https://mirrors.tuna.tsinghua.edu.cn/mysql/yum/mysql-tools-community-el7/mysql-shell-8.0.12-1.el7.x86_64.rpm
2 安装mysql
2.1 安装rpm包
yum remove mariadb-libs rpm -ivh mysql-community-common-8.0.19-1.el7.x86_64.rpm rpm -ivh mysql-community-libs-8.0.19-1.el7.x86_64.rpm rpm -ivh mysql-community-client-8.0.19-1.el7.x86_64.rpm rpm -ivh mysql-community-server-8.0.19-1.el7.x86_64.rpm
2.2 启动mysql
service mysqld start
2.3 修改密码
2.3.1 查看密码
grep 'temporary password' /var/log/mysqld.log
2.3.2 修改密码
mysqladmin -p '上面查到的临时密码' password '新的密码'
2.4 设置允许远程访问
2.4.1 登录mysql
mysql -uroot -p
2.4.2 设置允许远程访问
use mysql;update user set host='%' where user='root'; quit;
3.4.2 重启服务
service mysqld restart
3 安装集群
3.1 准备三台服务器
10.10.10.201,主机名:centos1,角色:管理节点、数据节点
10.10.10.202,主机名:centos2
10.10.10.203,主机名:centos3
3.2 三台服务器设置hosts
vim /etc/hosts
添加
10.10.10.201 centos1
10.10.10.202 centos2
10.10.10.203 centos3
3.3 三台服务器设置免密
ssh-keygen -t rsa ssh-copy-id centos1 ssh-copy-id centos2 ssh-copy-id centos3
3.4 三台服务器安装MySQL
参见步骤2
3.5 三台服务器Mysql赋予root用户所有权限
3.5.1 登录mysql
mysql -uroot -p
3.5.2 设置允许远程访问
grant all privileges on *.* to 'root'@'%' with grant option; flush privileges;
3.6 centos1上安装mysql-shell
rpm -ivh mysql-shell-8.0.12-1.el7.x86_64.rpm
3.7 centos1上进入mysql-shell并创建集群
3.7.1 进入mysql-shell
mysqlsh
3.7.2 创建集群
shell.connect('root@centos1:3306') dba.configureLocalInstance() shell.connect('root@centos2:3306') dba.configureLocalInstance() shell.connect('root@centos3:3306') dba.configureLocalInstance() shell.connect('root@centos1:3306') var cluster=dba.createCluster("MySQL_Cluster")