主从数据库原理:
...
1.mysql资源的下载省略不说了
2.搭建主机
2.1 vim /etc/my.cnf
server-id=1(要求全局唯一即可)
read-only=0(0代表可读可写)
2.2 systemctl restart mysqld (重新启动mysql服务)
2.3 mysql -uroot -p (进入mysql,执行sql语句)
如果是第一次进入mysql,需要找到临时密码
grep "password" /var/log/mysqld.log
(grep搜索并打印输出)
得到临时密码后进入,必须先修改密码,否则执行其他命令将会报错
ALTER USER USER() IDENTIFIED BY 'Mysql.123456';
2.4 创建用于远程链接的用户
CREATE USER 'itcast'@'%' IDENTIFIED WITH mysql_native_password BY 'Root@123456' ;
给刚刚创建好的用户分配权限
GRANT REPLICATION SLAVE ON *.* TO 'itcast'@'%';
(就关于用户名为什么要这么写'itcast'@'%',)
('itcast是一个普通用户名,'%'是一个通配符,代表任何主机都可以链接此用户')
2.5 查看二进制文件位置
show master status;
3.搭建从机
3.1 vim /etc/my.cnf
server-id=2(要求全局唯一即可)
read-only=1(1代表只可读)
3.2 systemctl restart mysqld (重新启动mysql服务)
3.3 mysql -uroot -p (进入mysql,执行sql语句)
获取临时密码同上
此时主机和从机还没有关系,所以还需要进行链接操作
3.4执行sql语句
CHANGE REPLICATION SOURCE TO SOURCE_HOST='主机的ip地址', SOURCE_USER='用户名',SOURCE_PASSWORD='密码',SOURCE_LOG_FILE='文件 名',SOURCE_LOG_POS=数;
3.5开启同步操作
start replica
3.6检查同步状态
show replica status\G
两个都为yes代表成功
4.测试
(自由发挥)
在主机处创建一个新库,再看从库这边有反应没。。。
(如有错误,请多指教)