Ubuntu中启用MySQL服务器的步骤

一、整体流程

下面是启用Ubuntu上的MySQL服务器的步骤:

flowchart TD
    A[安装MySQL] --> B[启动MySQL服务]
    B --> C[设置MySQL开机自启]
    C --> D[配置MySQL]
    D --> E[创建MySQL用户]
    E --> F[重启MySQL服务]

二、步骤详解

1. 安装MySQL

首先,我们需要在Ubuntu上安装MySQL。打开终端并输入以下命令:

sudo apt update                         # 更新软件源
sudo apt install mysql-server           # 安装MySQL服务器
sudo mysql_secure_installation          # 进行一些额外的安全设置
  • sudo apt update:这个命令用于更新软件源,以确保安装最新版本的MySQL。
  • sudo apt install mysql-server:这个命令用于安装MySQL服务器。
  • sudo mysql_secure_installation:这个命令用于进行一些额外的安全设置,例如设置root密码和删除不必要的用户。

2. 启动MySQL服务

安装完成后,MySQL服务应该已经自动启动。如果没有启动,可以使用以下命令手动启动:

sudo systemctl start mysql      # 启动MySQL服务
  • sudo systemctl start mysql:这个命令用于启动MySQL服务。

3. 设置MySQL开机自启

为了确保MySQL服务器在系统启动时自动运行,我们需要使用以下命令将其设置为开机自启:

sudo systemctl enable mysql     # 设置MySQL开机自启
  • sudo systemctl enable mysql:这个命令用于将MySQL服务器设置为开机自启。

4. 配置MySQL

接下来,我们需要对MySQL进行一些基本配置,例如更改root用户的密码和允许外部访问。在终端中运行以下命令:

sudo mysql                          # 进入MySQL命令行

在MySQL命令行中,我们可以执行以下操作:

a. 更改root用户密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'new_password';   # 更改root用户密码
  • ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'new_password':这个命令用于更改root用户的密码。将new_password替换为你要设置的新密码。
b. 允许远程访问
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;    # 允许root用户远程访问
FLUSH PRIVILEGES;                                                                       # 刷新权限
  • GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION:这个命令用于允许root用户从任何主机以任何密码进行远程访问。将password替换为你要设置的密码。
  • FLUSH PRIVILEGES:这个命令用于刷新权限。

5. 创建MySQL用户

为了安全起见,我们应该创建一个非root的MySQL用户来管理数据库。在MySQL命令行中运行以下命令:

CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';     # 创建本地用户
GRANT ALL PRIVILEGES ON *.* TO 'username'@'localhost';           # 授予用户所有权限
FLUSH PRIVILEGES;                                                # 刷新权限
  • CREATE USER 'username'@'localhost' IDENTIFIED BY 'password':这个命令用于创建一个本地用户。将username替换为你要创建的用户名,将password替换为你要设置的密码。
  • GRANT ALL PRIVILEGES ON *.* TO 'username'@'localhost':这个命令用于授予用户在所有数据库和表上的所有权限。
  • FLUSH PRIVILEGES:这个命令用于刷新权限。

6. 重启MySQL服务

最后,我们需要重启MySQL服务以使所有更改生效。在终端中运行以下命令:

sudo systemctl restart mysql       # 重启MySQL服务
  • sudo systemctl restart mysql:这个命令用于重