欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

Mysql的主从服务器架构配置

程序员文章站 2022-03-25 20:09:54
...
所谓主从Mysql服务器架构,就是在主服务器上的操作同时也拷贝一份到从服务器上来。
接下来我使用两台机器做一下这个过程,
复制的作用:
1.数据分部
2.实现读的负载均衡
3.备份(本身不能备份,但是能提供一个备份机)
4.高可用和故障转移的能力
5.测试Mysql的升级
复制的类型:
a.基于语句的复制
b.基于行的复制
c.混合型的复制(a和b的结合)
服务器的地址规划
主服务器IP:192.168.1.108
从服务器IP:192.168.1.110
实验拓扑结构:
master_mysql-----------------client_mysql
1.安装Mysql
#mkdir -vp /mydata/data
#groupadd -g 3306 mysql
#useradd -g mysql -s /sbin/nologin -M -u 3306 mysql
#chown -R mysql:mysql /www/mydata/
# tar x mysql-5.5.15-linux2.6-i686.tar.gz -C /usr/local
#ln -vs /usr/local/mysql-5.5.15-linux2.6-i686 /usr/local/mysql
#cd /usr/local/mysql
#chown -R mysql:mysql .
#scripts/mysql_install_db --user=mysql --datadir=/mydata/data
#chown -R root .
#cp support-files/mysql.server /etc/init.d/mysqld
#chkconfig --add mysqld
#cp support-files/my-large.cnf /etc/my.cnf
#vim /etc/my.cnf
添加:datadir=/mydata/data
service mysqld start
指定mysql二进制的文件:
#export PATH=$PATH:/usr/local/mysql/bin(临时)
#vim /etc/profile
添加PATH=$PATH:/usr/local/mysql/bin也行(永久)
指定lib文件
#vim /etc/ld.so.conf.d/mysql.conf
添加: /usr/local/mysql/lib
ldconfig 同步一下
#ldconfig -v | grep mysql
头文件:
#ln -sv /usr/local/mysql/include /usr/include/mysql
帮助信息:
#vim /etc/man.config
添加: MANPATH /usr/local/mysql/man
这下配置需要在两个服务器上都需要进行配置的
2.接下来开始真正的主从mysql服务器的配置了
主服务器的配置如下
#vim /etc/my.cnf 添加如下信息
log-bin=mysql-bin
log-bin-index=mysql-bin.index
binlog-format=maxed
server id = 1
修改完成后保存,重启Mysql
#service mysqld restart
然后登录到Mysql对192.168.1.110主机授权
#mysql
mysql> GRANT REPLICATION CLIENT,REPLICATION SLAVE ON *.* TO repl@'192.168.1.110'IDENTIFIED BY 'redhat';
mysql> FLUSH PRIVILEGES;
3.从文件配置
#vim /etc/my.cnf
注释掉log-bin=mysql-bin,binlog-format=maxed
添加relay-log=relay-bin.index,relay-log=relay-bin,replicate-ignore-db =mysql
修改server-id = 2
保存配置文件后重新启动Mysql
#service mysqld restart
#mysql
mysql> CHANGE MASTER TO MASTER_HOST='192.168.1.108',MASTER_USER='repl',MASTER_PASSWORD='redhat';
mysql> START SLAVE;
mysql> SHOW SLAVE STATUS\G;查看从服务器的运行状态
如果出现如下信息,可以确定信息已经从主服务器上复制到了从服务器

mysql> SHOW DATABASES;
+--------------------+
| Database |
+--------------------+
| information_schema |
| luowei |
| mysql |
| performance_schema |
| test |
+--------------------+
mysql> SELECT * FROM st;
+----+------+
| ID | Name |
+----+------+
| 1 | a |
| 2 | b |
| 3 | c |
| 5 | E |
+----+------+
这个时候主从服务器上的数据库就同步了,实验成功!!

相关标签: Mysql