全部博文(321)
分类: LINUX
2013-03-20 11:28:45
公司是做游戏运营的,外面飘着好多组服务器,每组服务器都有相应的数据库,为了实现数据安全,采用主从机制进行备份,但是如果一对一的进行备份太浪费资源,所有主库向一个数据库进行主从又在安全性上没有保障,当这个库挂了,所有备份也就挂了。而且管理起来也想当的不妨便,所以选择使用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>
以上的做法只是最基本的安装,至于优化等细节,还需要继续挖掘。。。。。。就到这里,上楼吃饭下班。
本文出自 “海风的linux之路” 博客,请务必保留此出处http://lhflinux.blog.51cto.com/1961662/522869
转自:http://lhflinux.blog.51cto.com/1961662/522869