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

MySQL 入門到精通:連線、帳號、備份、匯出匯入、實體複製八大核心技巧

     編輯:MySQL 資料庫相關知識

一、連線 MySQL

# 本機
mysql -u root -p

# 遠端
mysql -h 192.168.1.100 -u root -p

# 參數說明
-h host     # 主機
-u user     # 用戶
-p[pass]    # 密碼(-p 後直接接密碼無空格,或留空提示輸入)
-P port     # 埠(預設 3306)
-D db       # 預設資料庫

二、修改密碼

# 首次設定(無舊密碼)
mysqladmin -u root password 'newpass'

# 修改密碼
mysqladmin -u root -p'oldpass' password 'newpass'

# SQL 方式
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass');
FLUSH PRIVILEGES;

三、建立帳號與授權

-- 建立可從任意主機連線的完整權限帳號
CREATE USER 'dev'@'%' IDENTIFIED BY 'StrongPass123!';
GRANT ALL PRIVILEGES ON *.* TO 'dev'@'%' WITH GRANT OPTION;

-- 僅本機存取特定庫
CREATE USER 'app'@'localhost' IDENTIFIED BY 'AppPass456!';
GRANT SELECT, INSERT, UPDATE, DELETE ON mydb.* TO 'app'@'localhost';

-- 撤銷權限
REVOKE ALL PRIVILEGES ON *.* FROM 'dev'@'%';
DROP USER 'dev'@'%';

FLUSH PRIVILEGES;

四、常用顯示指令

SHOW DATABASES;
USE mysql;
SHOW TABLES;
DESCRIBE user;
SHOW GRANTS FOR 'root'@'localhost';

五、建庫建表插入資料

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 (name, address, year) VALUES
('glchengang', '深圳一中', '1976-10-10'),
('jack', '深圳一中', '1975-12-23');

六、文字檔匯入資料

# 資料格式:欄位用 Tab 分隔,NULL 用 \N
3	rose	深圳二中	1976-10-10
4	mike	深圳一中	1975-12-23

# 匯入指令
LOAD DATA LOCAL INFILE 'teacher.txt' INTO TABLE teacher;

七、備份與還原

邏輯備份

# 單庫
mysqldump -u root -p --single-transaction --master-data=2 school > school.sql

# 全庫
mysqldump -u root -p -A --single-transaction --master-data=2 > all.sql

# 還原
mysql -u root -p school < school.sql
# 或進入 MySQL
SOURCE school.sql;

實體備份(冷備份)

# 停止服務
systemctl stop mysqld

# 打包資料目錄
tar czf mysql_data_$(date +%F).tar.gz /var/lib/mysql

# 還原:解壓覆蓋 /var/lib/mysql,修正權限,啟動服務
# 注意:版本、OS、架構必須一致

八、服務管理

systemctl start|stop|restart|status mysqld
# 或舊版
service mysqld start|stop|restart
/etc/init.d/mysqld start|stop|restart

進階技巧

  • 大檔案匯入:mysql -u root -p --max_allowed_packet=1G db < big.sql
  • 只匯出結構:mysqldump -d db > schema.sql
  • 只匯出資料:mysqldump -t db > data.sql
  • 壓縮傳輸:mysqldump -u root -p db | gzip > db.sql.gz
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved