如何快速拓展人脉?

访问前的准备工作

  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

相关推荐

  • define GNU_SOURCE

    在Linux系统中,隐藏进程通常涉及高级内核操作或权限隔离技术,需Root权限且主要用于安全研究、渗透测试等合法场景,以下是几种技术原理和实现方法,请严格遵守法律法规:内核模块劫持(动态库注入)原理:通过LD_PRELOAD劫持系统调用(如readdir),过滤进程信息,步骤:创建劫持库文件 hide_proc……

    2025年7月6日
    4900
  • Linux命令行界面如何快速入门与高效操作?

    Linux命令行界面(CLI)是Linux系统的核心交互方式,通过文本指令实现高效操作,尤其适合服务器管理、自动化脚本和深度系统配置,掌握CLI需从基础操作逐步深入,以下从多个维度详细说明其使用方法,如何进入和退出Linux命令行界面进入CLI的方式取决于系统环境:本地虚拟终端:在图形界面下按Ctrl+Alt……

    2025年10月2日
    2500
  • Linux系统如何有效清除内存空间并释放闲置内存?

    Linux系统中的内存管理机制与其他操作系统有所不同,它会主动利用空闲内存作为缓存(Cache)和缓冲区(Buffers),以提升文件读写和系统响应速度,当用户查看内存使用情况时,常会发现“已用内存”较高,但这并不意味着内存不足或需要手动清理,若确实需要释放被占用的内存(如缓存),可通过特定操作实现,以下是详细……

    2025年10月4日
    800
  • Linux下vi编辑器如何进行修改?

    在Linux系统中,vi(或其增强版vim)是最常用的文本编辑器之一,掌握其修改操作是Linux用户的基本技能,本文将详细介绍vi编辑器中修改文本的具体方法,包括模式切换、基本编辑、文件保存等核心操作,帮助用户高效完成文本修改任务,vi编辑器的启动与模式基础vi编辑器有三种核心工作模式:命令模式(默认进入模式……

    2025年10月2日
    1200
  • Linux如何设置代理IP?

    在Linux系统中配置代理IP是突破网络限制、提高访问速度或保护隐私的常见需求,本文将详细介绍多种代理配置方法,涵盖环境变量、工具代理、系统级代理等场景,帮助用户根据实际需求灵活选择,环境变量配置(基础通用方法)环境变量配置是最简单直接的代理设置方式,适用于大多数命令行工具(如curl、wget、apt等)和脚……

    2025年9月18日
    2200

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信