Mysql8.0安装以及MySQL InnoDB Cluster集群 安装
mysql8安装以及MySQL InnoDB Cluster集群安装
• 安装环境介绍
• mysql安装
• mysql shell安装
• mysql router安装 安装环境介绍
mysql官方下载地址:https://dev.mysql.com/downloads/
Centos7(CentOS-7-x86_64-Everything-1708.iso)
Mysql8.0.13(mysql-8.0.11-1.el7.x86_64.rpm-bundle.tar)
Mysql-shell8.0.13(mysql-shell-8.0.11-1.el7.x86_64.rpm)
Mysql-router8.0.13(mysql-router-8.0.11-1.el7.x86_64.rpm)
准备环境
centos7物理机或者虚拟机三台(python版本要在2.7以上)
192.168.9.100
192.168.9.102
192.168.9.105
由于mysql集群连接是通过本机的hostname进行连接所以要对集群内的节点
进行映射
vi /etc/hosts
192.168.9.100 vm001
192.168.9.102 vm002
192.168.9.105 vm003
三台虚拟机分别设置hostname
192.168.9.100:hostnamectl set-homename vm001
192.168.9.102:hostnamectl set-homename vm002
192.168.9.105:hostnamectl set-homename vm003
设置192.168.9.100 到其他两台机器的免密登录。
在192.168.9.100 机器执行如下命令:
ssh-keygen -t rsa
ssh-copy-id -i ~/.ssh/id_rsa.pub 192.168.9.102
ssh-copy-id -i ~/.ssh/id_rsa.pub 192.168.9.105
关闭防火墙和selinux
systemctl status firewalld
systemctl stop firewalld
systemctl disable firewalld
关闭 selinux
使用getenforce命令查看状态
修改文件
vi /etc/selinux/config
设置
SELINUX=disabled
需要重启 mysql安装
MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采
用GPL授权许可 MariaDB的目的是完全兼容MySQL
- 命令查看mariadb的安装包:rpm -qa | grep mariadb
- 卸载上述查询mariabd安装包:rpm -e mariadb-libs-5.5.56
2.el7.x86_64 --nodeps - 解压tar包:tar -xvf mysql-8.0.11-1.el7.x86_64.rpm-bundle.tar
- 命令安装 common:rpm -ivh mysql-community-common-8.0.11
1.el7.x86_64.rpm --nodeps --force - 命令安装 libs:rpm -ivh mysql-community-libs-8.0.11
1.el7.x86_64.rpm --nodeps --force - 命令安装 client:rpm -ivh mysql-community-client-8.0.11
1.el7.x86_64.rpm --nodeps --force - 命令安装 server:rpm -ivh mysql-community-server-8.0.11
1.el7.x86_64.rpm --nodeps --force - 初始化:mysqld --initialize;
- 赋访问权限:chown mysql:mysql /var/lib/mysql -R
- 启动mysql服务:systemctl start mysqld.service;
- 设置mysql开机自启:mysql systemctl enable mysqld;
- 命令查看数据库的密码:cat /var/log/mysqld.log | grep password
- 进入mysql命令行:mysql -uroot -p (输入上述查看的数据库密码进入
mysql命令行) - 命令来修改密码: ALTER USER ‘root’@‘localhost’ IDENTIFIED
WITH mysql_native_password BY ‘设置的密码’; - 创建远程访问权限:
create user ‘root’@’%’ identified with
mysql_native_password by ‘设置的密码’;
grant all privileges on . to ‘root’@’%’ with grant option;
flush privileges; - 命令修改加密规则,MySql8.0 版本 和 5.0 的加密规则不一样,而现在
的可视化工具只支持旧的加密方式
ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘设置的密
码’ PASSWORD EXPIRE NEVER;
flush privileges; mysql shell安装 - 分别在三台机器上安装mysql-shell,命令如下:rpm -ivh mysql-shell
8.0.12-1.el7.x86_64.rpm --nodeps --force - 分别在三台机器执行mysqlshell,
以192.168.9.100 为例:
mysqlsh --uri root@vm001:3306
执行:dba.configureLocalInstance(),输入两次y - 退出mysqlshell:ctrl+z
- 重新启动mysql服务:systemctl restart mysqld
- 检测是否就绪:
dba.checkInstanceConfiguration(‘root@vm001:3306’) - 只需要一台上创建cluster:var cluster =
dba.createCluster(‘mlampCluster’); - 将另外两台添加进入:
cluster.addInstance(‘root@vm002:3306’);
cluster.addInstance(‘root@vm003:3306’); - 查看状态 为ONLINE 说明集群安装成功:cluster.status()
mysql router安装
- 安装mysqlrouter:rpm -ivh mysql-router-8.0.12-1.el7.x86_64.rpm
-nodeps --force - vi /etc/mysqlrouter/mysqlrouter.conf 设置连接数:
max_connections=1024
[DEFAULT] logging_folder = /var/log/mysqlrouter/ plugin_folder = /usr/lib64/mysqlrouter runtime_folder = /var/run/mysqlrouter config_folder = /etc/mysqlrouter
[logger] level = INFO
[routing:read_write] bind_address = 192.168.9.102
[routing:read_only] bind_address = 192.168.9.102 bind_port = 7002 mode = read-only destinations = vm002:3306,vm003:3306 protocol=classic max_connections=1024
[keepalive] interval = 60
3. 重启mysqlrouter:systemctl restart mysqlrouter