1.导出数据备份
mysqldump -u root -p crm>c:\crm.sql
切换到mysql/bin目录下
但是报错:没有权限
解决方案:找到命令提示符右键选择以管理员身份运行即可
2.完全卸载mysql
- 从控制面板卸载mysql
- 删除mysql默认安装目录下的文件
- 删除 C:\Documents and Settings\All Users\MySQL文件
3.重新安装mysql
只需要注意选择字符集UTF-8,其余均是Next
停止mysql服务,复制 C:\Program Files\MySQL\MySQL Server 5.5 到 C:\MySQL2
修改mysql2/my.ini
修改第 53 行与第 70 行两处端口号改为 3307
修改 74 行:basedir="C:/MySQL2/"
修改 77 行:datadir="C:/MySQL2/Data/"
- 以 管 理员身份打开命令行窗口,否则没有创建服务权限
转到 C:\MySQL2\bin 目录下执行如下命令
mysqld install MySQL2 --defaults-file="C:\MySQL2\my.ini"
启动mysql和mysql2服务
重设mysql2的密码
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('root');
4.主从库搭建
- 确定主从库
把第一个端口为 3306 实例定为主库:Master
把第二个端口为 3307 实例定为从库:Slave
- 修改主库的ini文件
找到 67 行[mysqld]标签,增加如下两行内容,注意使用正斜杠/
log-bin= C:/Program Files/MySQL/MySQL Server 5.5/mysql-bin.log
server-id=1
- 修改从库的ini文件
找到 67 行[mysqld]标签,增加如下内容
server-id=2
重新启动mysql和mysql2
登录主库为从库赋权
GRANT REPLICATION SLAVE ON *.* TO 'root'@'localhost' IDENTIFIED BY 'root'
- 查询主库的状态,一定要记下查询结果File/Position
show master status
- 登录从库执行
change master to master_host='localhost',master_user='root',master_password='root',
master_log_file='主库查询出的File',master_log_pos=主库查询出的Position;
- 启动从库复制功能
start slave;
- 检查从库复制功能状态
show slave status
- 测试
要从主库插入数据,看从库是否更新数据.
不能向从库插入数据
5.mysql代理
- 在 C:\mysql-proxy\bin 下新建 mysql-proxy.conf 文件内容为并保存
[mysql-proxy]
proxy-address=127.0.0.1:4040
proxy-backend-addresses=localhost:3306
proxy-read-only-backend-addresses=localhost:3307
proxy-lua-script=rw-splitting.lua
- 修改环境变量
修改用 windows 用户环境变量在 path 后加 “;C:\mysql-proxy\bin;”
- 创建服务
sc create "MySQL Proxy" DisplayName= "MySQL Proxy" start= "auto" binPath="C:\mysql-proxy\bin\mysql-proxy-svc.exe"
注意:这句命令应当粘贴出来放在一行上,并且=后面要有一个空格
- 启动代理服务,启动不成功win7某些用户可能需要安装 vc++2008运行库
- 最终测试
在代理库中新插入数据,主库和从库都可以得到最新的结果,表明安装成功