【MySQL】一台服务器上搭建两个mysql节点
环境:
CentOS 6.8
memory:1G
Mysql 5.7 二进制安装包
1.安装相关的环境包
yum -y install gcc glibc libaio libstdc++ libstdc ncurses-libs
2.查看系统中是否存在已经安装的mysql,如果有的话,将其卸载掉
rpm -qa | grep mysql
rpm -e mysql #普通删除模式
rpm -e --nodeps mysql #强力删除模式
3.创建组和用户
groupadd mysql
useradd -r -g mysql -s /bin/false myqsl
4.解压mysql5.7二进制安装包
tar -xvf mysql-5.7.15-linux-glibc2.5-x86_64.tar.gz
mv /root/mysql-5.7.15-linux-glibc2.5-x86_64 /usr/local/mysql
5.创建相关目录
mkdir -p /mydata/data330{6..7}
chown mysql.mysql /mydata -R
6.修改my.cnf文件
vi /etc/my.cnf
[mysqld_multi]
mysqld = /usr/local/mysql/bin/mysqld_safe
mysqladmin = /usr/local/mysql/bin/mysqladmin
#user = root
#password = rootpwd
[mysqld3306] //这里最好不要写其他名称,开始的时候我加了下划线,但是命令无法识别
port = 3306
server_id = 3306
basedir =/usr/local/mysql
datadir =/mydata/data3306
socket =/tmp/mysql3306.sock
log-error =/var/log/mysqld_3306.log
pid-file =/mydata/data3306/mysqld3306.pid
[mysqld3307]
port = 3307
server_id = 3307
basedir =/usr/local/mysql
datadir =/mydata/data3307
socket =/tmp/mysql3307.sock
log-error =/var/log/mysqld_3307.log
pid-file =/mydata/data3306/mysqld3307.pid
修改好后保存退出
7.添加环境变量
echo "PATH=$PATH:/usr/local/mysql/bin " >> /etc/profile
source /etc/profile
8.初始化数据库
bin/mysqld --initialize --user=mysql --datadir=/mydata/data3306 --basedir=/usr/local/mysql --explicit_defaults_for_timestamp
bin/mysqld --initialize --user=mysql --datadir=/mydata/data3307 --basedir=/usr/local/mysql --explicit_defaults_for_timestamp
这里会提示一个临时密码,一定要记住!!
9.启动两个不同端口的mysql
mysqld_multi report 查看下两个服务
Reporting MySQL servers
No groups to be reported (check your GNRs)
这样输出的话,就证明/etc/my.cnf文件配置错误了
实例没有起来
Reporting MySQL servers
MySQL server from group: mysqld3306 is not running
MySQL server from group: mysqld3307 is not running
显示的如上的话,证明实例已经识别了
在执行如下命令开启实例
mysqld_multi start 3306,3307
再次查看状态
mysqld_multi report
MySQL server from group: mysqld3306 is running
MySQL server from group: mysqld3307 is running
查看ps aux | grep mysql
netstat -antpl | grep 330
如果有相关的进程,证明启动成功
10.访问数据库
mysql -u root -p -S /tmp/mysql3306.sock //这里一定要指定sock文件,否则启动失败的
Enter password:
mysql -u root -p -S /tmp/mysql3307.sock
Enter password:
11.修改root密码
mysql -u root -p -S /tmp/mysql3307.sock
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
mysql> grant all privileges on *.* to root@'192.168.1.%';
mysql> flush privileges;
同样,登陆到另一个节点修改密码
mysql -u root -p -S /tmp/mysql3306.sock
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
mysql> grant all privileges on *.* to root@'192.168.1.%';
mysql> flush privileges;
12.关闭某个实例
mysqladmin -uroot -prootpwd -S /tmp/mysql3306.sock shutdown
13.开启自启动
echo "/usr/local/mysql/bin/mysqld_multi --defaults-extra-file=/etc/my.cnf start 3306,3307" >> /etc/rc.local
【MySQL】一台服务器上搭建两个mysql节点的更多相关文章
- 如何在一台服务器上安装两个mysql或者更多
如何在一台服务器上安装两个mysql 1 前言 上篇写了在一台机器上源码编译安装一个mysql,那么如何在一台机器上源码编译安装两个mysql或者更多呢? 2 环境 mysql ...
- (windows)一台电脑上安装两个Mysql服务
原文:https://my.oschina.net/u/1472917/blog/410732 最近需要在一台电脑上安装两个Mysql服务,需求稍微有些奇怪,但确实很必要.本人原本为了本机测试Word ...
- 在一台服务器上搭建多个网站的方法(Apache版)
Apache的配置文件一般放置在/etc/httpd/conf文件夹下,httpd.conf是它的主配置文件,在进行配置时可以将虚拟主机的配置文件单独配置,如取名为vhost.conf,然后再http ...
- 如何在同一台服务器上部署两个tomcat
因为测试的需要,有时我们必须在同一个服务器上部署两个tomcat,然后去做应用的部署,那么很多同学可能会觉得比较为难,找的资料也比较的不齐全,那么今天华华就来给大家讲讲如何部署2个tomcat,并能够 ...
- 如何在一台机器上安装两个MYSQL数据库
1.正常安装第一个mysql(安装步骤省略) 2.在控制面板里停止第一个mysql服务 3.将C:\Program Files\MySQL目录下的所有目录和文件copy到另外一个路径,我这里是copy ...
- 在一台服务器上搭建多个项目的SVN
需求:一台机子,多个项目,项目之间用户独立不可以相互访问文件 思路:在机子上设置多个代码仓库,用不同的端口号加一区分 实现: 首先安装SVN,我这里使用的是TortoiseSVN 首先创建多个SVN代 ...
- mysql同一台服务器上不同数据库中个别表内容同步
>>>>>>soft_wsx>>>>>>--数据备份与还原>>同步备用服务器--1.完全备份主数据库--2.使用带S ...
- 在一台服务器上搭建相对高可用HiveServer实践
本文来自网易云社区 作者:刘杰 问题及原因 组里之前搭建了一个hiveserver提供给猛犸上的ETL程序调用,hiveserver隔三差五地挂掉重启,网上查了些资料,也咨询了猛犸那边维护hivese ...
- 如何在同一台机器上安装多个MySQL的实例
转自:'http://www.cnblogs.com/shangzekai/p/4375271.html 最近由于工作的需要,需要在同一台机器上搭建两个MySQL的实例,(注:已经存在了一个3306的 ...
随机推荐
- Jmeter(4)断言
Jmeter添加断言,检查测试中得到的响应数据是否符合预期.以下介绍下响应断言,JSON断言 一.响应断言 1.创建测试计划: 添加线程组->添加取样器->添加察看结果树,运行后可查看接口 ...
- 面试 11-01.ES6:模块化的使用和编译环境
11-01.ES6:模块化的使用和编译环境 #前言 #ES6的主要内容 模块化的使用和编译环境 Class与JS构造函数的区别 Promise的用法 ES6其他常用功能 本文来讲"模块化的使 ...
- Linux课程知识点总结(一)
Linux课程知识点总结(一) 一.Linux系统的简介 1.1 什么是Linux Linux是一个免费的多用户.多任务的操作系统,其运行方式.功能和Unix系统很相似,但Linux系统的稳定性.安全 ...
- Python进阶——为什么GIL让多线程变得如此鸡肋?
本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理 做 Python 开发时,想必你肯定听过 GIL,它经常被 Python 程序员吐槽,说 Pytho ...
- Python循环语句代码详解:while、for、break
1 while循环 循环语句是程序设计中常用的语句之一.任何编程语言都有while循环,Python也不例外.while循环的格式如下所示. while(表达式): - else: ...
- python k-means聚类实例
port sys reload(sys) sys.setdefaultencoding('utf-8') import matplotlib.pyplot as plt import numpy as ...
- 【k8s实战一】Jenkins 部署应用到 Kubernetes
[k8s实战一]Jenkins 部署应用到 Kubernetes 01 本文主旨 目标是演示整个Jenkins从源码构建镜像到部署镜像到Kubernetes集群过程. 为了简化流程与容易重现文中效果, ...
- MQTT协议 局域网和广域网 云服务器和虚拟主机、VPS SSH和FTP、SFTP
MQTT协议 MQTT协议就很好的解决了coap存在的问题.MQTT协议是由IBM开发的即时通讯协议,相比来说比较适合物联网场景的通讯协议.MQTT协议采用发布/订阅模式,所有的物联网终端都通过TC ...
- .net MVC 微信公众号 获取 access_token
官方文档说明:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140183&token=&lang=zh_ ...
- 什么是ZooKeeper?ZooKeeper分布式事务详解
前言 上一章我们了解了zookeeper到底是什么,这一章重点来看zookeeper当初到底面临什么问题? 而zookeeper又是如何解决这些问题的? 实际上zookeeper主要就是解决分布式环境 ...