如何访问linux mysql数据库服务器,有哪些步骤?

访问Linux MySQL数据库服务器,最直接的方法是使用mysql命令行客户端,但你必须保证网络连通、用户权限和MySQL配置正确,否则远程连接会失败。

linux如何连接mysql数据库服务器

命令行连接mysql数据库服务器的具体命令

在Linux终端,输入mysql -u用户名 -p -h服务器地址 -P端口,如果连接本地,可以省略-h和-P,因为默认使用Unix socket,如果你需要查看MySQL是否运行,可以使用systemctl status mysql或ps aux | grep mysql。

如何远程连接MySql数据库教程
加载中
如何远程连接MySql数据库教程
  • 安装客户端工具:Ubuntu用sudo apt install mysql-client,CentOS用sudo yum install mysql,OpenSUSE用sudo zypper install mysql-client。
  • 常用选项:
    • -e "SQL语句":直接执行SQL并退出,适合脚本。
    • -A:禁止自动补全表名,加快连接速度。
    • -t:以表格格式输出结果,更易读。
    • --compress:压缩传输,节省带宽。
  • 连接示例:mysql -u admin -p -h 192.168.1.100 -P 3306,输入密码后进入mysql>提示符。
  • 连接失败时,先测试网络:telnet 192.168.1.100 3306,如果端口不通,检查防火墙和安全组。

连接成功后,你可以执行以下基础操作:

  • 显示数据库:SHOW DATABASES;
  • 创建数据库:CREATE DATABASE testdb;
  • 选择数据库:USE testdb;
  • 显示表:SHOW TABLES;
  • 退出:exit或QUIT

使用图形化工具访问linux mysql服务器

图形化工具适合不熟悉命令行的用户,或者需要复杂操作时使用,常见工具对比:

工具 是否免费 特点
DBeaver 免费开源 支持多种数据库,社区版够用,功能全面
MySQL Workbench 免费 官方出品,有设计器、迁移工具,适合管理
Navicat 付费 界面友好,功能强大,但价格较高
Sequel Pro 免费 仅Mac,轻量级,适合快速查询

配置时,填入主机地址、端口、用户名、密码,测试连接即可,使用DBeaver时,可以下载Linux版AppImage,无需安装即可运行,如果使用SSH隧道,需要额外配置SSH主机和密钥。

如何访问linux mysql数据库服务器,有哪些步骤?

通过编程接口连接

程序连接MySQL是常见场景,以Python为例:

import pymysql
connection = pymysql.connect(
    host='服务器IP',
    user='appuser',
    password='secret',
    database='testdb',
    charset='utf8mb4'
)
try:
    with connection.cursor() as cursor:
        cursor.execute("SELECT  FROM users")
        results = cursor.fetchall()
        for row in results:
            print(row)
finally:
    connection.close()

其他语言:PHP使用PDO(推荐,支持预处理防注入),Java使用JDBC,Node.js使用mysql2包,编程连接时,建议使用连接池(如HikariCP、PyMySQL的连接池)来提高性能,并设置合理的超时时间。

mysql远程连接配置步骤详解

要让其他机器访问你的MySQL服务器,需要三个步骤:修改bind-address、创建远程用户、开放防火墙。

修改MySQL配置文件允许远程绑定

MySQL默认只监听本地,修改bind-address可以允许远程连接。

  • 查找配置文件:mysql --help | grep 'Default options' -A 1,通常位于/etc/mysql/mysql.conf.d/mysqld.cnf或/etc/my.cnf。
  • 编辑文件:sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf,找到bind-address = 127.0.0.1,改为bind-address = 0.0.0.0,或者注释掉该行(如果注释掉,默认监听所有接口)。
  • 保存后重启:sudo systemctl restart mysql。
  • 验证:ss -tlnp | grep 3306,显示0.0.0:3306即成功。

创建或授权远程访问用户

MySQL用户由用户名和主机组成,默认root只允许本地登录,需要创建一个专用于远程连接的用户。

-- 登录MySQL
mysql -u root -p
-- 创建用户,指定允许的IP段
CREATE USER 'remoteuser'@'192.168.1.%' IDENTIFIED BY 'YourPassword123!';
-- 授权
GRANT SELECT, INSERT, UPDATE ON mydb. TO 'remoteuser'@'192.168.1.%';
-- 刷新权限
FLUSH PRIVILEGES;

如果你想允许所有IP,使用,但安全性较低,建议只授权必要的数据库和操作。

防火墙和云安全组设置

Linux防火墙可能阻挡3306端口。

  • firewalld:sudo firewall-cmd --add-port=3306/tcp --permanent && sudo firewall-cmd --reload

    如何访问linux mysql数据库服务器,有哪些步骤?

  • ufw:sudo ufw allow 3306/tcp
  • iptables:sudo iptables -A INPUT -p tcp --dport 3306 -j ACCEPT
  • 云服务器:在控制台安全组添加入站规则,协议TCP,端口3306,来源IP设为你的客户端IP或0.0.0.0/0(不推荐),设置后用telnet测试。

centos上访问mysql数据库服务器常见问题与排查

