阿里云服务器安装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
相关推荐
慕木沐16 分钟前
【搭建个人网站】借助内网穿透+云服务器中转
运维·服务器
观测云43 分钟前
阿里云 OceanBase 可观测最佳实践
阿里云·云计算·oceanbase
染指秃头1 小时前
VM虚拟机共享宿主机代理(Ubuntu24.04)
linux·运维·服务器
Wang's Blog1 小时前
Linux小课堂: Squid代理缓存服务器部署与访问控制实战指南
linux·服务器·缓存
priority_key2 小时前
TCP 如何保证传输的可靠性?
服务器·网络·后端·网络协议·tcp/ip
落淼喵_G2 小时前
ubuntu部署whisper+speaker_large+qwen【一】
ubuntu·whisper
深鱼~2 小时前
从本地存储到全球访问:1Panel的家庭服务器革命
大数据·运维·服务器
栀椩2 小时前
frp+公网服务器实现内网穿透方案
运维·服务器
2501_938791222 小时前
VsCode 远程模式 + 服务器:Github Copilot 安装后无法触发?原因解析
服务器·vscode·github
爬台阶的蚂蚁2 小时前
内网麒麟系统安装 uv 的完整步骤
运维·服务器·uv