前期准备
1、安装与主库版本一致的从库,并确认主从数据库网络连接状态,确保从库可以连接到主库。
【测试方法】:在从库的服务器上使用mysql -u root -p 主库root密码 -h 主库ip -P 主库端口
命令看是否能登录主库。
2、如果主库已有数据库表及数据(主库暂无任何数据可跳过此步),先暂停主库的应用服务,确保无新数据进入,然后将数据库表结构及所有数据进行导出备份,并导入至安装好的从库中(在开启主从复制前,保证两个数据库中结构与数据一致)。
从库只能复制从第一次开启主从同步以后的数据!就算主库一开始就开启了二进制日志,在开启主从前的这段时间产生的数据,从库也是无法通过同步拿到的,只能手动导入这些数据!!
主库配置
修改my.cnf文件
在主库的my.cnf文件中添加如下配置
[mysqld]
#在[mysqld]中添加:
#服务器唯一标识
server-id=1
#启动MySQL二进制日志
log_bin=master-bin
#指定索引文件的位置。
log_bin_index=master-bin.index
#指定记录二进制日志的数据库,即需要复制的数据库名,如果复制多个数据库,重复设置这个选项即可。
binlog_do_db=test
添加后的配置文件如下:
[mysql]
#设置mysql客户端默认字符集
default-character-set=utf8mb4
[mysqld]
#服务器唯一标识
server-id=1
#启动MySQL二进制日志
log_bin=master-bin
#指定索引文件的位置。
log_bin_index=master-bin.index
#指定记录二进制日志的数据库,即需要复制的数据库名,如果复制多个数据库,重复设置这个选项即可。
binlog_do_db=test
init_connect='SET NAMES utf8'
wait_timeout=20000
thread_stack=262144
# 数据库忽略大小写 8.0打开这条启动会报错
# lower_case_table_names = 1
#设置3306端口