阿里云服务器安装MySQL服务器

目录

安装MySQL(Ubuntu系统)

1.获取最新软件包信息

2.安装MySQL

3.检查MySQL服务状态

4.安全配置

5.登录MySQL

6.验证安装

数据库配置


安装MySQL(Ubuntu系统)

在Ubuntu上安装MySQL数据库的步骤如下:

1.获取最新软件包信息

root用户

复制代码
apt update

其他用户

复制代码
sudo apt update

(后面默认root用户安装,其他用户加上sudo。)

2.安装MySQL

复制代码
apt install mysql-server

在安装过程中,系统会提示您设置root用户的密码,请确保记下这个密码,因为您之后会需要它来管理数据库。

3.检查MySQL服务状态

复制代码
systemctl status mysql

当前服务正在运行,您将看到 **active(running)**状态。

4.安全配置

运行安全脚本以增强MySQL安装的安全性:

复制代码
sudo mysql_secure_installation

运行这个命令后,它会引导你完成一系列安全设置,你只需要根据提示输入 Y (是) 或 N (否) 并按回车即可。通常包括以下几个步骤:

  1. 设置密码验证插件 (Validate Password Plugin)

    • 这个插件可以强制用户设置更安全的密码(例如,检查密码长度、复杂度等)。
    • 脚本会问你是否要启用它,建议选择 Y (是)。
  2. 设置 root 用户密码

    • 如果你是第一次运行,或者 MySQL 的 root 用户还没有密码,它会提示你设置一个新密码。
    • 强烈建议设置一个强密码。
  3. 移除匿名用户 (Remove anonymous users?)

    • 默认情况下,MySQL 可能会创建一个不需要密码就能登录的匿名用户,这主要用于测试。
    • 为了安全,建议选择 Y (是) 来移除它。
  4. 禁止 root 用户远程登录 (Disallow root login remotely?)

    • 这是一个非常重要的安全建议。它会禁止 root 用户从除本机(localhost)之外的任何地方登录。
    • 这样即使攻击者知道了 root 密码,也无法从网络上直接登录你的数据库。建议选择 Y (是)。
  5. 移除测试数据库 (Remove test database and access to it?)

    • MySQL 默认会创建一个名为 test 的数据库,任何用户(包括匿名用户)都可以访问它。
    • 这个数据库没有实际用途,反而可能成为安全漏洞。建议选择 Y (是) 来删除它。
  6. 重新加载权限表 (Reload privilege tables now?)

    • 这个操作会让你刚才做的所有更改立即生效,而无需重启 MySQL 服务。
    • 必须选择 Y (是) 来应用这些安全设置。

5.登录MySQL

复制代码
mysql -u root -p

输入您之前设置的密码就能登录。

6.验证安装

复制代码
SELECT VERSION();

使用该命令,您可以查询当前 MySQL 数据库的版本信息。

数据库配置

mysqld.cnf配置文件

配置类别 配置参数 说明
基础连接参数 bind-address 指定 MySQL 服务器监听的 IP 地址。默认值为 127.0.0.1,表示仅接受本地连接。
基础连接参数 port 指定 MySQL 服务器监听的端口号。默认值为 3306。
数据存储位置 datadir 定义 MySQL 数据文件存放的目录。在 Ubuntu 系统中,默认路径通常是 /var/lib/mysql。
性能相关参数 innodb_buffer_pool_size 设置 InnoDB 存储引擎的缓冲池大小,这是最重要的性能参数之一。增大此值可以显著提升数据读写速度。
性能相关参数 (其他线程 / 缓存参数) 例如 max_connections (最大连接数), query_cache_size (查询缓存大小) 等,用于根据负载调整服务器性能。
日志相关参数 log_error 指定错误日志文件的路径,记录 MySQL 启动、关闭和运行期间的严重错误信息,是故障排查的首要依据。
日志相关参数 slow_query_log 开启慢查询日志功能。配合 long_query_time 参数,可以记录执行时间超过指定阈值的 SQL 语句,用于性能分析和优化。
字符集设置 character-set-server 设置 MySQL 服务器的默认字符集。推荐设置为 utf8mb4,以完美支持中文和 emoji 表情等所有 Unicode 字符,避免乱码问题。

进入mysqld.cnf配置文件

复制代码
vim /etc/mysql/mysql.conf.d/mysqld.cnf 

设置 MySQL 服务器的默认字符集为utf8。

复制代码
character-set-server=utf8

设置 MySQL 的默认存储引擎为InnoDB。

复制代码
default-storage-engine=innodb

查看服务器级别的字符集设置:

复制代码
SHOW VARIABLES LIKE 'character_set_server';

查看默认的存储引擎:

复制代码
SHOW VARIABLES LIKE 'default_storage_engine';

配置端口

查看端口信息。

复制代码
netstat -nltp

停止 MySQL 服务:

复制代码
systemctl stop mysql

开始 MySQL 服务

复制代码
systemctl start mysql

再次查看端口

复制代码
netstat -nltp
相关推荐
Xの哲學33 分钟前
Linux流量控制: 内核队列的深度剖析
linux·服务器·算法·架构·边缘计算
tuokuac1 小时前
docker中nginx配置报错解决
linux·运维·服务器
程序员佳佳4 小时前
2025年大模型终极横评:GPT-5.2、Banana Pro与DeepSeek V3.2实战硬核比拼(附统一接入方案)
服务器·数据库·人工智能·python·gpt·api
学烹饪的小胡桃4 小时前
【运维学习】实时性能监控工具 WGCLOUD v3.6.2 更新介绍
linux·运维·服务器·学习·工单系统
知识分享小能手4 小时前
Ubuntu入门学习教程,从入门到精通,Ubuntu 22.04的桌面环境 (4)
linux·学习·ubuntu
Java小生不才5 小时前
SAA入门代码
阿里云·spring ai
岭锅锅6 小时前
机房U位资产管理系统:让设备管理更高效
服务器
k***92167 小时前
【Linux】进程概念(五):详解环境变量的本质
linux·运维·服务器
敢敢のwings8 小时前
云服务器上部署Dify完整教程
运维·服务器
孤岛悬城9 小时前
42 Ansible-Playbooks 自动化剧本
云计算