目录

安装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

 

 

Logo

码道开发者社区,聚焦华为云码道 CodeArts 代码智能体,沉淀 Agent、Skill、鸿蒙开发实战内容,供开发者查阅资料、交流技术、分享工程实践

更多推荐