在云主机上建立数据库是一个常见的需求,无论是用于Web应用、数据分析还是其他服务,以下是一个通用且详细的步骤指南,涵盖主流数据库(如MySQL、PostgreSQL、MongoDB等)的安装和配置。
1、选择云服务商(如阿里云、腾讯云、AWS、Azure等)。
2、购买并配置云主机:
- 选择操作系统(推荐Ubuntu 20.04/22.04 或CentOS 7/8)。
- 确保安全组/防火墙开放数据库端口(如MySQL的3306、PostgreSQL的5432)。
3、登录云主机:
ssh username@服务器IP
二、安装数据库(以常见数据库为例)
Ubuntu/Debian:
sudo apt update sudo apt install mysql-server sudo systemctl start mysql sudo systemctl enable mysql
CentOS/RHEL:
sudo yum install mysql-server sudo systemctl start mysqld sudo systemctl enable mysqld
安全初始化:
sudo mysql_secure_installation
Ubuntu:
sudo apt install postgresql postgresql-contrib sudo systemctl start postgresql
CentOS:
sudo yum install postgresql-server sudo postgresql-setup initdb sudo systemctl start postgresql
3. MongoDB(NoSQL)
Ubuntu:
wget -qO - https://www.mongodb.org/static/pgp/server-7.0.asc | sudo apt-key add - sudo echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/7.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-7.0.list sudo apt update sudo apt install mongodb-org sudo systemctl start mongod
默认情况下数据库可能只允许本地连接,需修改配置允许远程访问。
1、编辑配置文件:
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf # Ubuntu # 或 sudo vim /etc/my.cnf # CentOS
找到bind-address 并改为:
bind-address = 0.0.0.0
2、登录MySQL,授权远程用户:
CREATE USER '用户名'@'%' IDENTIFIED BY '密码'; GRANT ALL PRIVILEGES ON *.* TO '用户名'@'%'; FLUSH PRIVILEGES;
1、修改postgresql.conf:
sudo vim /etc/postgresql/12/main/postgresql.conf # 路径可能不同
修改:
listen_addresses = '*'
2、修改pg_hba.conf:
sudo vim /etc/postgresql/12/main/pg_hba.conf
添加:
host all all 0.0.0.0/0 md5
1、防火墙开放端口:
sudo ufw allow 3306/tcp # MySQL sudo ufw allow 5432/tcp # PostgreSQL
2、使用强密码并定期更换。
3、限制IP访问:在数据库配置中只允许特定IP连接。
4、启用SSL加密(生产环境建议)。
- 本地连接测试:
mysql -u root -p
- 远程连接测试(从其他服务器或本地电脑):
mysql -h 云主机IP -u 用户名 -p
1、定期备份:
mysqldump -u root -p 数据库名 > backup.sql
2、监控日志:
- MySQL日志:/var/log/mysql/error.log
- PostgreSQL日志:/var/log/postgresql/postgresql-12-main.log
以MySQL为例 docker run -d \ --name mysql-server \ -e MYSQL_ROOT_PASSWORD=密码 \ -p 3306:3306 \ mysql:8.0
1、生产环境建议:
- 使用云服务商提供的托管数据库(如AWS RDS、阿里云RDS),更省心且具备高可用、自动备份等功能。
- 若自建,需关注性能调优、主从复制、灾难恢复等。
2、安全第一:避免使用默认端口和弱密码,及时更新版本。
根据你的具体需求(如数据库类型、性能要求、数据量等),选择适合的方案即可,如有更具体的场景,可进一步细化配置步骤!
文章摘自:https://idc.huochengrm.cn/zj/24828.html
评论