linux ubuntu Mysql 安装指南

第一部分安装:

步骤 1: 更新 apt 软件包索引

在开始安装之前,建议先更新 apt 软件包索引,以确保你安装的软件版本是最新的:

bash 复制代码
sudo apt update

步骤 2: 安装 MySQL 服务器

运行以下命令来安装 MySQL 服务器软件包:

bash 复制代码
sudo apt install mysql-server

在安装过程中,系统会要求你设置 root 用户的密码。请注意,安全起见,应该设置一个强密码。

步骤 3: 启动 MySQL 服务

安装完成后,MySQL 服务器会自动启动。你可以使用以下命令检查 MySQL 服务状态:

bash 复制代码
sudo systemctl status mysql

如果 MySQL 未启动,你可以使用以下命令手动启动服务:

bash 复制代码
sudo systemctl start mysql

步骤 4: 运行安全性脚本

MySQL 提供了一个安全性脚本,用于确保数据库安全。运行以下命令来执行安全性脚本:

bash 复制代码
sudo mysql_secure_installation

根据提示,你可以选择设置密码强度验证策略、删除匿名用户、禁用远程 root 登录等。

步骤 5: 使用 MySQL

安装和配置完成后,你可以通过以下方式登录到 MySQL 数据库:

bash 复制代码
sudo mysql -u root -p

输入你在安装过程中设置的 root 密码,然后就可以使用 MySQL 数据库了。

补充提示:

  • 如果你需要 MySQL 的图形管理工具,可以安装 mysql-workbench

    bash 复制代码
    sudo apt install mysql-workbench
  • 如果你需要其他 MySQL 版本,可以根据需要选择 MySQL 的特定版本进行安装。

第二部分开放权限:

步骤 1: 编辑 MySQL 配置文件

首先,你需要编辑 MySQL 配置文件以允许外网访问。打开 MySQL 配置文件 mysqld.cnf

bash 复制代码
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

找到以下行(可能位于文件的底部),注释掉或删除 bind-address 参数。这将允许 MySQL 服务器接受来自任何 IP 地址的连接请求。

复制代码
# bind-address    = 127.0.0.1

保存并退出配置文件。

步骤 2: 更新防火墙规则

接下来,你需要确保防火墙允许来自外部 IP 地址的 MySQL 连接。如果你使用的是 ufw 防火墙工具,可以执行以下命令开放 MySQL 相关的端口。

bash 复制代码
sudo ufw allow 3306

这将允许来自外部 IP 地址的连接通过 MySQL 默认端口(3306)进行访问。

步骤 3: 重启 MySQL 服务

完成配置更改后,你需要重新启动 MySQL 服务,以使更改生效。

bash 复制代码
sudo service mysql restart

步骤 4: 配置远程 MySQL 用户

为了使远程主机能够连接到你的 MySQL 服务器,你需要创建一个具有远程访问权限的 MySQL 用户,并授予其适当的权限。

在 MySQL 控制台中执行以下命令:

bash 复制代码
sudo mysql -u root -p

使用管理员凭据登录到 MySQL 控制台后,可以创建新的远程用户(例如 remote_user)和密码,并为其授予相应的权限。确保将 your_remote_useryour_remote_password 替换为你想要使用的实际值。

sql 复制代码
CREATE USER 'porsso'@'%' IDENTIFIED WITH 'mysql_native_password' BY 'root!****';

GRANT ALL PRIVILEGES ON *.* TO 'porsso'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;

这将创建一个具有全局访问权限的新用户,并允许从任何远程 IP 地址连接到 MySQL 数据库。

注意事项和安全性考虑:

开放 MySQL 的外部访问会增加安全风险,因为它使你的数据库服务器暴露在公共网络中。为了保护你的数据库和数据安全,确保遵循以下最佳实践:

  1. 确保使用强密码保护你的 MySQL 用户。
  2. 限制远程访问的 IP 地址范围,只允许来自可信来源的连接。
  3. 使用防火墙和其他网络安全措施来保护数据库服务器。
相关推荐
苏生Susheng15 分钟前
【软件实施】Linux企业运维常用命令手册
java·linux·运维·服务器·springboot·springcloud·软件实施
额额额对了18 分钟前
Linux 进程间通信(IPC)核心机制:消息队列、共享内存与信号量详解
linux·网络·网络协议
zx_741484811 小时前
【Linux入门】Linux 安装:VMware Workstation Pro 安装 CentOS 7 保姆级图文教程
linux·centos
智购科技无人售货机厂家2 小时前
2026自动售货机备用电池管理系统设计:从充放电保护到健康监测的工程实践~YH
大数据·linux·单片机·嵌入式硬件·微信
小雪崩2 小时前
嵌入式学习 day39:TCP并发服务器模型
linux·服务器·c语言·网络·学习·tcp/ip
spencer_tseng2 小时前
[j2cache ehcache.xml]/tmp/.ehcache-diskstore.lock (Permission denied)
xml·linux·python·ehcache·[j2cache
内核笔记2 小时前
休眠唤醒 standby 调试
linux·bsp
小白不想画工图2 小时前
银河麒麟V10系统安装QT5.12
linux·开发语言·qt·银河麒麟
IT爱学堂2 小时前
新版Linux零基础入门到高手Rocky版本-替换CentOS(完结)
linux·运维·centos
kkkkkkkkkk_Z3 小时前
学嵌入式和Linux应用编程|学习日记:计算机网络基础
linux·学习·计算机网络