插件窝 干货文章 Linux下如何管理 Mysql 数据库?

Linux下如何管理 Mysql 数据库?

MySQL systemctl sudo 数据库 378    来源:    2025-05-11

Linux下MySQL数据库管理指南

安装MySQL

在基于Debian的系统(如Ubuntu)上安装:

sudo apt update
sudo apt install mysql-server
sudo systemctl start mysql
sudo systemctl enable mysql

在基于RHEL的系统(如CentOS)上安装:

sudo yum install mysql-server
sudo systemctl start mysqld
sudo systemctl enable mysqld

基本管理命令

启动/停止/重启MySQL服务

sudo systemctl start mysql    # 启动
sudo systemctl stop mysql     # 停止
sudo systemctl restart mysql  # 重启
sudo systemctl status mysql   # 查看状态

安全配置(初次安装后运行)

sudo mysql_secure_installation

使用MySQL命令行客户端

登录MySQL

mysql -u root -p

常用MySQL命令

SHOW DATABASES;                  -- 显示所有数据库
CREATE DATABASE dbname;          -- 创建新数据库
USE dbname;                      -- 选择数据库
SHOW TABLES;                     -- 显示当前数据库的所有表
DESCRIBE tablename;              -- 显示表结构
SELECT * FROM tablename;         -- 查询表中所有数据

用户和权限管理

创建用户

CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';

授予权限

GRANT ALL PRIVILEGES ON dbname.* TO 'username'@'localhost';
FLUSH PRIVILEGES;  -- 刷新权限

撤销权限

REVOKE ALL PRIVILEGES ON dbname.* FROM 'username'@'localhost';

删除用户

DROP USER 'username'@'localhost';

备份与恢复

备份单个数据库

mysqldump -u username -p dbname > dbname_backup.sql

备份所有数据库

mysqldump -u username -p --all-databases > all_databases_backup.sql

恢复数据库

mysql -u username -p dbname < dbname_backup.sql

性能监控与优化

查看运行状态

SHOW STATUS;
SHOW PROCESSLIST;  -- 查看当前连接

查看变量设置

SHOW VARIABLES;

优化表

OPTIMIZE TABLE tablename;

配置文件管理

MySQL的主要配置文件通常位于: - /etc/mysql/my.cnf (Debian/Ubuntu) - /etc/my.cnf (RHEL/CentOS)

修改配置后需要重启MySQL服务生效。

日志管理

MySQL日志文件通常位于: - 错误日志:/var/log/mysql/error.log/var/log/mysqld.log - 查询日志:由配置文件中的general_log_file参数指定

您可以通过以下SQL命令启用查询日志:

SET GLOBAL general_log = 'ON';
SET GLOBAL slow_query_log = 'ON';

常见问题排查

  1. 忘记root密码

    sudo systemctl stop mysql
    sudo mysqld_safe --skip-grant-tables &
    mysql -u root
    

    然后在MySQL中执行:

    FLUSH PRIVILEGES;
    ALTER USER 'root'@'localhost' IDENTIFIED BY 'newpassword';
    exit;
    

    最后重启MySQL服务。

  2. 连接问题

    • 检查MySQL服务是否运行
    • 检查防火墙设置
    • 检查用户权限和主机限制
  3. 性能问题

    • 使用EXPLAIN分析查询
    • 检查慢查询日志
    • 优化索引和查询语句

以上是Linux下MySQL数据库管理的基本指南,根据您的具体需求和环境可能需要进行适当调整。