一. 下载MySQL社区版本
官网下载:https://dev.mysql.com/downloads/mysql/
二. 安装MySQL8.0.26
安装前注意事项
因没有多个服务器,本示例在WIN10系统中,通过安装多个MySQL实例实现的,请注意;
如果以前安装过MySQL,安装前请将环境变量中MySQL历史变量删除掉(Path变量), 以免出现安装异常;
- Master端安装
1.1. 解压下载的安装包到master安装目录;
1.2. 在安装目录的根目录下创建my.ini文件, 文件内容如下:
[mysqld]
#主库和从库需要不一致
erver-id=12
log-bin=mysql-bin
#同步的数据库
binlog-do-db=apps
binlog-do-db=myprofile
#不需要同步的数据库
binlog-ignore-db=mysql
binlog-ignore-db = performance_schema
binlog-ignore-db = information_schema
# 设置3309端口
port=3309
server-id=12
log-bin=mysql-bin
#同步的数据库
binlog-do-db=apps
binlog-do-db=myprofile
#不需要同步的数据库
binlog-ignore-db=mysql
binlog-ignore-db = performance_schema
binlog-ignore-db = information_schema
# 设置3309端口
port=3309
# 设置mysql的安装目录
basedir=F:\opensource\mysql3309
# 设置mysql数据库的数据的存放目录
#datadir=F:\opensource\mysql3309\data
# 允许最大连接数
max_connections=200
# 允许连接失败的次数。
max_connect_errors=10
# 服务端使用的字符集默认为UTF8
character-set-server=utf8mb4
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
#mysql_native_password
default_authentication_plugin=mysql_native_password
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8mb4
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3309
default-character-set=utf8mb4
1.3 初始化MySQL安装目录
mysqld --defaults-file=F:\opensource\mysql3309\my.ini --initialize --console
并记下来临时密码:tHCmLTdd3)y.
1.4 安装MySQL服务
mysqld install MySQL --defaults-file="F:\opensource\mysql3309\my.ini"
1.5 启动MySQL服务
net start MySQL
1.6 登入MySQL服务(单机多实例时,端口要指定)
mysql -u root -p --protocol=tcp --host=localhost --port=3309
1.7 修改root账号的密码(临时密码见1.3节)
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的新密码';
mysql> flush privileges;
- Slave库安装
2.1 复制Master根目录下的my.ini文件到Slave根目录下, 修改其中的server-id, basedir;
2.2 初始化Slaved的MySQL目录;
mysqld --defaults-file="F:\opensource\mysql3308\my.ini" --initialize --console
临时密码:ghhLiu,w2s8m
2.3 安装MySQL服务
mysqld --install MySQL2 --defaults-file="F:\opensource\mysql3308\my.ini"
2.4 启动MySQL服务
net start MySQL2
2.5 登陆MySQL服务器
mysql -u root -p --protocol=tcp --host=localhost --port=3308
2.6 修改默认账户(root)密码
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的新密码';
mysql> flush privileges;
- 配置Master/Slave主从同步信息
3.1 Master服务器上新建同步账号repl_user;
3.1.1 创建用于同步数据的账号(Master服务器上)
mysql> CREATE USER 'repl_user'@'127.0.0.1' IDENTIFIED WITH mysql_native_password BY '20031999';
mysql> GRANT REPLICATION SLAVE ON *.* TO 'repl_user'@'127.0.0.1';
mysql> flush privileges; #刷新授权表信息
3.1.2 给同步账号赋予"同步角色"权限(REPLICATION CLIENT权限, REPLICATION SLAVE权限)
3.2 Master服务器上查看当前同步文件,及文件位置;
mysql> mysql -u root -p
mysql> show master status;
3.3 Slave服务器配置连接Master的信息
mysql> CHANGE MASTER TO MASTER_HOST='localhost', MASTER_USER='repl_user', MASTER_PASSWORD='20031999', MASTER_PORT=3309, MASTER_LOG_FILE='mysql-bin.000005', MASTER_LOG_POS=156;
3.4 Slave核实主从复制状态
#查看Slave_IO_Running, Slave_SQL_Running两个参数值为YES, 即说明配置成功了。
show slave status;
3.5 其他一些命令
暂停Slave命令: stop slave;
启动slave同步命令: start slave;
重置同步命令:reset slave/master;