Ubuntu 上安装并配置 MySQL 8.0

在 Ubuntu 上安装并配置 MySQL 8.0,可以通过以下步骤来完成:

1. 添加 MySQL APT Repository

首先,下载 MySQL APT Repository 配置包:

bash 复制代码
wget https://dev.mysql.com/get/mysql-apt-config_0.8.24-1_all.deb

2. 安装 MySQL APT Repository 包

下载完成后,使用 dpkg 安装该包:

bash 复制代码
sudo dpkg -i mysql-apt-config_0.8.24-1_all.deb

安装过程中,你会看到一个配置界面。选择 MySQL Server & Cluster (Currently selected: mysql-8.0),然后选择 OK。

3. 更新包列表

添加存储库后,更新包列表:

bash 复制代码
sudo apt-get update

4. 安装 MySQL 服务器

现在,你可以安装 MySQL 8.0 服务器:

bash 复制代码
sudo apt-get install mysql-server

安装过程中,你会被提示设置 MySQL root 用户的密码。按照提示完成安装。

5. 启动 MySQL 服务

安装完成后,启动 MySQL 服务并确保其在系统启动时自动启动:

bash 复制代码
sudo systemctl start mysql
sudo systemctl enable mysql

6. 验证安装

你可以检查 MySQL 服务的状态以确保其正常运行:

bash 复制代码
sudo systemctl status mysql

你还可以登录 MySQL 确认版本:

bash 复制代码
mysql -u root -p

在 MySQL 提示符下,输入以下命令以显示 MySQL 版本:

sql 复制代码
SELECT VERSION();

7. 完成安全设置(可选)

为了提高 MySQL 安全性,你可以运行 mysql_secure_installation 脚本:

bash 复制代码
sudo mysql_secure_installation

该脚本会引导你完成一些安全设置,包括设置 root 用户密码、删除匿名用户、禁止 root 远程登录以及删除测试数据库等。

8. 配置远程访问(可选)

如果你需要允许远程访问 MySQL 数据库,可以进行以下配置:

  1. 编辑 MySQL 配置文件

    编辑 MySQL 配置文件 /etc/mysql/mysql.conf.d/mysqld.cnf/etc/my.cnf(取决于系统),并确保 bind-address 设置为 0.0.0.0

    ini 复制代码
    bind-address = 0.0.0.0
  2. 允许远程用户连接

    登录 MySQL 并执行以下命令,允许特定用户从任意主机连接:

    sql 复制代码
    CREATE USER 'your_user'@'%' IDENTIFIED BY 'your_password';
    GRANT ALL PRIVILEGES ON *.* TO 'your_user'@'%';
    FLUSH PRIVILEGES;

    或者,更新现有用户的权限:

    sql 复制代码
    GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'your_password';
    FLUSH PRIVILEGES;
  3. 配置防火墙

    确保防火墙允许 MySQL 端口(默认是 3306):

    bash 复制代码
    sudo ufw allow 3306
    sudo ufw reload

9. 优化配置(可选)

根据你的系统资源和需求,可以优化 MySQL 配置。编辑 MySQL 配置文件 /etc/mysql/mysql.conf.d/mysqld.cnf,调整以下参数:

ini 复制代码
[mysqld]
max_connections = 500
innodb_buffer_pool_size = 1G
innodb_log_file_size = 256M

修改完成后,重新启动 MySQL 服务以应用更改:

bash 复制代码
sudo systemctl restart mysql
相关推荐
Two_brushes.2 小时前
【Linux】线程机制深度实践:创建、等待、互斥与同步
linux·运维·服务器·多线程
设计师小聂!4 小时前
Linux系统中部署Redis详解
linux·运维·数据库·redis
kfepiza4 小时前
Debian-10编译安装Mysql-5.7.44 笔记250706
linux·数据库·笔记·mysql·debian·bash
不剪发的Tony老师4 小时前
phpMyAdmin:一款经典的MySQL在线管理工具又回来了
数据库·mysql·phpmyadmin
努力做小白6 小时前
Linux驱动11 --- buildroot&杂项驱动开发方法
linux·运维·驱动开发·单片机·嵌入式硬件
帽儿山的枪手6 小时前
追踪网络流量就这么简单 | 进阶篇 | conntrack
linux·windows·网络协议
哈哈浩丶6 小时前
Linux驱动开发1:设备驱动模块加载与卸载
linux·运维·驱动开发
Bulestar_xx7 小时前
20250711_Sudo 靶机复盘
linux·安全·web安全
一位搞嵌入式的 genius7 小时前
暑期自学嵌入式——Day01(C语言阶段)
linux·嵌入式c语言
张璐月7 小时前
mysql的性能优化:组提交、数据页复用、全表扫描优化、刷脏页
数据库·mysql·性能优化