Jelastic容器云初使用及部署MySql主从
type
status
date
slug
summary
tags
category
icon
password
order
前言
本文使用的环境是云筏科技CloudRaft提供的容器云服务,基于Jelastic的PaaS云平台
首先说下Jelastic的特点,
- 高可用性与自动的横向可伸缩性
- 自动的纵向可伸缩性-Jelastic根据需要增加可使用的资源,并且当某个节点上的资源竞争达到无法忍受的程度时,它会将应用转移到其他节点上
- 通过隔离实现安全性-应用程序在虚拟容器内的节点上运行,与其他节点完全隔离,即使这些节点在同一个物理主机上
下面放个首页图,可以看到界面中各项参数、功能是很全面的,在web面板中可以很方便的连接ssh或者在线编辑docker内的文件,还有查看各项参数、日志。
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Fc5a2642a-83bf-468a-af5e-b8987e38473e%2FUntitled.png?table=block&id=bb4bb620-74d5-4635-82c7-6c271b504acc&t=bb4bb620-74d5-4635-82c7-6c271b504acc&width=1683&cache=v2)
创建docker
如果要新建docker,上方的NEW ENVIROMENT 或者MARKETPLACE都可以
下图是 NEW ENVIROMENT ,可以很方便的选择各种环境及版本,以及设定docker的各项性能参数配置,最后一个Docker标签允许从hub上检索并拉取镜像
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F50f8c514-d9ba-48c9-a6b0-e1d1a17dab62%2FUntitled.png?table=block&id=48377e19-d89d-4e0b-a29e-af6abbc4d3d2&t=48377e19-d89d-4e0b-a29e-af6abbc4d3d2&width=1176&cache=v2)
下图是MARKETPLACE,在市场中,各种官方配置好的环境,可以供你直接使用,各种集群环境,以及常用的程序,都是直接选择->确定即可一键部署。
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Fa16400bf-05b3-461b-9712-06ed50e22c26%2FUntitled.png?table=block&id=00dad057-c282-45d8-b0db-03c8191911c0&t=00dad057-c282-45d8-b0db-03c8191911c0&width=1595&cache=v2)
搭建MYSQL主从
在后台页面顶部菜单,点击 NEW ENVIROMENT,然后左下图标选择SQL->MySql,如图,直接Create等待即可
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F09a6b52c-3632-40a6-be73-7ce93ee07c74%2FUntitled.png?table=block&id=319a6a71-d8fc-4d24-a0bf-d59a0e79118d&t=319a6a71-d8fc-4d24-a0bf-d59a0e79118d&width=1382&cache=v2)
创建mysql
上面只创建了一个应用,这个作为主库,再按照上面步骤新建两个作为从库,等待创建完毕后,邮箱会收到邮件“
MySQL Node Successfully Added to Your Jelastic Environment ”,然后你的MySql密码就在里面,还有这个MySql镜像是自带phpmyadmin的,直接点击邮件内网址登陆即可进入phpmyadmin
等都创建完毕后,开始配置,首先把端口开放下,用于本地连接
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Fd77b4731-6d04-4a8a-8a25-fe8ab3bd0c28%2FUntitled.png?table=block&id=3e3a137c-88a1-4cbd-b88f-fe7106fe8abc&t=3e3a137c-88a1-4cbd-b88f-fe7106fe8abc&width=1100&cache=v2)
点击Add之后就填入要映射的容器内的端口号,不过外网端口不可设定,系统自动分配
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Faa925380-e38d-44d2-90f0-e1eacfa5069f%2FUntitled.png?table=block&id=b6f5a5e1-6e7d-4c83-b75b-43cf74915291&t=b6f5a5e1-6e7d-4c83-b75b-43cf74915291&width=592&cache=v2)
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Fa4f22bce-90fd-4642-9172-eb7dd8ffe6c8%2FUntitled.png?table=block&id=ec15131a-f2e5-4c88-8822-0487412ecd79&t=ec15131a-f2e5-4c88-8822-0487412ecd79&width=1234&cache=v2)
这就是外网端口和外网URL,本地SQL工具连接这个URL和端口即可
连接主库SSH,输入vi /etc/my.cnf
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F95cf2c6b-f742-4a34-8589-6d442f713cc0%2FUntitled.png?table=block&id=03de673a-9591-4c43-9b2f-33f795ca4460&t=03de673a-9591-4c43-9b2f-33f795ca4460&width=870&cache=v2)
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F96b94c2b-f2f4-4a5c-8972-ec6d8c8b266b%2FUntitled.png?table=block&id=5b0829c9-4b4e-4938-ab40-07b5110126ee&t=5b0829c9-4b4e-4938-ab40-07b5110126ee&width=669&cache=v2)
主要两个参数 server-id,还有log-bin,server-id每台服务器唯一,log-bin开启二进制日志记录,用于从库接收进行同步
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F80271396-767d-4de6-b700-969fbf09f674%2FUntitled.png?table=block&id=bd40c1d3-2f1c-44c1-9256-7d56597abfe6&t=bd40c1d3-2f1c-44c1-9256-7d56597abfe6&width=822&cache=v2)
修改完主库的my.cnf后,修改从库的my.cnf,记得server-id不能重复,修改完service mysql restart重启服务生效
然后进入主库的mysql ,mysql -uroot -p ,执行命令show master status; 记住这个File和Position
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F37944803-3f8f-4ec9-84c5-d51e2ed9fe57%2FUntitled.png?table=block&id=0d6180b5-e87b-4db4-8a8d-5786af937d89&t=0d6180b5-e87b-4db4-8a8d-5786af937d89&width=960&cache=v2)
然后进入从库的MySql,执行以下命令,修改x.x.x.x为主库IP,user,password为主库用户名和密码,log_file和log_pos就是上图的这个File和Position
执行完之后,执行 start slave; 启动从服务器复制功能,如果配置错了,执行 stop slave; 再如上配置下,再 start slave; 即可
执行完之后,在从库中执行 show slave status\G; 可以查看主从连接状态,只要Slave IO Running和Slave SQL Running都为Yes就正常,还有前面的Slave_IO_State,对应的信息显示的是Waiting for master to send event…
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F8a113a54-7989-4b94-96d4-0fa0f923a9c9%2FUntitled.png?table=block&id=b7c09586-15cc-4057-b0fb-a2e6aae037a6&t=b7c09586-15cc-4057-b0fb-a2e6aae037a6&width=733&cache=v2)
这个时候就已经完成了,可以去连接主库的mysql去创建表和字段,这个时候再去从库看就可以发现,已经同步过来了(可能有一点延时)