CentOS作为企业常用系统,有一些特定问题需要注意。

连接被拒绝:检查端口和bind-address

在CentOS上,使用ss -tlnp | grep 3306查看监听,如果只监听127.0.0.1,检查配置文件,CentOS的SELinux可能阻止MySQL网络访问,你可以临时关闭SELinux测试:sudo setenforce 0,如果连接成功,则需配置SELinux策略。sudo semanage port -a -t mysqld_port_t -p tcp 3306,或者设置布尔值,另一种方法是直接禁用SELinux(不推荐在生产环境)。

认证失败:密码和主机限制

MySQL 8.0默认认证插件是caching_sha2_password,一些旧客户端(如mysql 5.7)不支持,你可以在创建用户时指定IDENTIFIED WITH mysql_native_password BY 'password',如果用户已创建,使用ALTER USER 'user'@'%' IDENTIFIED WITH mysql_native_password BY 'password';,检查用户的主机限制是否匹配,比如'user'@'localhost'不能远程连接。

网络延迟:优化连接参数

如果远程连接延迟高,使用--compress压缩,或设置--connect-timeout=5减少等待,但更根本的是使用内网连接,或者通过堡垒机,如果必须公网,考虑使用SSH隧道,还可以加密数据。

安全访问mysql数据库服务器的最佳实践

使用SSH隧道加密连接

SSH隧道可以避免MySQL端口暴露,同时加密数据,步骤:

  1. 在本地执行:ssh -N -L 3307:localhost:3306 user@服务器IP
  2. 本地连接:mysql -h 127.0.0.1 -P 3307 -u remoteuser -p
    这样MySQL只监听本地,远程连接通过SSH转发,安全且简单,行业共识认为,远程访问MySQL时,使用SSH隧道比直接暴露端口更安全。

限制访问IP和用户权限

不要使用root远程连接,创建专用用户,只授予所需权限,只读用户只给SELECT,定期使用SHOW GRANTS检查权限,限制主机IP,尽量使用具体IP而不是。

使用SSL/TLS加密

配置MySQL SSL,需要证书和密钥,在MySQL中启用SSL后,创建用户时指定

如何访问linux mysql数据库服务器,有哪些步骤?

REQUIRE SSL,客户端连接时提供CA证书,可以防止中间人攻击,具体配置步骤较多,适合高安全要求场景。

启用登录审计

通过MySQL的general_log记录所有查询,但注意性能,也可以使用audit_log插件,只记录连接和登录,定期检查日志,发现异常。

访问linux mysql数据库服务器的常用命令与技巧

日常访问时,这些命令很实用:

  • 查看所有数据库:SHOW DATABASES;
  • 切换数据库:USE dbname;
  • 查看所有表:SHOW TABLES;
  • 查看用户:SELECT user, host FROM mysql.user;
  • 查看当前连接:SHOW PROCESSLIST;
  • 查看MySQL版本:SELECT VERSION();
  • 查看运行状态:SHOW STATUS LIKE 'Uptime';
  • 查看最大连接数:SHOW VARIABLES LIKE 'max_connections';

这些命令帮助你快速了解数据库状态,在脚本中,使用mysql -e执行命令,例如mysql -u root -p -e "SHOW DATABASES;",如果你需要将结果导出到文件,可以加上-t和重定向。

Q&A: 访问linux mysql数据库服务器常见疑问

Q: 忘记mysql数据库服务器root密码,如何重置?

A: 停止MySQL服务,使用mysqld_safe --skip-grant-tables &启动,然后mysql -u root登录,执行UPDATE mysql.user SET authentication_string='' WHERE User='root';,FLUSH PRIVILEGES,重启服务,用空密码登录后设置新密码。

Q: mysql远程连接配置步骤完成后还是连不上,有哪些可能原因?

A: 逐项排查:检查MySQL服务是否运行;检查监听地址是否为0.0.0.0;检查防火墙是否放行3306;检查用户授权是否包含客户端IP;检查网络连通性(ping和telnet);检查云安全组规则;检查SELinux是否阻止,如果使用主机名,确保DNS解析正确。

Q: 在国内云服务器上访问mysql数据库服务器,如何选择成本方案?

A: 如果预算有限,自建MySQL在云服务器上,使用云服务器租用价格,一般2核4G配置每月约一百元,适合个人开发者,如果需要高可用和自动备份,可以选择云数据库RDS,价格较高但省去运维,建议应用和数据库放在同一地域,使用内网IP访问,避免公网流量费用,同时提高安全性。

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://idctop.com/%e5%a6%82%e4%bd%95%e8%ae%bf%e9%97%aelinux-mysql%e6%95%b0%e6%8d%ae%e5%ba%93%e6%9c%8d%e5%8a%a1%e5%99%a8%e6%9c%89%e5%93%aa%e4%ba%9b%e6%ad%a5%e9%aa%a4%ef%bc%9f/

赞 (0)
服务器负载高一直居高不下怎么办,是什么原因导致的
上一篇 2026年8月6日 20:58
服务器换系统怎么操作,需要注意哪些事项?
下一篇 2026年8月6日 21:02

