常见的分布式存储有:MySQL、Oracle、HDFS
1、输入 yum -y remove mariadb-libs-1:5.5.44-2.el7.centos.x86_64 解决兼容问题
2、下载三个包
链接: https://pan.baidu.com/s/1xBqteubB6Q8rrb-kF-blBg 密码: 6q43
3、移植到centos的/usr/local/路径下
4、直接安装
[root@node01 local]# rpm -ivh MySQL-server-5.5.58-1.el7.x86_64.rpm MySQL-client-5.5.58-1.el7.x86_64.rpm MySQL-devel-5.5.58-1.el7.x86_64.rpm
5、启动服务
[root@node01 local]# service mysql start
6、设置开机自启动
[root@node01 local]# chkconfig mysql on
7、设置mysql密码
[root@node01 local]# mysqladmin -uroot password admin
8、登录
[root@node01 local]# mysql -uroot -padmin
查看此时的定时任务:
[root@node01 local]# crontab -l
no crontab for root
每分钟同步文件:
[root@node01 local]# crontab -e
* * * * * cp /etc/profile /home/profile.bak
*代表的顺序是:分 时 日 月 周
2-6表示:2 3 4 5 6
删除定时任务
[root@node01 local]# crontab -l
直接关机、叉掉、复制虚拟机
SQLyog也有mysql的日志信息
Master将改变记录到二进制日志(binary log)中
Slave将Master的二进制日志事件(binary log events)拷贝到它的中继日志(relay log)
Slave重做中继日志(relay log)中的事件,将Master上的改变反映到它自己的数据库中
这些都是由从库在做,所以是异步的数据同步
必须检查防火墙是否已经关闭,若开启状态,先关闭
[root@node01 local]# systemctl status firewalld.service
第一台机器:
1、复制mysql配置文件模板到/etc/my.cnf
[root@node01 local]# cp /usr/share/mysql/my-medium.cnf /etc/my.cnf
2、重启mysql
[root@node01 local]# service mysql restart
3、可以查询到第一台机器,id是1
mysql> show variables like "server_id";
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| server_id | 1 |
+---------------+-------+
1 row in set (0.01 sec)
第二台机器:
1、复制mysql配置文件模板到/etc/my.cnf
[root@node02 local]# cp /usr/share/mysql/my-medium.cnf /etc/my.cnf
2、修改server-id=2
[root@node02 local]# vi /etc/my.conf
server-id = 2
3、重启mysql
[root@node02 local]# service mysql restart
4、可以查询到第二台机器,id是2
mysql> show variables like "server_id";
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| server_id | 2 |
+---------------+-------+
1 row in set (0.01 sec)
第一台机器:
MySQL里查看主库的日志文件信息
mysql> show master status;
第二台机器:
slave节点mysql输入一下内容,IP库是主库IP,日志文件信息,要跟第一台信息对应,即把下面SQL语句复制粘贴执行
change master to
master_host=‘192.168.190.130‘,
master_user=‘root‘,
master_password=‘admin‘,
master_log_file=‘mysql-bin.000001‘,
master_log_pos=107;
启动从服务
mysql> start slave;
查看从服务信息
mysql> show slave status\G
第一台机器:
执行授权,两边都授权刷新一下
mysql> grant all privileges on *.* to ‘root‘@‘%‘ identified by ‘admin‘ with grant option;
刷新设置
mysql> flush privileges;
测试:第一台机器建个库,第二台机器也存在
双主互备就是要保持两个数据库的状态自动同步,对任何一个数据库的操作都自动应用到另外一个数据库,始终保持两个数据库数据一致,这样做的意义是既提高了数据库的容灾性,又可以做负载均衡,可以将请求分摊到其中任何一台上,提高网站吞吐量
第二台机器:
查看日志信息
mysql> show master status;
第一台机器:
在master输入一下内容,IP是第二台机器
change master to
master_host=‘192.168.190.130‘,
master_user=‘root‘,
master_password=‘admin‘,
master_log_file=‘mysql-bin.000001‘,
master_log_pos=419;
启动从服务
mysql> start slave;
测试:第二台建个库,第一台也同步
原文:https://www.cnblogs.com/ghh520/p/13215823.html