阿里云服务器安装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
(否) 并按回车即可。通常包括以下几个步骤:
设置密码验证插件 (Validate Password Plugin)
- 这个插件可以强制用户设置更安全的密码(例如,检查密码长度、复杂度等)。
- 脚本会问你是否要启用它,建议选择
Y
(是)。设置 root 用户密码
- 如果你是第一次运行,或者 MySQL 的 root 用户还没有密码,它会提示你设置一个新密码。
- 强烈建议设置一个强密码。
移除匿名用户 (Remove anonymous users?)
- 默认情况下,MySQL 可能会创建一个不需要密码就能登录的匿名用户,这主要用于测试。
- 为了安全,建议选择
Y
(是) 来移除它。禁止 root 用户远程登录 (Disallow root login remotely?)
- 这是一个非常重要的安全建议。它会禁止
root
用户从除本机(localhost
)之外的任何地方登录。- 这样即使攻击者知道了 root 密码,也无法从网络上直接登录你的数据库。建议选择
Y
(是)。移除测试数据库 (Remove test database and access to it?)
- MySQL 默认会创建一个名为
test
的数据库,任何用户(包括匿名用户)都可以访问它。- 这个数据库没有实际用途,反而可能成为安全漏洞。建议选择
Y
(是) 来删除它。重新加载权限表 (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