MYSQL——1.主从搭建
-
环境准备
- 确保2台服务器已安装相同版本的mysql
- 我这里用一个台式机,一个笔记本做两台服务器,配置皆为5.7.36mysql,centos7.4
-
主机配置
-
主库设置一个复制使用的账户,并授予REPLICATION SLAVE权限。这里创建一个复制用户repl,可以从IP为192.168.3.71(从库)的主机进行连接:
- GRANT REPLICATION SLAVE ON . To '用户名'@'从库ip IDENTIFIED BY '密码';
-
修改配置文件
[mysqld] log-bin=/自己设置的路径/mysql-bin.log # 我这里是放在了/opt/mysql/data/log/mysql-bin.log 配置文件在/etc/my.cnf server-id= 1 -
得到主库上当前的二进制日志名和偏移量值。这个操作的目的是为了在从数据库启动以后,从这个点开始进行数据的恢复
show master status;
-
-
从库配置
-
配置从库my.cnf 修改server-id参数与主库不相同,我这里改成2
-
从库使用 --skip-slave-start选项启动从库,这样不会立即启动从数据库服务上的复制进程,方便对从数据库的服务进行进一步的配置:
./bin/mysqld_safe --defaults-file=/etc/my.cnf --skip-slave-start 另外一种方式 /etc/init.d/mysqld start --skip-slave-start -
对从数据库服务器做相应设置,指定复制使用的用户,主数据库服务器的IP、端口 以及开始执行复制的日志文件和位置等
mysql>change master to master_host='主机ip',master_user='用户名',master_password='用户密码',master_port='3306',master_log_file='mysql-bin.000007',master_log_pos=453; # pos后边没引号 -
检查从服务器复制功能状态 slave_io_running 和 slave_sql_running都必须是yes \G后边无分号
-