Linux下安装Mysql多实例作为数据备份服务器实现多主到一从多实例的备份

294 查看

1、从MYSQL官方下载MYSQL的源码版本【一定要是源码版本】
2、按以下代码键入LINUX命令行
复制代码 代码如下:

[注] 添加mysql组和用户
#groupadd mysql
#useradd -g mysql mysql
[注] 解包到/usr/local
# tar -xzf mysql-standard-4.1.9-pc-linux-gnu-i686.tar.gz -C /usr/local
[注] 建立软链接,方便操作(此处给此连接命名为mysql001,也可为其它的名字)
#cd /usr/local
#ln -s mysql-standard-5.0.15-linux-i686-glibc23 mysql001
#cd mysql001
#scripts/mysql_install_db
#chown -R root .
#chown -R mysql data
#chgrp -R mysql .
[注] 复制data,以供单版本多实例分配
#cp -a data data_1
#cp -a data data_2
[注] 添加多实例配置文件
#cd /usr/local/mysql001/bin
#cat >my_multi.cnf
[注] 以下是my_multi.cnf的配置信息,可依此复制
[mysqld_multi]
mysqld = /usr/local/mysql001/bin/mysqld_safe
mysqladmin = /usr/local/mysql001/bin/mysqladmin
user = root
password = root
[mysqld1]
socket = /tmp/mysql_001.sock
port = 3301
pid-file = /usr/local/mysql001/data_1/hostname.pid
datadir = /usr/local/mysql001/data_1
log = /usr/local/mysql001/data_1/hostname.log
user = mysql
# slave setting
server-id = 2
master-host = 192.168.1.85
master-port = 3306
master-user = backup
master-password = 123456
replicate-do-db = gs_database
replicate-do-db = gs_log
master-connect-retry=30
[mysqld2]
socket = /tmp/mysql_5_2.sock
port = 3302
pid-file = /usr/local/mysql001/data_2/hostname.pid
datadir = /usr/local/mysql001/data_2
log = /usr/local/mysql001/data_2/hostname.log
user = mysql
# slave setting
server-id = 3
master-host = 192.168.1.69
master-port = 3306
master-user = backup
master-password = 123
replicate-do-db = gs_databaes
replicate-do-db = gs_log
master-connect-retry=30

CTRL+D退出。
复制代码 代码如下:

#vi /etc/profile # 添加系统环境变量。
export MYSQL_HOME=/usr/local/mysql001/bin
export PATH=$PATH:$MYSQL_HOME

重启系统让环境变量生效。
添加至开机自动启动【此处可不添加,依个人情况决定是否需要设置开机自动启动】
复制代码 代码如下:

vi /etc/rc.local
# 添加
mysqld_multi --defaults-extra-file=/usr/local/src/mysql_dir/bin/my_multi.cnf start 1,2

3、其它一些技巧
# 访问某个实例:
mysql -u root -S /tmp/mysql_5_1.sock -p

# 设置各个实例密码:
mysqladmin -u root password 'root' -S /tmp/mysql_5_1.sock

# 手动启动各个实例:
mysqld_multi --defaults-extra-file=/usr/local/src/mysql_dir/bin/my_multi.cnf start 1,2

# 停止各个实例:
mysqld_multi --defaults-extra-file=/usr/local/src/mysql_dir/bin/my_multi.cnf stop 1,2

# 参考文章
http://blog.liuts.com/post/13/

由于第一次接触LINUX,花了三天时间才算有所成就,发出来希望可以给大伙带来方便