本人是一名软件工程大三的学生,由于电脑无法支持多台虚拟机的同时运载(主要是之前装第二个centos的时候电脑直接关机,重启之后重新配置虚拟机花了大量的时间),决定还是通过使用云服务器的方式来进行一些工具的部署,更加安全且高效。
在室友的推荐下,我找到了飞天加速计划,并且成功租到了人生的第一台云服务器ECS。并且使用Tabby进行远程连接(这个软件也是室友推荐的,在github上开源,并且界面十分优雅)
可以在下面进行名字的修改,重启后就能生效
然后就是开始进行操作了,这次的作业要求是实现数据库的主从复制,首先是在centos7上安装mysql
备份yum源配置文件
#mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
这里将官方的yum源换成阿里的yum源
#wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
#yum clean all
#yum makecache
删除Linux自带的数据库
执行以下命令确认是否安装mariadb
# rpm -qa|grep mariadb
出现以下提示表示已安装该数据库
mariadb-libs-5.5.52-1.el7.x86_64
如果数据库已安装,需要使用以下命令卸载该数据库
#yum remove mariadb-libs-5.5.52-1.el7.x86_64
安装mysql(在线安装)
# wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm
# yum localinstall mysql57-community-release-el7-8.noarch.rpm
# rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
# yum install mysql-community-server
# systemctl start mysqld
登录mysql(在线安装)
#grep 'temporary password' /var/log/mysqld.log
上面命令获得root的登录密码,下面使用该密码登录mysql
#mysql -uroot -p[密码]
如果密码mysql命令不能识别,可以在密码两端加上单引号
设置登录密码及远程访问授权
mysql>set global validate_password_policy=0;
mysql>set global validate_password_length =1;
mysql>set password for'root'@'localhost' =password('密码');
mysql>grant all privileges on *.* to root@'%'identified by '密码';
mysql>flush privileges;
配置完成以后,我尝试用navicat对数据库进行连接,却发现无法使用ip地址直接访问,只能通过ssh再进行本机访问
查看防火墙,发现防火墙都关着,上网找了好久,最后锁定了阿里云的安全组
在安全组上有一个快速添加
点开你就会发现,3306这个端口并没有被开放,你需要手动开放3306,才能让别的ip连接。
开启之后再次使用navicat连接,成功。
接下来就是配置另一个数据库,在通过一些配置文件的修改来完成组从复制了。
记得如果允许所有端口访问3306的话,要将密码设计的复杂一点,我有个朋友的数据库就被盗了,要求支付比特币来着,虽然数据库里并没有啥东西。