阿里云Centos7定时备份MySQL数据库

该博客介绍了MySQL数据库定时备份的操作。首先创建存放备份数据的文件夹,接着编写备份脚本bakmysql.sh,设置数据库信息和备份路径,还可删除5天前的备份。若权限不足需赋予脚本执行权限,然后设置定时备份任务,最后介绍了查看备份数据和常用命令。

创建文件夹(存放备份数据)

cd /opt mkdir -p bak/mysqldata

编写脚本

vi /usr/sbin/bakmysql.sh

bakmysql.sh脚本内容

DATE=`date +%Y%m%d%H%M` #every minute

DATABASE=ei #database name

DB_USER=root #database username

DB_PASS="123456" #database password

BACKUP=/opt/bak/mysqldata #backup path #backup command

#测试:/usr/bin/mysqldump -uroot -p"123456" -h 127.0.0.1 -R --opt ei |gzip >

/data/bak/mysqldata\/ei_2018061303.sql.gz

 

/usr/bin/mysqldump -u$DB_USER -p$DB_PASS -h 127.0.0.1 -R --opt $DATABASE |gzip > ${BACKUP}\/${DATABASE}_${DATE}.sql.gz

 

#just backup the latest 5 days

#测试:find /data/bak/mysqldata -name "ei_*.sql.gz" -type f -mtime +5 -exec rm {} \; >

/dev/null 2>&1 find ${BACKUP} -name "${DATABASE}_*.sql.gz" -type f -mtime +5 -exec rm {} \; > /dev/null 2>&1

 

如果权限不足,给权限

chmod +x /usr/sbin/bakmysql.sh

设置定时备份任务(注意:非root用户登录要用sudo,否则执行失败)

crontab -e // 非root用户 sudo crontab -e

添加如下任务

// 每天凌晨3点备份一次 0 3 * * * /usr/sbin/bakmysql.sh // 每隔3分执行(测试时使用) */3 * * * * /usr/sbin/bakmysql.sh

查看已备份数据

ls /opt/bak/mysqldata

常用命令

// 查看已创建的调度任务 crontab -l // 启动 /sbin/service crond start // 停止 /sbin/service crond stop // 重启服务 /sbin/service crond restart // 重新加载配置 /sbin/service crond reload

 

