mysql主从配置

回复 收藏
一台服务器启动多个mysql数据库
安装完mysql后
复制mysql数据库到当前路径并且重命名为mysql2
cp -r /usr/local/mysql  /usr/local/mysql2
切换路径到mysql2
cd /usr/local/mysql2
复制my.cnf文件到mysql2下
cp /etc/my.cnf  /usr/local/mysql2
编辑mysql2的my.cnf
vim  /usr/local/mysql2/my.cnf
更改内容:
[mysqld]
port            = 3307
socket          = /tmp/mysql2.sock
datadir         =/data/mysql2
初始化数据库mysql2
./scripts/mysql_install_db --user=mysql --datadir=/data/mysql2
为mysql2创建启动脚本
cp /etc/init.d/mysqld /etc/init.d/mysql2
vim /etc/init.d/mysql2
更改内容:
basedir=/usr/local/mysql2
datadir=/data/mysql2
conf=$basedir/my.cnf
启动数据库mysql2
/etc/init.d/mysql2 start
主从配置
A主,B从
登录方式:
mysql -S /tmp/mysql.sock    或者  mysql -h127.0.0.1 -p3306
mysql -S /tmp/mysql2.sock    或者  mysql -h127.0.0.1 -p3307
mysql
创建库:create database db1;
quit
复制一些数据到数据库:
mysqldump -S /tmp/mysql.sock mysql > 123.sql
mysql -S /tmp/mysql.sock db1 < 123.sql    把数据导入到数据库
查看数据
mysql
use db1;
show tables;
quit

编辑主mysql的my.cnf
vim  /etc/my.cnf
server-id     = 1
log-bin=yanglog
binlog-do-db=db1,db2    (选项)
binlog-ignore-db=mysql   (选项)
:wq
修改完毕配置文件重启数据库
/etc/init.d/mysqld restart
创建一个传输binlog的用户
mysql
grant replication slave on *.* to 'repl'@'127.0.0.1'  identified by '123123';   创建用户   
flush privileges;          刷新权限   
flush tables with read lock;      表的读权限锁死
show master status;          读一个数据
quit
从上操作:
修改配置文件:
vim /usr/local/mysql2/my.cnf
serverid      =  11
replicate-do-db=db1(选项)
replicate-ignore-db=db1(选项)
:wq
mysql -S /tmp/mysql2.sock -e "create database db1"  创建数据库
mysql -S /tmp/mysql2.sock db1 < 123.sql      导入数据
mysql -S /tmp/mysql2.sock   登录数据库
slave  stop;          停止库
change master to master_host='127.0.0.1', master_port=3306, master_user='repl', master_password='123123', master_log_file='yanglog.000001', master_log_pos=106;(指定主的信息)
slave start;  启动库
show slave status\G;            查看主从配置是否成功
slave stop        停止库
quit     退出
/etc/init.d/mysqld2 restart      重启数据库
mysql -S /tmp/mysql2.sock
show slave status\G;        查看主从配置是否成功

2016-08-12 23:43 举报
已邀请:

回复帖子,请先登录注册

退出全屏模式 全屏模式 回复
评分
可选评分理由: