在高负载的情况下,独立 MySQL 服务器的负荷压力比较大,
这时候我们可以建立主从服务器(一个 master, 多个 slave),
让主服务器负责写操作,从服务器负责读请求,
也算是"负载均衡"吧.
具体配置:(由于PHP开发的需要,我选择了Windows)
1、正常安装 MySQL 服务器,假定我们选择的安装目录是 c:\mysql;并运行实例配置向导,进行偏向设定。
2、拷贝mysql安装为mysql_backup, 即:c:\mysql_backup;
3、卸载刚才进行的mysql安装(因为有windows注册表的缘故,如果没有卸载即不可以再次进行安装),并手动删除未卸载完全的mysql目录。
4、把mysql_backup从命名两次,即c:\mysql和c:\mysql2,他们就是我们要配置的主从服务器,当然可以设置更多的从服务器。现在它们的配置完全一样。
5、对于 mysql2目录,我们需要打开 my.ini 文件进行一些设置。
a:分别修改 basedir 和 datadir 为对应的目录(basedir="C:/mysql2/", datadir="C:/mysql2/Data/")
b:修改 [mysqld] section 下的监听端口 即 port=3307
现在两台 MySQL 服务器是可以分别运行的。
但是我们需要把它们加入 Windows 服务中,方便运行管理。
6、进入 两个mysql安装下的根目录下的 bin 目录,分别运行 : mysqld-nt install mysql, mysqld-nt install mysql2。这时它们应该都可以通过 Windows 服务启动和关闭。
7、修改 Windows 注册表, 让两个 mysqld 实例以正确的配置文件运行。运行: regedit打开注册表,
在 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\下找到 mysql和mysql2子节点。
修改下面的ImagePath数值,使之对应相应的 my.ini文件。
C:\mysql\bin\mysqld-nt --defaults-file="C:\mysql\my.ini" mysql
C:\mysql2\bin\mysqld-nt --defaults-file="C:\mysql2\my.ini" mysql2
现在 它们都可以正常以 Windows 服务的方式运行了。
然后就是建立 主从服务器了。
8、我们假定 mysql 为主服务器, mysql2 为从服务器。
修改 mysql my.ini: log-bin=logbin(注:这是建立异步复制的关键,主从服务器本质上就是通过二进制日志进行异步复制), 并在 [mysqld] 下添加:server-id=1
修改 mysql2 my.ini:在 [mysqld] 下添加:server-id=2
9、通过 命令行客户端 连接 mysql 主服务器,建立一个复制帐号:
grant replication slave on *.* to identified by 'panlicake';
10、restart 主服务器后,命令行客户端连接:show master status,记下 File 和 Position 字段,从服务器在连接主服务器时需要这两个参数。
11、命令行客户端连接mysql2后:
change master to
master_host='127.0.0.1',
master_user='panli',
master_password='19840208',
master_log_file='binlog.000001',
master_log_pos=305;
12、主从服务器设置完成,重起它们,并在 主服务器 上建立测试数据,看看 从服务器 是否有复制进来:)
阅读(1711) | 评论(0) | 转发(0) |