DBA 日常高頻命令整理,分類標註,適合打印備查或腳本嵌入。
# RPM 安裝並放行 3306
rpm -ivh mysql-*.rpm
iptables -A INPUT -p tcp --dport 3306 -j ACCEPT
# Root 密碼管理
mysqladmin -uroot password 'newpass' # 首次設密
mysqladmin -uroot -poldpass password 'newpass' # 修改密碼
# 進入客戶端
mysql -h host -uroot -p
# 庫操作
CREATE DATABASE location;
SHOW DATABASES;
USE location;
DROP DATABASE location;
# 表操作
SHOW TABLES;
DESC Contact;
RENAME TABLE Contact TO Contact_new;
DROP TABLE Contact;
SELECT * FROM Contact;
SELECT COUNT(*) FROM Contact;
UPDATE Contact SET RegTime='2008-01-01' WHERE id=1;
UPDATE Contact SET RegTime='2008-01-01', CID=1 WHERE id=1;
INSERT INTO Contact VALUES (...);
INSERT INTO Contact (ID, CID, Contact) VALUES (...);
DELETE FROM Contact WHERE id=1;
# 創建用戶並授權
GRANT ALL ON location.* TO 'gk1020'@'10.1.11.71' IDENTIFIED BY 'gk1020';
# 回收權限
REVOKE ALL ON location.* FROM 'gk1020'@'10.1.11.71';
# 生效
FLUSH PRIVILEGES;
# 全庫導出(結構+數據)
mysqldump -uroot -p location > location.sql
# 單表導出
mysqldump -uroot -p --databases location --tables Contact > contact.sql
# 只導結構
mysqldump -d -uroot -p location > location_struct.sql
# 導入
mysql -uroot -p location < location.sql
# 結構+數據
CREATE TABLE Contact_bak AS SELECT * FROM Contact;
# 僅結構
CREATE TABLE Contact_bak AS SELECT * FROM Contact WHERE 1=2;
# 當前線程
SHOW PROCESSLIST;
# 狀態變量
SHOW GLOBAL STATUS LIKE 'Thread%';
SHOW VARIABLES LIKE 'max_connections';
location = 數據庫名Contact = 表名