Linux 主从数据库
主从数据库
主数据库的内容同步传输到附属数据库
客户访问附属数据库
这样做保证了数据库的稳定性
需要两台虚拟机
两边个虚拟机都要操作
配置hosts文件
进入/etc/hosts追加输入
192.168.200.30 mysql1
192.168.200.40 mysql2
可以通过ping主机名来访问ip地址
yum install -y mariadb mariadb-server
systemctl start mariadb
初始化数据库
mysql_secure_installation
Disallow root login remotely 为no其他为yes
mysql1的配置文件
[mysqld]
log_bin=mysql-bin 这条语句确定主数据库
server_id=30 根据ip地址最后一位
mysql2从数据库
[mysqld]
server_id=40
配置文件最好在末行输入
两边个虚拟机都要操作
systemctl restart mariadb
mysql -uroot -p000000
mysql
在mysql1节点,授权在任何客户端机器上可以以root用户登录数据库,然后在主节点上创建一个user用户连接节点mysql2,并赋予从节点同步主接点数据的权限 #授权
创建用户接应
grant all privileges on *.* to root@'%' identified by '0000000';
Grant replication slave on *.* to 'user'@'mysql2' identified by'000000';
mysql2
change master to master_host='mysql1',master_user='user',master_password='000000';
start slave;
show slave status\G
报错点
Error 'Can't create database 'mqy_never_surrender'; database exists' on query. Default database: 'mqy_never_surrender'. Query: 'create database mqy_never_surrender'
解决方式
stop slave
SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
start slave
跳过密码
在[mysqld]下使用
skip-grant-tables