MariaDB主从安装配置
使用MariaDB做数据库实现主从配置
- MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区维护,完全兼容MySQL,包括API和命令行,可以作为MySQL的替代品
- 在存储引擎方面,使用XtraDB代替MySQL的InnoDB
邮件类型:
Linux 7修改IP地址
- 在网络适配器中生成MAC地址
- 进入编辑 /etc/sysconfig/network-scripts/ifcfg-eno16777736
- 修改HWADDR为MAC地址,修改IPADDR为IP地址
- 运行service network restart
- 进入 /etc/hostname修改hostname
- 运行hostname bhz34
安装MariaDB
配置本地yum源:
- cd /etc/yum.repos.d/
- 创建一个文件,以repo结尾:yum.repo
- 添加如下配置:
name=yum
enabled=1
baseurl=(url地址)
gpgcheck=0
systemctl stop mariadb 停止MariaDB服务
rpm -qa | grep mariadb 查询安装包
rpm -e mariadb-server
rpm -e mariadb
rpm -e --nodeps mariadb-libs
yum -y install mariadb mariadb-server
cp /usr/share/mysql/my-huge.cnf /etc/my.cnf
vim /etc/my.cnf
在[mysqld]后增加配置
lower_case_table_names=1
systemctl start mariadb
systemctl enable mariadb
systemctl status firewalld 查看防火墙状态
systemctl stop firewalld 停止防火墙
systemctl disable firewalld 设置开机不启用防火墙
- 配置MariaDB数据库,执行脚本: /usr/bin/mysql_secure_installation,然后根据提示操作
/usr/bin/mysql_secure_installation
MariaDB主从配置
server-id=2
systemctl restart mariadb
mysql -uroot -proot 登录MariaDB数据库
<mysql> GRANT REPLICATION SLAVE ON *.* TO 'slave'@'%' IDENTIFIED BY 'slave'; *.* - 所有权限 % - 任意地址
show master status;
mysql -uroot -proot 登录从节点的MariaDB数据库
<mysql> CHANGE MASTER TO MASTER_HOST='主节点IP',MASTER_USER='主节点授权用户',MASTER_PASSWORD='主节点授权用户密码',MASTER_LOG_FILE='主节点状态中的File',MASTER_LOG_POS='主节点状态中的Position';
show slave status\G;
mysql -uroot -proot 登录MariaDB数据库
<mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
<mysql> FLUSH PRIVILEGES;
注意点
- ==使用MySQL做主从数据库,不允许对从节点数据库进行修改==
解决方案
原因:
- 程序可能在slave上进行了写操作
- 可能是slave机器重启后,事务回滚造成的
- 事务回滚的解决办法:
<mysql> stop slave;
<mysql> set GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
<mysql> start slave;
<mysql> slave stop;
- 进入master服务器查看主机状态,记录File和Position对应的值
<mysql> show master status;
<mysql> CHANGE MASTER TO MASTER_HOST='主节点IP',MASTER_USER='主节点授权用户',MASTER_PASSWORD='主节点授权用户密码',MASTER_LOG_FILE='主节点状态中的File',MASTER_LOG_POS='主节点状态中的Position';
<mysql> start slave;