首页 > 数据库技术 > 详细

数据库--一主多从

时间:2018-11-26 23:05:38      阅读:222      评论:0      收藏:0      [点我收藏+]
多实列及其一主多从

创建存放数据库信息的目录

[root@db200 ~]# mkdir /data/330{7..9} –p

创建存放配置文件的文件

[root@db01 ~]# touch /data/330{7..9}/my.cnf

编辑3307配置文件

[root@db01 ~]# vim /data/3307/my.cnf 
[mysqld] 
basedir=/application/mysql 
datadir=/data/3307/data 
socket=/data/3307/mysql.sock 
log_error=/data/3307/mysql.log 
log-bin=/data/3307/mysql-bin 
server_id=7 
port=3307 
[client] 
socket=/data/3307/mysql.sock   //指定了3307数据库的sock的文件

编辑3308配置文件

[root@db01 ~]# vim /data/3307/my.cnf 
[mysqld] 
basedir=/application/mysql 
datadir=/data/3308/data 
socket=/data/3308/mysql.sock 
log_error=/data/3308/mysql.log 
log-bin=/data/3308/mysql-bin 
server_id=8 
port=3308 
[client] 
socket=/data/3308/mysql.sock

编辑3309配置文件

[root@db01 ~]# vim /data/3309/my.cnf 
[mysqld] 
basedir=/application/mysql 
datadir=/data/3309/data 
socket=/data/3309/mysql.sock 
log_error=/data/3309/mysql.log 
log-bin=/data/3309/mysql-bin 
server_id=9 
port=3309 
[client] 
socket=/data/3309/mysql.sock

初始化3307数据库

[root@db01 ~]#/application/mysql/scripts/mysql_install_db \ 
--user=mysql \ 
--defaults-file=/data/3307/my.cnf \ 
--basedir=/application/mysql --datadir=/data/3307/data

初始化3308数据库

[root@db01 ~]#/application/mysql/scripts/mysql_install_db \ 
--user=mysql \ 
--defaults-file=/data/3308/my.cnf \ 
--basedir=/application/mysql --datadir=/data/3308/data

初始化3309数据库

[root@db01 ~]#/application/mysql/scripts/mysql_install_db \ 
--user=mysql \ 
--defaults-file=/data/3309/my.cnf \ 
--basedir=/application/mysql --datadir=/data/3309/data

修改权限

[root@db01]# chown -R mysql.mysql /data/330* 

启动实列

[root@db01]# mysqld_safe --defaults-file=/data/3307/my.cnf & 
[root@db01]# mysqld_safe --defaults-file=/data/3308/my.cnf & 
[root@db01]# mysqld_safe --defaults-file=/data/3309/my.cnf &

登陆数据库

    [root@db01]# mysql -S /data/3307/mysql.sock -e "show variables like ‘server_id‘"
    [root@db01]# mysql -S /data/3308/mysql.sock -e "show variables like ‘server_id‘"
    [root@db01]# mysql -S /data/3309/mysql.sock -e "show variables like ‘server_id‘"

以上实列配置(一主多从)

以3307做为主库

[root@db01]# mysql -S /data/3307/mysql.sock -e "show variables like ‘server_id‘" //登陆主库

数据库的主库的授权

grant replication slave on *.* to slave@‘localhost‘ identified by ‘123‘;

查看数据库的状态

mysql> show master status;

要提取出file值和position值从库使用。

导出主库的内容
mysqldump -uroot -p3307 -S /data/3307/mysql.sock -A >/root/3307.sql

从库的配置 (3308和3309做为从库)

导入主库的内容,主从库的内容实现高度一致

mysql -uroot -p3308 -S /data/3308/mysql.sock </root/3307.sql

登陆从库

mysql -S /data/3308/mysql.sock -e "show variables like ‘server_id‘"

从库的设置

mysql> change master to
    -> master_host=‘localhost‘,
    -> master_port=3307,
    -> master_user=‘slave‘,
    -> master_password=‘123‘,
    -> master_log_file=‘mysql-bin.000008‘,  // 一定要和主库的授权表信息表示一致
-> master_log_pos=521;                 // 一定要和主库的授权表信息表示一致

状态值查看

mysql> start slave;
mysql> show slave status\G;

主从配置成功

导入主库的内容,主从库的内容实现高度一致

mysql -uroot -p3309 -S /data/3309/mysql.sock </root/3307.sql

登陆从库

mysql -S /data/3309/mysql.sock -e "show variables like ‘server_id‘"

从库的设置

mysql> change master to
    -> master_host=‘localhost‘,
    -> master_port=3307,
    -> master_user=‘slave‘,
    -> master_password=‘123‘,
    -> master_log_file=‘mysql-bin.000008‘,  // 一定要和主库的授权表信息表示一致
-> master_log_pos=521;                 // 一定要和主库的授权表信息表示一致

状态值查看

mysql> start slave;
mysql> show slave status\G;

主从配置成功技术分享图片

数据库--一主多从

原文:http://blog.51cto.com/14083743/2322284

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!