Linux部分
镜像虚拟机所遇到的问题以及解决方法
镜像虚拟机导致原虚拟机以及镜像虚拟机出现的网络的问题
解决方法:配置ifcfg-ens文件
如图,复制mac地址到ifcfg-ens33文件中,原因可能是因为mac地址和网卡冲突?,这里请注意红框部分
文件名随意,但是需要与您的NAME DEVICE相同 更推荐使用ens33
HWADDR 后填上您自己的mac地址
vim /etc/sysconfig/network-scripts/ifcfg-ens33
克隆后的虚拟机需要按照同样的方法进行更改 注意需要删除uuid,更改您的网关地址即 HWADDR
{
碎碎念:此处花括号内的可以省略不看 建议跳到网络状态部分
这里笔者踩了一个坑,误认为需要将uuid进行更改,但又拿不准到底需要改成什么,又不敢乱改,于是在网上找了tune2fs ,xfs_admin
等一堆工具来解决...结果还是无果
sudo yum install e2fsprogs
blkid
命令列出所有分区及其UUID和文件系统类型
sudo blkid
sudo yum install xfsprogs
然而修改uuid依旧报错,解决无果,就差格式化了2333
等等就不一一列举,当时心情蛮难绷的,然后实在受不了了,脑子一抽,索性直接把配置文件里的uuid删掉,然后把配置文件名改了回去 (这里笔者看网上的文章理解不到位,误以为需要把ens33改成其他的),结果居然ok了...
}
确认网络状态
service network restart
不敢相信,ping一下
还是不敢相信,主机再ping一下
斯国也
MySQL部分
主服务器配置
通过which mysql 找到MySQL可执行文件的路径
whereis mysql
命令来查看MySQL相关文件的路径,包括可执行文件、配置文件等
主节点需要做的工作就是创建用户并赋予权限,然后开启binlog日志。
启动mysql 并输入密码
mysql -uroot -p
首先创建给从服务器登录用的账号和密码
create user 'underling_user139'@'192.168.153.139' identified by 'Aa123456.';
赋予权限
grant replication slave on *.* to 'underling_user139'@'192.168.153.139' identified by 'Aa123456.';
修改mysql配置文件
vi /etc/my.cnf
log-bin=master-a-bin #日志文件名称
binlog-format=ROW #二进制日志格式,有row,statement,mixed三种类型,主从要一致
server-id=1 #要求各个服务器的这个id必须不一样
binlog-do-db=db_test #同步的数据库名称
重启主服务器mysql (注意:这步一定要有!)
service mysqld restart
在主服务器查看主服务器状态信息
show master status;
这里先暂时不动主服务器,file以及 position之后会用到
从服务器配置
从服务器需要做的工作就是配置同步日志,指定主节点的ip,端口,用户,密码等,然后启动从节点。
首先同样修改配置文件
vi /etc/my.cnf
log-bin=slave-a-bin
binlog-format=ROW
server-id=2
重启从服务器mysql
service mysqld restart
指定主服务器信息
change master to master_host='192.168.153.134',master_user='slave_user139',master_password='Aa123456.',master_log_file='master-a-bin.000001',master_log_pos=154;
注意:master_host 是主节点ip,master_user 和 master_password 是主节点创建给从节点的账号和密码,笔者由于之前的原因更换掉了账号,您可以改为您自己的,master_log_file 和master_log_pos 根据查看主服务器状态信息查询出来的File和Position值自行更换。即上面主服务器配置的最后一条
启动从节点
start slave;
查看从节点状态
show slave status \G;
判断是否成功主要看 Slave_IO_Running 和 Slave_SQL_Running 是否都为YES。
注:正常情况都会为YES,可以看到我这里Slave_IO_Running为Connecting,原因是由于我的从节点是虚拟机克隆出来的,uuid会重复,修改uuid不一致即可。
cat /var/lib/mysql/auto.cnf
修改从服务器的uuid 修改和主服务器不一样即可
vi /var/lib/mysql/auto.cnf
测试
在主服务器中对sql进行操作
在从服务器中可以查到
完毕~如有问题,欢迎友好讨论