文档章节

CentOS 安装多个mysql实例

buglife
 buglife
发布于 2014/09/07 03:03
字数 964
阅读 239
收藏 3

在CentOS或者就一般Linux版本而言, 安装mysql通常会采用两种方式:

  1. 通过make install 编译source code

  2. 通过类似yum install mysql-server 或者 apt-get install mysql-server这样的系统commands

其实归根揭底都是一个目的,安装成功,能够使用。无非编译源码,需要手动配置一些文件而已。然而,一般情况下在安装完mysql后都会遇到以下两个问题,不过解决起来也很easy。

  • 远程登录服务端的mysql

    要远程登录mysql,必须为登录的用户授权.这样就需要先在服务端登录mysql,废话少说,还是直接用command说话,当然此处本人mysql用户名和密码:root/root

  • mysql -h127.0.0.1 -uroot -proot
  • grant all privileges on *.* to root@"%" identified by "password" with grant option;
    flush privileges;
  • 防火墙开着,第一个问题解决了依然访问不了。

  • 针对这个问题,最直接的方法就是

  • service iptables stop

    然而在某些情况下,这个不应该称之为解决方法。因为防火墙自由它的用途不能因为某一个程序的访问而关掉整个服务器的防火墙,岂不是要降低Server端的安全性,那就只开放需要的端口呗。通过vi/vim编辑器打开位于/etc/sysconfig下的iptables文件,编辑下添加以下内容保存即可

  • -A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 3306 -j ACCEPT
  • service iptables restart

    Ok,可以远程访问了。



到此,mysql算是安装完了。但是项目要求是多个mysql又穷的只有一台Server。怎么办?有人说技术不是问题,确实在某些情况下如此,世界如此之大,我等草民又怎么可能那么容易遇到一个前所未有的问题呢。办法如下两个:

  1. 采用了编译源码的人最可能选择的方法

    既然已经编译安装成功一个那就继续copy下source code folder,make install 完了后编辑mysql的配置文件my.cnf给指定个非3306的端口,再启动一个。看上去也很容易。what a pity!  时间是最可贵的,需要的实例越多,编译的越多,伤不起。还是看下下一个方法吧,懒人自由懒办法。

  2. 采用了懒办法,使用系统命令安装的人对应的办法

    首先找到mysql安装后位于/var/lib下的mysql文件夹。没错就是它,需要几个就复制几个,当然命名上还是规范点利于自己的配置。此处举一下几个例子

  3. cp -r /var/lib/mysql /var/lib/mysql3307
    cp -r /var/lib/mysql /var/lib/mysql3308

        这里不得不提醒需要授权给mysql以上两个新文件夹的权限

chown -E mysql mysql3307
chown -R mysql mysql3308

        

接下来去编辑位于/etc下的my.cnf

[mysqld_multi]
mysqld     = /usr/local/mysql/bin/mysqld_safe
mysqladmin = /usr/local/mysql/bin/mysqladmin
#user       = mysql

[mysqld1]
socket     = /var/lib/mysql/mysql.sock
port       = 3306
pid-file   = /var/lib/mysql/mysql.pid
datadir    = /var/lib/mysql
user       = mysql

[mysqld2]
socket     = /var/lib/mysql3307/mysql.sock
port       = 3307
pid-file   = /var/lib/mysql3307/mysql.pid
datadir    = /var/lib/mysql3307
user       = mysql

[mysqld3]
socket     = /var/lib/mysql3308/mysql.sock
port       = 3308
pid-file   = /var/lib/mysql3308/mysql.pid
datadir    = /var/lib/mysql3308
user       = mysql

配置结束,启动所有mysql

mysqld_multi start

检测是否都启动了

mysqld_multi report

结果

mysql is running
mysql3307 is running
mysql3308 is running

大功告成,如果远程无法访问,照着文章开始那样对应着做就可以了。

Help

若有疑问可微信扫描下列二维码并关注留言

