如何快速拓展人脉?

访问前的准备工作

  1. 确保 MySQL 服务已运行
    sudo systemctl status mysql   # 检查服务状态
    sudo systemctl start mysql    # 若未运行则启动服务
  2. 获取有效账户信息
    • 需准备 MySQL 用户名和密码(默认管理员账户为 root)。
    • 新安装的 MySQL 可通过临时密码登录(路径:/var/log/mysqld.logsudo grep 'temporary password' /var/log/mysqld.log)。

通过命令行访问(最常用)

使用 mysql 客户端工具

   mysql -u 用户名 -p
  • 输入命令后按提示输入密码。
  • 示例:mysql -u root -p → 输入密码进入交互界面。

执行 SQL 操作

   SHOW DATABASES;          -- 查看所有数据库
   USE 数据库名;            -- 选择数据库
   SELECT * FROM 表名;      -- 查询数据
   EXIT;                    -- 退出

直接执行单条命令(适合脚本)

   mysql -u root -p密码 -e "SHOW DATABASES;"  # 注意密码与-p之间无空格

通过图形化工具访问

phpMyAdmin(Web 端)

  • 安装步骤
    sudo apt install phpmyadmin  # Debian/Ubuntu
    sudo dnf install phpmyadmin   # CentOS/RHEL
  • 访问:http://服务器IP/phpmyadmin,用 MySQL 账户登录。

MySQL Workbench(桌面端)

  • 从 MySQL 官网 下载安装包。
  • 启动后点击 “+” 新建连接,输入主机 IP、端口(默认 3306)、用户名和密码。

编程语言连接示例

Python(使用 pymysql 库)

import pymysql
conn = pymysql.connect(
    host='localhost', 
    user='root',
    password='your_password',
    database='test_db'
)
# 执行查询
cursor = conn.cursor()
cursor.execute("SELECT VERSION()")
print(cursor.fetchone())  # 输出 MySQL 版本
conn.close()

PHP(使用 PDO 扩展)

<?php
$dsn = 'mysql:host=localhost;dbname=test_db;charset=utf8';
$user = 'root';
$pass = 'your_password';
try {
    $pdo = new PDO($dsn, $user, $pass);
    echo "连接成功!";
} catch (PDOException $e) {
    die("连接失败: " . $e->getMessage());
}
?>

常见问题解决

  1. 连接被拒绝(ERROR 2002)

    • 检查 MySQL 服务状态:sudo systemctl status mysql
    • 确认是否绑定到本地地址:查看 /etc/mysql/mysql.conf.d/mysqld.cnfbind-address = 127.0.0.1(改为 0.0.0 可远程访问,需重启服务)。
  2. 权限错误(ERROR 1045)

    • 重置密码:
      sudo mysql --skip-grant-tables   # 免密启动
      mysql> UPDATE mysql.user SET authentication_string=PASSWORD('新密码') WHERE User='root';
      mysql> FLUSH PRIVILEGES;
  3. 防火墙拦截

    • 开放 3306 端口:
      sudo ufw allow 3306/tcp  # Ubuntu
      sudo firewall-cmd --add-port=3306/tcp --permanent  # CentOS

安全建议

  1. 避免使用 root 账户

    • 为每个应用创建独立用户并授权:
      CREATE USER 'app_user'@'localhost' IDENTIFIED BY 'strong_password';
      GRANT SELECT, INSERT ON db_name.* TO 'app_user'@'localhost';
  2. 启用 SSL 加密

    • 在 MySQL 配置文件中启用 require_secure_transport=ON
  3. 定期备份

    • 使用 mysqldump
      mysqldump -u root -p 数据库名 > backup.sql

掌握 Linux 下访问 MySQL 的方法能显著提升工作效率,命令行适合快速操作和自动化脚本,图形工具适合数据可视化管理,编程接口则用于应用集成,遇到问题时,优先检查服务状态、网络连接和账户权限,保持软件更新并遵循最小权限原则,可确保数据库安全稳定运行。

引用说明:本文操作基于 MySQL 8.0 及主流 Linux 发行版(Ubuntu/CentOS),安全建议参考 MySQL 官方安全指南,命令行工具文档详见 man mysql

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/5772.html

(0)
酷番叔酷番叔
上一篇 2025年6月27日 21:56
下一篇 2025年6月27日 22:22

相关推荐

  • 如何高效定位Linux目录?

    使用 find 命令(最灵活强大)find 是Linux最强大的文件搜索工具,支持按名称、类型、时间等条件深度搜索,基本语法:find [搜索路径] -type d -name "目录名"关键参数:-type d:限定只搜索目录(非文件)-name:按名称匹配(支持通配符和)-iname:忽……

    2025年7月12日
    1100
  • 如何查看SD卡设备标识?

    准备工作硬件需求SD卡(建议Class 10以上,容量≥16GB)SD卡读卡器目标设备(如树莓派、笔记本电脑)软件与资源Linux镜像:从官方渠道下载(如Ubuntu、Raspberry Pi OS)烧录工具(任选其一):Windows/macOS:BalenaEtcher(图形化,推荐新手)Windows:R……

    2025年7月5日
    1100
  • 为什么更新软件包是必做步骤?

    优先推荐:使用包管理器(最安全高效)Linux 各发行版提供官方软件仓库,通过包管理器安装可自动解决依赖关系并确保安全性,APT (Debian/Ubuntu/Mint 等)# 安装软件(以 Firefox 为例)sudo apt install firefox# 卸载软件sudo apt remove fir……

    3天前
    900
  • Linux如何自动识别硬件?

    硬件识别的核心机制内核驱动框架Linux内核包含设备驱动(内核模块),直接与硬件交互,当检测到新硬件时,内核自动加载对应驱动模块(如usb_storage.ko用于U盘),驱动目录:/lib/modules/$(uname -r)/kernel/drivers/,硬件抽象层sysfs虚拟文件系统(挂载于/sys……

    2025年7月9日
    900
  • 为什么你的Ubuntu/Debian系统卡顿?彻底解决!

    确认软件具体指代常见可能性Autodesk Revit 2022 (R12):Windows专属软件,无法直接在Linux运行,需通过虚拟机或Wine兼容层(不推荐,性能差),R语言v12.x:R语言通常以3.x/4.x版本命名,无v12版,若需安装R语言,见第三节,自定义/冷门工具:如r12是私有软件,需提供……

    2025年6月13日
    1300

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信