在腾讯云轻量服务器上安装MySQL(通常使用MySQL 8.0或MariaDB),以下是详细步骤:
方法一:安装MySQL 8.0(推荐)
1. 更新系统包
sudo apt update
sudo apt upgrade -y
2. 安装MySQL服务器
sudo apt install mysql-server -y
3. 安全配置MySQL
sudo mysql_secure_installation
按提示操作:
- 设置验证密码强度策略(建议选2)
- 设置root密码
- 移除匿名用户
- 禁止远程root登录
- 移除测试数据库
- 重新加载权限表
4. 检查MySQL状态
sudo systemctl status mysql
方法二:安装MariaDB(MySQL的替代品)
# 安装MariaDB
sudo apt install mariadb-server mariadb-client -y
# 安全配置
sudo mysql_secure_installation
# 启动服务
sudo systemctl enable mariadb
sudo systemctl start mariadb
配置优化
1. 调整MySQL配置(可选)
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
常用配置项:
[mysqld]
bind-address = 0.0.0.0 # 允许远程连接(按需修改)
# 或 bind-address = 127.0.0.1 # 只允许本地连接
# 内存优化(根据服务器配置调整)
innodb_buffer_pool_size = 256M
max_connections = 100
2. 重启MySQL生效
sudo systemctl restart mysql
基本操作命令
登录MySQL
# 使用root登录
sudo mysql -u root -p
# 或使用普通方式
mysql -u root -p
创建新用户和数据库
-- 创建数据库
CREATE DATABASE mydatabase;
-- 创建用户
CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'StrongPassword123!';
-- 授权
GRANT ALL PRIVILEGES ON mydatabase.* TO 'myuser'@'localhost';
-- 刷新权限
FLUSH PRIVILEGES;
允许远程连接(如果需要)
-- 创建允许远程连接的用户
CREATE USER 'remoteuser'@'%' IDENTIFIED BY 'StrongPassword123!';
GRANT ALL PRIVILEGES ON mydatabase.* TO 'remoteuser'@'%';
FLUSH PRIVILEGES;
防火墙配置(腾讯云)
1. 腾讯云控制台配置
- 登录腾讯云控制台
- 进入轻量服务器管理页面
- 找到防火墙规则
- 添加规则:端口3306(TCP),允许指定IP或所有IP
2. 使用UFW(如果已安装)
sudo ufw allow 3306/tcp
sudo ufw reload
常见问题解决
1. 忘记root密码
# 停止MySQL服务
sudo systemctl stop mysql
# 跳过权限启动
sudo mysqld_safe --skip-grant-tables &
# 登录并修改密码
mysql -u root
FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword';
FLUSH PRIVILEGES;
EXIT;
2. 连接速度慢
# 编辑配置文件
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
添加:
[mysqld]
skip-name-resolve
安全建议
- 使用强密码:包含大小写字母、数字、特殊字符
- 限制远程访问:只允许必要的IP连接
- 定期更新:
sudo apt update && sudo apt upgrade - 启用防火墙:只开放必要端口
- 定期备份:
# 备份数据库 mysqldump -u root -p --all-databases > backup.sql
验证安装
# 查看MySQL版本
mysql --version
# 测试连接
mysql -u root -p -e "SHOW DATABASES;"
按照以上步骤,你应该能在腾讯云轻量服务器上成功安装并配置MySQL。如果遇到问题,可以查看日志文件:sudo tail -f /var/log/mysql/error.log
CLOUD技术笔记