相关推荐

  • 服务器硬盘存储一般多大 | 企业级SSD配置指南

    服务器的硬盘存储大小因应用场景而异,但一般从几百GB到数TB不等,小型企业服务器可能配备500GB到2TB硬盘,而大型数据中心常用10TB或更大的阵列,这个范围基于数据类型、性能需求和成本优化,选择合适的大小需平衡IOPS(每秒输入输出操作)、可靠性和扩展性,以下从专业角度解析常见大小、影响因素和解决方案,服务……

    2026年2月12日
    17000
  • 虚拟机怎么生成?新手详细步骤有哪些,虚拟机安装哪个版本好

    选对软件、开启虚拟化、新建虚拟机、挂载系统镜像、按向导一步步完成安装,最省心的组合是VMware Workstation Player + Ubuntu系统镜像,全程鼠标操作,不需要敲命令行,虚拟机装哪个好?版本怎么选新手最纠结的就是选哪款虚拟机软件,市场上主流的就两个方向:**VMware系列**和**Ora……

    2026年9月10日
    300
  • 个人如何做好网络安全?个人网络安全防护有哪些实用技巧

    做好个人网络安全的核心在于建立“最小权限”意识,通过强密码管理、双重验证及定期系统更新,切断90%以上的常见攻击路径,在数字化生存的今天,我们的数字足迹比纸质档案更脆弱,许多人认为黑客攻击离自己很远,这种认知偏差正是最大的风险源,业内专家指出,绝大多数个人数据泄露并非源于高深技术破解,而是源于基础防护的缺失,构……

    2026年5月31日
    4300
  • 服务器机房自动灭火装置怎么选?机房消防系统设计与维护指南

    服务器机房作为现代数字经济的核心命脉,其消防安全的重要性远超普通建筑,一旦发生火灾,造成的不仅是硬件设备的巨额损失,更可能导致关键业务中断、数据永久丢失,引发难以估量的连锁反应,构建一套高效、可靠且针对性的消防系统,是保障业务连续性和数据资产安全的基石, 服务器机房火灾的特殊性与核心挑战服务器机房火灾具有显著区……

    2026年2月13日
    17000
  • {高级版视频}怎么获取?高级版视频免费下载方法

    2026年内容营销的终极解法,是依托高级版视频实现搜索流量与商业转化的双重爆发,它已从加分项变为品牌获客的生死线,2026高级版视频:重构搜索排名的底层逻辑搜索引擎算法的视觉化跃迁传统图文SEO的流量红利已见顶,根据CNNIC第69次报告,在搜索结果页的展现占比已突破68%,高级版视频并非简单的高清剪辑,而是深……

    2026年4月24日
    4400
  • 个人对象存储文档介绍内容是什么?个人对象存储怎么使用

    个人对象存储并非简单的网盘备份,而是基于S3协议、支持API调用的弹性数据基础设施,适合开发者、极客及需要跨设备无缝同步大型文件的用户,其核心优势在于无限扩展性与极低的边际存储成本,很多人对“对象存储”这个概念感到陌生,觉得它高冷且难以上手,它就像是一个拥有无限容量的智能仓库,你不需要关心硬盘坏没坏、服务器宕机……

    2026年6月2日
    5500
  • 个人用云服务器多少钱?2026年最新价格表及选购指南

    2026年个人用云服务器价格已从早期的“按年付费”全面转向“按需弹性计费”,入门级配置月付成本已下探至20-50元区间,对于大多数个人开发者、博客搭建者及轻量级应用而言,选择低配突发性能实例或抢占式实例是性价比最高的方案,在云计算普及的当下,服务器不再是互联网大厂的专属玩具,对于个人用户而言,选择合适的云服务器……

    2026年5月27日
    4900
  • 服务器文件同步软件怎么选?推荐几款好用的本地同步工具

    在服务器环境中,确保关键业务数据在不同存储位置、不同设备或不同节点间保持一致、可用且安全,是运维工作的基石,服务器本地文件同步软件正是为此而生的核心工具,它通过高效的自动化机制,监控指定目录或文件的变动,并在设定的服务器节点(物理机、虚拟机、本地存储、NAS、甚至混合云环境)之间精确复制这些变更,从而实现数据的……

    2026年2月14日
    13310
  • python gittle到底是什么,怎么安装

    Python Gittle 是一个轻量级的 Git 操作库,适合快速实现仓库克隆、提交和推送等常见任务,尤其适合需要简单集成 Git 功能的 Python 项目,Python Gittle 安装教程:从零开始配置环境安装 Gittle 前需要确保系统已安装 **libgit2** 和 **C 编译器**,因为……

    2026年7月21日
    800
  • 服务器怎么搞?新手搭建服务器详细教程

    搭建并维护服务器的核心在于精准的需求定位、严谨的环境配置以及持续的安全运维,这是一个系统工程,而非单纯的硬件堆砌或软件安装,成功的服务器部署方案,必须建立在明确的业务场景之上,通过选型、部署、安全、优化四大维度的闭环管理,实现高性能与高可用的统一, 对于初次接触或希望优化现有架构的用户而言,理清这其中的逻辑链条……

    2026年3月17日
    10900

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注