© 著作权归作者所有

buglife

buglife

粉丝 81
博文 126
码字总数 44248
作品 4
浦东
架构师
私信 提问
加载中

评论(3)

buglife
buglife
mysqldump 导出完整的不包括表结构创建的insert语句
mysqldump -t --complete-insert -uroot -proot dbtest table1 >d:\test.sql
buglife
buglife

引用来自“黄勇”的评论

赞一个!期盼 mysql 分库分表的解决方案!
谢谢,会马上更新
黄勇
黄勇
赞一个!期盼 mysql 分库分表的解决方案!
MySQL多实例环境搭建和管理

MySQL的多实例有两种方式可以实现 第一种、使用多个配置文件启动不同的进程来实现多实例 这种方式的优势逻辑简单,配置简单,缺点是管理起来不太方便。 第二种、通过官方自带的mysqld_multi使...

jalyzjs
2017/03/22
0
0
Mysql之一台服务器上装多个mysql-yellowcong

在生产和学习的过程中,我们可能遇到只有一台物理机器,但是想安装多个实例在一个机器上,这样不仅充分利用了资源,而且也简化了自己的操作,通常我们的解决方案就是通过 ,让一台机器上,跑多...

yelllowcong
2018/01/19
0
0
CentOS下mysql多实例操作指南

Mysql工作中无处不在,无数次安装,优化,一直没有时间,整理进行归档,最近在做mysql的Dass服务,把最近遇到的问题,进行整理,梳理一份操作指南;供大家参考; 序言 Mysql多实例即一台服务...

wx5b1a94da546db
2018/06/08
0
0
软件集Software Collections

一、SCL 1、SCL是什么 SCL项目主页:https://www.softwarecollections.org/ SCL(Software Collections)可以让你在同一个操作系统上安装和使用多个版本的软件,而不会影响整个系统的安装包。 ...

xiexiaojun
2017/06/12
0
0
在 Ubuntu 上安装和配置 OpenStack Nova

OpenStack 是由 Rackspace 和 NASA 共同开发的云计算平台,帮助服务商和企业内部实现类似于 Amazon EC2 和 S3 的云基础架构服务(Infrastructure as a Service, IaaS)。OpenStack 包含两个主...

鉴客
2012/03/10
1K
0

没有更多内容

加载失败,请刷新页面

加载更多

Angular 英雄编辑器

应用程序现在有了基本的标题。 接下来你要创建一个新的组件来显示英雄信息并且把这个组件放到应用程序的外壳里去。 创建英雄组件 使用 Angular CLI 创建一个名为 heroes 的新组件。 ng gener...

honeymoose
今天
4
0
Kernel DMA

为什么会有DMA(直接内存访问)?我们知道通常情况下,内存数据跟外设之间的通信是通过cpu来传递的。cpu运行io指令将数据从内存拷贝到外设的io端口,或者从外设的io端口拷贝到内存。由于外设...

yepanl
今天
6
0
hive

一、hive的定义: Hive是一个SQL解析引擎,将SQL语句转译成MR Job,然后再在Hadoop平台上运行,达到快速开发的目的 Hive中的表是纯逻辑表,就只是表的定义,即表的元数据。本质就是Hadoop的目...

霉男纸
今天
3
0
二、Spring Cloud—Eureka(Greenwich.SR1)

注:本系列文章所用工具及版本如下:开发工具(IDEA 2018.3.5),Spring Boot(2.1.3.RELEASE),Spring Cloud(Greenwich.SR1),Maven(3.6.0),JDK(1.8) Eureka: Eureka是Netflix开发...

倪伟伟
昨天
13
0
eclipse常用插件

amaterasUML https://takezoe.github.io/amateras-update-site/ https://github.com/takezoe/amateras-modeler modelGoon https://www.cnblogs.com/aademeng/articles/6890266.html......

大头鬼_yc
昨天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部