最近遇到的一个项目就是要求做mysql的分布式设计,之前弄过,但是这次弄的稍微深入点。mysql分布式的内容还是比较的多,所以就想
最近遇到的一个项目就是要求做mysql的分布式设计,之前弄过,但是这次弄的稍微深入点。mysql分布式的内容还是比较的多,所以就想写点东西给自己备份下,忘记了还能回头看看。
我下载的zip版本mysql,安装起来还是蛮方便的。安装步骤如下:
1、解压缩mysql-noinstall-5.0.37-win32.zip到一个目录,加入解压缩到e:\mysql目录。
2、编写mysql的运行配置文件my.ini
my.ini
-----------------------------
[winmysqladmin]
# 指定mysql服务启动启动的文件
server=e:\\mysql\\master\\bin\\mysqld-nt.exe
[mysqld]
# 设置mysql的安装目录
basedir=e:\\mysql\\master
# 设置mysql数据库的数据的存放目录,必须是data,或者是\\xxx\data
datadir=e:\\mysql\\master\\data
# 设置mysql服务器的字符集
default-character-set=gbk
[client]
# 设置mysql客户端的字符集
default-character-set=gbk
-----------------------------
3、安装mysql服务
从ms-dos窗口进入目录e:\mysql\master\bin,运行如下命令:
mysqld --install master--defaults-file= e:\master\my.ini
4、启动mysql 的master数据库
还在上面的命令窗口里面,输入命令:net start master
这样就启动了mysql的master服务。
这个是安装的主mysql,安装从mysql只需把master这个文件夹复制一份,并且重新命名一下,比如slave1
然后开始安装
1、从ms-dos窗口进入目录e:\mysql\slave1\bin,运行如下命令:
mysqld --install slave1--defaults-file= e:\mysql\slave1\my.ini
2、
还在上面的命令窗口里面,输入命令:net start slave1
这样就启动了mysql的第一个从数据库slave1的服务。
最后你会看到regedit中的:
这里的mysql相当于master,mysql3相当于slave1
.
安装完成后开始配置数据库用户。因为要想让从数据库可以访问到主数据库,那么必须在主数据库中建立一个账号,从数据库用这个账号来登录主数据库。
建立账号可以用工具,我用的是navicat 8 for mysql。假如名字是slave,密码也是slave,主机%表示任何ip的主机都可以连接这个。
下面配置my.ini
如果你在下载的文件里没有找到my.ini,那么就把my-large.ini或者其他的几个中,,选择一个修改名字成为my.ini。
主:
log-bin = mysql-bin //日志文件名称,这个是必须的,因为从能同步到主就是靠日志,这个名字可以随便 binlog-ignore-db = mysql //不需要同步 从:
master-port = 3306 master-user = slave //从登录主的用户名 master-password = slave //从登录主的密码 我是在本机xp中坐的同步,所以ip是127.0.0.1,最好不要写localhost。主从中的同步的表,包括表结构必须是一样的。
这样配置就好了,有什么问题大家可以再讨论。