设为首页 收藏本站
查看: 1043|回复: 0

[经验分享] 用mysql_multi 实现一台机器跑多台mysql

[复制链接]

尚未签到

发表于 2018-9-26 14:05:31 | 显示全部楼层 |阅读模式
  公司是做游戏运营的,外面飘着好多组服务器,每组服务器都有相应的数据库,为了实现数据安全,采用主从机制进行备份,但是如果一对一的进行备份太浪费资源,所有主库向一个数据库进行主从又在安全性上没有保障,当这个库挂了,所有备份也就挂了。而且管理起来也想当的不妨便,所以选择使用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>  Server version: 5.0.37-log Source distribution
  Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
  mysql>
  以上的做法只是最基本的安装,至于优化等细节,还需要继续挖掘。。。。。。就到这里,上楼吃饭下班。


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-602436-1-1.html 上篇帖子: 【MySQL】【压测】使用sysbench对MySQL进行压力测试 下篇帖子: MySQL数据库基础(一)——MySQL数据库简介
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表