安装环境
- 操作系统:Linux<RHEL-7.0>
- 服务器A:192.168.132.65(主)
- 服务器B:192.168.132.66(从)
前期准备
1、查看是否已安装MariaDB
命令:rpm -qa | grep mariadb
先停止服务:systemctl stop mariadb
卸载:
rpm -e mariadb-server
rpm -e mariadb
rpm -e --nodeps mariadb-libs
查看磁盘挂载情况:
开始安装
使用yum命令安装:yum -y install mariadb mariadb-server
出现如下信息则安装成功:
copy配置文件并覆盖:cp /usr/share/mysql/my-huge.cnf /etc/my.cnf
如果需要设置不区分表名的大小写,vim /etc/my.cnf 在 [mysqld] 后添加 lower_case_table_names=1,如下所示:
启动mariadb服务:systemctl start mariadb,systemctl命令实际上是由service和chkconfig命令组合而成,上述启动mariadb服务的命令等同于 service mariadb start。systemctl有个好处是可以很方便地设置开机启动/不启动服务,例如设置mariadb开机启动可以使用一条命令即可:systemctl enable mariadb,它内部应该是调用了 chkconfig --add 和 chkconfig --level。
接下来开始设置MariaDB数据库,执行脚本:/usr/bin/mysql_secure_installation
配置MariaDB主从
1、修改my.cnf配置文件,设置server-id
master节点不需要修改,默认为1
slave节点修改为2,并且重启slave节点:systemctl restart mariadb
2、在master节点上建立主从复制用户并授权
在master节点上登录mariadb:mysql -uroot -proot
建立用户及授权语法:
GRANT REPLICATION SLAVE ON *.*{所有权限} TO 'slave'@'%'{用户名为slave,%为任意地址} identified by 'slave';
查询master的状态,看是否配置成功,命令:show master status
3、在slave节点上指定master的信息和binlog文件
命令语法:
CHANGE MASTER TO
MASTER_HOST='master的IP',MASTER_USER='master授权的用户',MASTER_PASSWORD='master授权用户的密码',MASTER_LOG_FILE='master的binlog文件',MASTER_LOG_POS=binlog起始位置;
PS:注意语法逗号前后不要用空格
在slave节点登录mariadb:mysql -uroot -proot
执行命令:
CHANGE MASTER TO
MASTER_HOST='192.168.132.65',MASTER_USER='slave',MASTER_PASSWORD='slave',MASTER_LOG_FILE='mysql-bin.000016',MASTER_LOG_POS=1254;
执行成功之后需要重启slave,否则Slave_IO_Running和Slave_SQL_Running显示为No
重启:
重新查看slave状态,Slave_IO_Running和Slave_SQL_Running已变为Yes
命令:show slave status\G
至此MariaDB主从环境搭建完成。