mariadb是mysql的一个分支,须要进一步了解的参考:https://mariadb.org/html
安装参考教程:window版安装:Mariadb 介绍 1 (安装)mysql
linux版安装 :centos7 yum安装mysql | mariaDblinux
补充: mysql的主从复制(master-slave),我就以mariadb来进行演示了sql
MySQL之间数据复制的基础是二进制日志文件(binary log file)。一台MySQL数据库一旦启用二进制日志后,其做为master,它的数据库中全部操做都会以“事件”的方式记录在二进制日志中,其余数据库做为slave经过一个I/O线程与主服务器保持通讯,并监控master的二进制日志文件的变化,若是发现master二进制日志文件发生变化,则会把变化复制到本身的中继日志中,而后slave的一个SQL线程会把相关的“事件”执行到本身的数据库中,以此实现从数据库和主数据库的一致性,也就实现了主从复制。数据库
1> 准备两台服务器 centos
master 192.168.248,147 /linux (centos7)服务器
slave 192.168.248.148 /linux (centos7)ide
centos7 安装mariadb后,默认无密码登陆 1> mysql -uroot -p 回车 2> use mysql; 切换到mysql数据库 3> update user set password=password("自定义密码") where user='root'; 4> flush privileges; 刷新生效
2> 配置主服务器 (147 服务器)测试
1> 修改配置文件: [mysqld] log-bin=mysql-bin #开启二进制日志 server-id=1 #设置server-id
2> 重启mysql,建立用于同步的用户帐号 mysql> CREATE USER 'huhy'@'192.168.248.147' IDENTIFIED BY 'huhy';#建立用户 mysql> GRANT REPLICATION SLAVE ON *.* TO 'huhy'@'192.168.248.147';#分配权限 mysql>flush privileges; #刷新权限 3> 查看master状态,记录二进制文件名(mysql-bin.000001)和位置(569): SHOW MASTER STATUS;
从服务器配置: 1>my.cnf配置文件,添加server-id [mysqld] server-id=2 #设置server-id,必须惟一
2>重启mysql,打开mysql会话,执行同步SQL语句(须要主服务器主机名,登录凭据,二进制文件的名称和位置): CHANGE MASTER TO MASTER_HOST='192.168.248.147',MASTER_USER='huhy',MASTER_PASSWORD='huhy', MASTER_LOG_FILE='mysql-bin.000001',MASTER_LOG_POS=569;
3> 启动同步进程:
start slave; 【stop slave】
4> 查看slave状态:
show slave status\G;
注意:这个当其中两个都是yes的时候代码同步开启成功。 centos7
问题:这个可能会出现个问题, Slave_IO_Running: Connecting 链接问题: 以下:
产生这个问题的缘由是咱们建立的同步用户没法进行远程链接,从服务器没法链接到主服务器:
grant all privileges on *.* to huhy@'%'identified by 'huhy'; 受权后便可
flush privileges; 刷新权限
执行后便可完成同步
补充:能够再my.cnf中设置同步哪些数据库:
# 不一样步哪些数据库 binlog-ignore-db = mysql # 只同步哪些数据库,除此以外,其余不一样步 binlog-do-db = test
到这mysql的主从复制已经搞好了,有不理解的能够一块儿讨论