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. 使用防火墙和其他网络安全措施来保护数据库服务器。
相关推荐
星辰离彬29 分钟前
Java 与 MySQL 性能优化:Java应用中MySQL慢SQL诊断与优化实战
java·后端·sql·mysql·性能优化
cuijiecheng201833 分钟前
Ubuntu下布署mediasoup-demo
linux·运维·ubuntu
程序猿小D2 小时前
[附源码+数据库+毕业论文]基于Spring+MyBatis+MySQL+Maven+jsp实现的个人财务管理系统,推荐!
java·数据库·mysql·spring·毕业论文·ssm框架·个人财务管理系统
独行soc2 小时前
2025年渗透测试面试题总结-2025年HW(护网面试) 33(题目+回答)
linux·科技·安全·网络安全·面试·职场和发展·护网
java龙王*3 小时前
开放端口,开通数据库连接权限,无法连接远程数据库 解决方案
linux
bcbobo21cn3 小时前
Linux命令的命令历史
linux·histsize·histfile
jingyu飞鸟4 小时前
linux系统源代码安装apache、编译隐藏版本号
linux·运维·apache
世事如云有卷舒4 小时前
Ubunt20.04搭建GitLab服务器,并借助cpolar实现公网访问
linux·服务器·gitlab
2401_858286115 小时前
OS15.【Linux】gdb调试器的简单使用
linux·运维·服务器·开发语言·gdb
发仔1237 小时前
Oracle与MySQL核心差异对比
mysql·oracle