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

MySQL DBA 必備:常用操作、備份恢復與權限管理全攻略

     編輯:MySQL 資料庫相關知識

資深 DBA 總結的 MySQL 日常操作精華,涵蓋備份恢復、連接管理、基礎 DDL/DML、密碼與權限體系。

一、極簡文件級備份恢復(MyISAM 適用)

原理:MyISAM 表對應 .frm/.MYD/.MYI 三文件,直接拷貝數據目錄下庫文件夾即可。

# 源庫
cp -r /var/lib/mysql/TestA /backup/

# 目標庫
cp -r /backup/TestA /var/lib/mysql/
# 刷新權限或重啟服務

限制:僅適用 MyISAM、同版本、同架構;InnoDB 共享表空間不可用此法。

二、標準連接命令

# 本地
mysql -uroot -p

# 遠程
mysql -h 110.110.110.110 -uroot -pabcd123

# 退出
exit

三、實用操作技巧

  • 命令未結束(缺分號) → 補分號回車繼續
  • 上下鍵調用歷史命令(需新版本支援)
  • 批量執行:mysql -uroot -p < school.sql

四、核心顯示命令

操作命令
顯示庫SHOW DATABASES;
顯示表USE db; SHOW TABLES;
表結構DESC table_name;
建庫CREATE DATABASE name;
建表CREATE TABLE t (id INT PRIMARY KEY AUTO_INCREMENT, name CHAR(10));
刪庫/表DROP DATABASE/TABLE name;
清空表DELETE FROM table; / TRUNCATE TABLE table;
查詢所有SELECT * FROM table;

五、完整建庫建表示例

DROP DATABASE IF EXISTS school;
CREATE DATABASE school;
USE school;
CREATE TABLE teacher (
    id INT(3) AUTO_INCREMENT PRIMARY KEY,
    name CHAR(10) NOT NULL,
    address VARCHAR(50) DEFAULT '深圳',
    year DATE
);
INSERT INTO teacher VALUES (NULL, 'glchengang', '深圳一中', '1976-10-10');
INSERT INTO teacher VALUES (NULL, 'jack', '深圳一中', '1975-12-23');

六、密碼管理

# 首次給 root 設密碼
mysqladmin -uroot password 'ab12'

# 修改密碼
mysqladmin -uroot -pab12 password 'djg345'

七、用戶授權體系

# 通配主機(危險)
GRANT SELECT,INSERT,UPDATE,DELETE ON *.* TO 'test1'@'%' IDENTIFIED BY 'abc';

# 本地只讀業務庫(安全)
GRANT SELECT,INSERT,UPDATE,DELETE ON mydb.* TO 'test2'@'localhost' IDENTIFIED BY 'abc';

# 移除密碼
GRANT SELECT ON mydb.* TO 'test2'@'localhost' IDENTIFIED BY '';

核心原則:最小權限、限制主機、業務專用賬號。

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