<think>好的,用户想了解如何在阿里云CentOS实例上创建个人云盘。首先,我需要确定用户的需求是什么。个人云盘可能指的是类似Nextcloud这样的私有云存储解决方案,或者是更简单的通过Web服务器共享文件。假设用户希望搭建一个类似Nextcloud的服务,这样功能更全面,包括文件同步、分享等。 接下来,我需要考虑步骤。首先,用户需要有阿里云CentOS实例,可能已经购买了,所以不需要指导购买部分。接下来,安装必要的软件,比如Web服务器(Apache或Nginx)、数据库MySQL或MariaDB)、PHP环境,因为Nextcloud需要这些。然后,下载并配置Nextcloud,设置数据库,调整权限,最后配置防火墙和安全组,确保服务可以通过网络访问。 可能需要注意的细节:CentOS的版本,不同版本可能软件包管理不同,比如CentOS 7和8使用yum,而CentOS 8可能用dnf,不过用户提到的是CentOS实例,应该统一用yum。另外,阿里云的安全组设置需要开放80和443端口,否则用户无法从外部访问。还有SELinux和防火墙的设置,可能需要临时关闭或配置策略,避免权限问题。 另外,是否需要SSL证书?建议用户使用Let's Encrypt来配置HTTPS,增加安全性。但用户如果只是测试,可能暂时不需要,但生产环境必须。可能需要提醒用户这一步。 安装过程中,PHP的模块需要齐全,否则Nextcloud会报错,比如缺少某些扩展,所以在安装PHP时,要确保所有必要的扩展都被安装,比如gd、intl、xml等。 数据库部分,需要创建数据库和用户,并授予权限,这部分需要具体步骤,比如登录MySQL,执行CREATE DATABASE,GRANT ALL等命令。 文件权限方面,Nextcloud的目录需要正确的所有权,通常给Apache用户(比如apache或www-data),但CentOS的Apache用户是apache,所以需要chown -R apache:apache nextcloud目录。 最后,配置完成后,通过浏览器访问IP地址或域名完成安装,输入数据库信息和管理员账户,即可完成设置。 可能的问题:用户可能遇到权限问题,比如目录不可写,或者数据库连接失败,需要检查权限和密码是否正确。防火墙或安全组没有正确开放端口,导致无法访问。PHP版本过低,需要确保使用Nextcloud支持的PHP版本,比如7.4或8.0,可能需要添加第三方仓库,比如Remi仓库,来安装较新的PHP版本。 总结步骤:更新系统,安装Apache、MySQL、PHP,配置PHP,下载Nextcloud,设置权限,配置数据库,调整防火墙和安全组,完成安装向导。可能还需要后续的优化,比如配置cron任务、启用内存缓存等,但用户可能暂时不需要,可以简单提及。 需要确保所有命令正确,比如wget的URL是否正确,解压命令是否正确,目录路径是否正确。可能用户使用的是CentOS 7或8,所以需要通用的步骤,或者指出不同版本的差异。比如,如果使用MariaDB,安装命令可能略有不同,或者服务名称是mariadb而不是mysqld。 最后,提醒用户备份数据,定期更新软件,保证安全性。可能还需要配置域名和SSL证书,提升使用体验和安全性。</think>以下是基于阿里云CentOS实例创建个人云盘的逐步指南: --- ### 一、准备工作 1. **购买阿里云ECS实例** - 选择CentOS 7/8/9操作系统 - 配置安全组:开放`80`(HTTP)、`443`(HTTPS)和`22`(SSH)端口 2. **登录服务器** ```bash ssh root@你的服务器公网IP ``` --- ### 二、安装必要组件 1. **更新系统** ```bash yum update -y ``` 2. **安装Web服务器(Apache/Nginx)** *以Apache为例:* ```bash yum install httpd -y systemctl start httpd systemctl enable httpd ``` 3. **安装数据库(MariaDB)** ```bash yum install mariadb-server mariadb -y systemctl start mariadb systemctl enable mariadb mysql_secure_installation # 按提示设置数据库root密码 ``` 4. **安装PHP及扩展** ```bash yum install epel-release yum-utils -y yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm yum-config-manager --enable remi-php74 yum install php php-mysqlnd php-gd php-json php-xml php-mbstring php-zip php-curl -y systemctl restart httpd ``` --- ### 三、部署Nextcloud私有云 1. **下载Nextcloud** ```bash cd /var/www/html wget https://download.nextcloud.com/server/releases/latest.zip unzip latest.zip chown -R apache:apache nextcloud ``` 2. **创建数据库** ```bash mysql -u root -p CREATE DATABASE nextcloud; CREATE USER 'nextcloud'@'localhost' IDENTIFIED BY '你的密码'; GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextcloud'@'localhost'; FLUSH PRIVILEGES; exit ``` --- ### 四、配置防火墙与SELinux 1. **放通HTTP/HTTPS端口** ```bash firewall-cmd --permanent --add-service=http firewall-cmd --permanent --add-service=https firewall-cmd --reload ``` 2. **临时关闭SELinux(可选)** ```bash setenforce 0 sed -i 's/SELINUX=enforcing/SELINUX=permissive/g' /etc/selinux/config ``` --- ### 五、完成安装 1. **访问Nextcloud** 浏览器输入 `http://服务器公网IP/nextcloud` - 设置管理员账户 - 数据库选择MySQL/MariaDB,填写数据库信息 2. **推荐后续操作** - 配置域名与SSL证书(Let's Encrypt) - 启用内存缓存(Redis/APCu) - 设置定时任务优化性能 --- ### 六、关键问题排查 1. **文件权限错误** ```bash chmod -R 755 /var/www/html/nextcloud chown -R apache:apache /var/www/html/nextcloud ``` 2. **PHP扩展缺失** 检查是否安装所有依赖扩展: ```bash php -m | grep -E 'gd|xml|mbstring|curl' ``` --- 通过上述步骤,您已成功在阿里云CentOS实例上部署了私有云盘。建议定期备份数据并保持系统更新以增强安全性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值