用mysql_multi 实现一台机器跑多台mysql

用mysql_multi 实现一台机器跑多台mysql

转自

http://lhflinux.blog.51cto.com/1961662/522869


公司是做游戏运营的,外面飘着好多组服务器,每组服务器都有相应的数据库,为了实现数据安全,采用主从机制进行备份,但是如果一对一的进行备份太浪费资源,所有主库向一个数据库进行主从又在安全性上没有保障,当这个库挂了,所有备份也就挂了。而且管理起来也想当的不妨便,所以选择使用mysql_multi 实现一台机器跑多台mysql,来解决。下面就简单介绍下具体过程。

一、规划

   1.数据库目录

     [root@localhost ~]# ll /data/mysql/
    drwxr-xr-x 4 mysql mysql 4096 03-22 17:33 data1
    drwxr-xr-x 4 mysql mysql 4096 03-22 17:33 data2

   2.所占用的端口

    date1 占用3306端口

    date2 占用3307端口

   3.数据库安装

     源码安装数据库(具体细节不再多说,没有区别)

二、安装好数据库后,编辑配置文件 /etc/my.cnf

[mysqld_multi]
mysqld = /mysql/bin/mysqld_safe # 按照你的实际情况来制定路径
mysqladmin = /mysql/bin/mysqladmin

[mysqld1]   #你的第一个mysql进程
port    = 3306  #所占用的端口
socket    = /tmp/mysql3306.sock  #指定mysql1的sock
pid-file = /data/mysql/data1/mysql3306.pid  #指定特定的pid文件
datadir = /data/mysql/data1  #数据存放路径
skip-name-resolve
log-bin = mysql-bin-3306
log_slave_updates
expire_logs_days = 7
log-error = /data/mysql/data1/mysql3306.err
log_slow_queries = mysql3306-slow.log
long_query_time = 3
query_cache_size = 64M
query_cache_limit = 2M
slave-net-timeout = 10

[mysqld2]
port    = 3307
socket    = /tmp/mysql3307.sock
pid-file = /data/mysql/data2/mysql3307.pid
datadir = /data/mysql/data2
skip-name-resolve
log-bin = mysql-bin-3307
log_slave_updates
expire_logs_days = 7
log-error = /data/mysql/data1/mysql3307.err
log_slow_queries = mysql3307-slow.log
long_query_time = 3
query_cache_size = 64M
query_cache_limit = 2M
slave-net-timeout = 10

#### 以上没有介绍到的参数自己可以网上搜下

编辑好之后保存推出。

三、初始数据库以及启动

   1.初始化数据库

    /mysql/bin/mysql_install_db --datadir=/data/mysql/data1 --user=mysql

    /mysql/bin/mysql_install_db --datadir=/data/mysql/data2 --user=mysql

    2.启动数据库

           mysqld_multi --config-file=/etc/my.cnf start 1
           mysqld_multi --config-file=/etc/my.cnf start 2

     3.查看端口

[root@localhost ~]# netstat -ntlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name   
tcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN      31964/mysqld        
tcp        0      0 0.0.0.0:3307                0.0.0.0:*                   LISTEN      32034/mysqld

###可以看到3306 3307已经启动

     4.修改密码

           mysqladmin -uroot  password "123456" -S /tmp/mysql3307.sock 
           mysqladmin -uroot  password "123456" -S /tmp/mysql3306.sock

   5。登录数据库

[root@localhost ~]# mysql -uroot -p -S /tmp/mysql3307.sock 
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 5.0.37-log Source distribution

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql>

 

以上的做法只是最基本的安装,至于优化等细节,还需要继续挖掘。。。。。。就到这里,上楼吃饭下班。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 适合毕业设计、课程设计作业。这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。 所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值