首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

MySQL 基礎操作入門:從登錄到備份恢復完整指南

     編輯:MySQL 資料庫相關知識

基本規範

每條命令以分號 ; 結尾。交互模式下可用 \g 或 \G(垂直顯示)。

核心操作速查表

庫級操作

SHOW DATABASES;           -- 顯示所有庫
USE db_name;              -- 切換庫
CREATE DATABASE db_name;  -- 創建庫
DROP DATABASE db_name;    -- 刪庫

表級操作


SHOW TABLES;              -- 顯示表
DESC table_name;          -- 表結構
CREATE TABLE t (
  id INT(3) AUTO_INCREMENT PRIMARY KEY,
  name CHAR(8),
  sex CHAR(2),
  birth DATE
);
DROP TABLE table_name;    -- 刪表

數據增刪改查 (CRUD)


-- 插入
INSERT INTO t VALUES('', '張三', '男', '1971-10-01');
-- 查詢
SELECT * FROM t;
SELECT * FROM t WHERE name='張三';
-- 更新
UPDATE t SET birth='1971-01-10' WHERE name='張三';
-- 刪除
DELETE FROM t WHERE name='張三';
-- 清空表(比 DELETE 快,重置自增 ID)
TRUNCATE TABLE t;

用戶權限體系


-- 創建用戶並授權(主機 % 表示任意 IP)
GRANT SELECT,INSERT,UPDATE,DELETE ON *.* TO 'user1'@'%' IDENTIFIED BY '123';
-- 僅本地訪問,限定庫
GRANT SELECT,INSERT,UPDATE,DELETE ON mydb.* TO 'user2'@'localhost' IDENTIFIED BY '123';
FLUSH PRIVILEGES;

-- 查看/回收權限
SHOW GRANTS FOR 'user2'@'localhost';
REVOKE DELETE ON mydb.* FROM 'user2'@'localhost';

-- 危險權限慎給:SUPER, PROCESS, FILE

備份與恢復


# 邏輯備份
mysqldump -u root -p --opt db_name > backup.sql
mysqldump -u root -p db_name | gzip > backup.sql.gz

# 只導結構/只導數據
mysqldump -d -u root -p db_name > ddl.sql
mysqldump -t -n -u root -p db_name > data.sql

# 恢復
mysql -u root -p db_name < backup.sql
gunzip < backup.sql.gz | mysql -u root -p db_name

# 表級導出導入
SELECT * INTO OUTFILE '/tmp/data.txt' FIELDS TERMINATED BY ',' ENCLOSED BY '"' FROM t;
LOAD DATA INFILE '/tmp/data.txt' INTO TABLE t FIELDS TERMINATED BY ',' ENCLOSED BY '"';

日志管理

  • 錯誤日志:--log-error[=file],默認 hostname.err
  • 二進制日志:記錄 DDL/DML,mysqlbinlog log-file 解析
  • 查詢日志:記錄所有客戶端語句
  • 慢查詢日志:hostname-slow.log,工具 mysqldumpslow 分析

日志清理:RESET MASTER;、PURGE MASTER LOGS TO 'bin.000006';、PURGE MASTER LOGS BEFORE '2023-01-01';、配置 expire_logs_days=7 自動過期。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved