🗣 Wd提问: linux云服务器搭建mysql
🤖 Ai回答: 以下是基于 Linux 云服务器 搭建 MySQL 数据库的详细步骤指南,适用于常见的 Ubuntu/Debian 或 CentOS/RHEL 系统:
1、安装 MySQL
Ubuntu/Debian 系统:
bash
更新软件包列表
sudo apt update
安装 MySQL(会自动安装相关依赖)
sudo apt install -y mysql-server
启动 MySQL 服务
sudo systemctl start mysql
设置开机自启
sudo systemctl enable mysql
CentOS/RHEL 系统:
bash
安装 MySQL(需先启用 MariaDB 仓库或使用官方源)
sudo yum install -y mariadb-server
启动 MySQL 服务
sudo systemctl start mariadb
设置开机自启
sudo systemctl enable mariadb
2、初步安全配置
bash
运行安全脚本(根据提示操作)
sudo mysql_secure_installation
主要操作:
1、设置 root 密码
2、删除匿名用户
3、禁止 root 远程登录(生产环境建议开启)
4、删除测试数据库
5、刷新权限
3、配置防火墙与端口
开放 3306 端口(MySQL 默认端口):
bash
使用 iptables(旧版)
sudo iptables -A INPUT -p tcp dport 3306 -j ACCEPT
sudo iptables-save /etc/iptables/rules.v4
使用 firewalld(新版)
sudo firewall-cmd permanent add-port=3306/tcp
sudo firewall-cmd reload
云平台安全组配置:
在 AWS、阿里云、腾讯云等控制台,确保服务器的安全组允许 入站流量 的 3306 端口。
4、配置 MySQL 允许远程访问
1、编辑 MySQL 配置文件:
bash
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf Debian/Ubuntu
sudo nano /etc/my.cnf.d/mariadb-server.cnf CentOS/RHEL
找到并修改 `bind-address`:
ini
bind-address = 0.0.0.0 允许所有 IP 访问(生产环境建议指定具体 IP)
2、重启 MySQL 服务使配置生效:
bash
sudo systemctl restart mysql
5、创建数据库与用户
bash
登录 MySQL(输入 root 密码)
mysql -u root -p
创建数据库
CREATE DATABASE your_database;
创建用户并授权(% 表示允许所有 IP 连接,可替换为具体 IP)
CREATE USER 'your_user'@'%' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON your_database.* TO 'your_user'@'%';
FLUSH PRIVILEGES;
退出 MySQL
exit;
6、验证远程连接
使用客户端工具(如 Navicat、DBeaver 或命令行)尝试连接:
bash
命令行测试连接
mysql -h your_server_ip -u your_user -p
7、备份与恢复
备份数据库:
bash
全量备份
mysqldump -u root -p all-databases all_databases.sql
单个数据库备份
mysqldump -u root -p your_database your_database.sql
恢复数据库:
bash
导入全量备份
mysql -u root -p < all_databases.sql
导入单个数据库
mysql -u root -p your_database < your_database.sql
8、性能优化建议
修改配置文件(`/etc/mysql/mysql.conf.d/mysqld.cnf` 或 `/etc/my.cnf`):
ini
[mysqld]
innodb_buffer_pool_size = 2G 根据内存调整
max_connections = 500 增大连接数
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
使用慢查询日志:
ini
slow_query_log = 1
slow_query_log_file = /var/log/mysql/slow.log
9、常见问题解决
连接超时:检查防火墙、安全组是否开放 3306 端口。
Access denied:确认用户权限是否包含 `%` 或具体 IP。
Too many connections:增加 `max_connections` 参数。
附:常用命令
查看 MySQL 版本:`mysql version`
查看当前连接:`SHOW PROCESSLIST;`
查看慢查询日志:`tail -f /var/log/mysql/slow.log`
通过以上步骤,您可以在 Linux 云服务器上快速搭建一个安全、稳定的 MySQL 数据库环境。如有进一步需求(如高可用集群、数据同步等),可继续扩展配置。
📣 商家广告 :
👍
0
👎
IP地址: 54.98.73.75
搜索次数: 14
提问时间: 2025-12-03 18:45:44
本站所有
❓
问答
均由Ai自动分析整理,内容仅供参考,若有误差请用“联系”里面信息通知我们人工修改或删除。
本站由
🟢
豌豆Ai
提供技术支持,使用的最新版:
豌豆Ai站群搜索引擎系统 V.25.10.25
搭建本站。