首页 > 代码库 > Windows下MySQL多实例安装/主从复制/重置密码
Windows下MySQL多实例安装/主从复制/重置密码
Windows创建MySQL多实例
安装MYSQL和实例1
- 运行mysql-installer-community-5.7.16.0.msi
- 选择组件
- MySQL Server 5.7.16 – X64
- MySQL Utilities 1.6.4 – X64
- MySQL Workbench 6.3.7 – X64
- 执行安装
- 配置端口3306
- Windows Service Name设置为MYSQL
复制实例
- 将C:\ProgramData\MySQL\MySQL拷贝为MYSQL1和MYSQL2文件夹
- 修改各文件夹中的my.ini
- 配置my.ini的端口号MYSQL1为3306、MYSQL2为3307
- 配置my.ini中的路径为MYSQL1和MYSQL2对应路径
- 创建服务
- mysqld -install mysql1 --defaults-file="C:\ProgramData\MySQL\MySQL1\my.ini"
- mysqld -install mysql2 --defaults-file="C:\ProgramData\MySQL\MySQL2\my.ini"
- 启动服务
- net start mysql1
- net start mysql2
MySQL Master/Slave配置
主从机上使用相同的usr账户和密码并同时赋予REPLICATION SLAVE和REPLICATION CLIENT权限,前者用于数据同步,后者用于监视SLAVE同步状况:
GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO usr@‘192.168.0.%‘ IDENTIFIED BY ‘pwd‘;
将主服务器数据dump/export,然后在从数据中import/restore。如果使用Workbench的export和import功能注意import的时候存储过程和方法因为不包含任何Scheme操作或被忽略,需要手动执行对应sql文件以进行创建。
然后执行同步:
C:\Program Files\MySQL\MySQL Server\bin>mysqlreplicate --master=usr:pwd@192.168.0.1 --slave=user:pwd@192.168.0.2 --rpl-user=usr:pwd
错误及解决办法
- ERROR: The slave’s server_id is the same as the master.
将主服务器的my.ini配置中Server_id=1修改Server_id=2
- ERROR: Master must have binary logging turned on.
在从服务器的my.ini配置中启用二进制日志
# Binary Logging.
# log-bin
log-bin=mysql-bin
- ERROR: The slave’s UUID is the same as the master.
在从服务器数据文件夹Data中修改auto.cnf文件中的server-uuid
[auto]
server-uuid=b1a3dd23-edc7-11e6-81b8-480fcf275eaf
MySQL忘记root密码
- 在my.ini配置文件[mysqld]下增加skip-grant-tables并重启MySQL服务
- 执行如下sql
use mysql;
update MySQL.user set authentication_string=password(‘rootpassword‘) where user=‘root‘ ;
- 将my.ini配置文件中的skip-grant-tables注释或删除并重启MySQL服务
Windows下MySQL多实例安装/主从复制/重置密码