使用OpenStack私有云平台,创建两台云主机vm1和vm2,在这两台云主机上分别安装数据库服务,并配置成主从数据库,vm1节点为主库,vm2节点为从库(数据库密码设置为000000)。完成后提交数据库从节点vm2节点的用户名、密码和IP地址到答题框。
1.安装、启动 mariadb mariadb.server/初始化 mysql_secure_installation 修改密码后 yny
yum -y install mariadb mariadb-server
netstat -ntpl 查3360端口
2.修改配置文件vi /etc/my.cnf
db1(主服务器)
[mysqld]
log_bin=mysql_bin
server_id=101
db2
[mysqld]
server_id=102
##read-only=on //只读模式
##relay-log=relay-bin //开启日志
systemctl restart mariadb
3.主服务器授权
注释:
replication #表示授权复制的权限
*.* #表示所有数据库可以进行同步
repl #表示授权用户,可以随意填写
'172.25.66.%' #表示授权172.25.66/24的网段所有服务器可以同步, %表示任意
hym19970818HYM# #表示用户密码(我这里设定成root用户的密码是为了方便记忆)
###grant replication slave on *.* to 'user'@'%' identified by 'password';
mysql -uroot -p000000
grant all privileges on *.* to root@'%' identified by '000000';
grant replication slave on *.* to 'user'@'comp' identified by '000000';
flush privileges;
show master status;
4.从服务器配置链接到主服务器
change master to master_host='controller',master_user='user',master_password='000000',master_log_file='mysql_bin.000001',master_log_pos=783
(注意:如果次参数设定错误,想要重新复制,必须先执行:stop slave 再重新执行即可)
start slave;
show slave status\G
Relay_Master_Log_File: mysql_bin.000001
Slave_IO_Running: Connecting
Slave_SQL_Running: Yes
问题1:IO_Running NO
1.用户授权错误
2.防火墙未关闭
3.二进制日志未开启
问题2:SQL_Running
一般是回放数据不一致造成的
解决方法一(忽略错误,继续同步):
1、先停掉slave
mysql> stop slave;
2、跳过错误步数,后面步数可变
mysql> set global sql_slave_skip_counter=1;
3、再启动slave
mysql> start slave;
create database t1;
show databases;
drop database t1;