萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 程式設計 >  >> 資料庫 >> MySQL 教學

MySQL 常用操作命令大全:服務管理、連線、使用者、資料庫/表操作、備份還原、編碼設定

服務管理 (Linux)


# 啟動
systemctl start mysqld
# 或
/etc/init.d/mysql start

# 重啟
systemctl restart mysqld

# 停止
systemctl stop mysqld
# 或
mysqladmin -u root -p shutdown

連線與基本操作


# 連線
mysql -u root -p
# 退出
EXIT;  或  QUIT;  或  \q

# 修改密碼
mysqladmin -u root -p'old' password 'new'
# 或在客戶端
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('new');
FLUSH PRIVILEGES;

使用者管理


-- 建立使用者 (可指定主機 %)
CREATE USER 'test'@'%' IDENTIFIED BY '123';

-- 授權 (全庫全表 CRUD)
GRANT SELECT, INSERT, UPDATE, DELETE ON *.* TO 'test'@'%';
FLUSH PRIVILEGES;

資料庫操作


SHOW DATABASES;
USE db_name;
CREATE DATABASE db_name CHARACTER SET utf8mb4;
DROP DATABASE db_name;

資料表操作


SHOW TABLES;
DESC table_name;        -- 結構
CREATE TABLE t (id INT PRIMARY KEY, name VARCHAR(20));
DROP TABLE t;
TRUNCATE TABLE t;       -- 清空並重置 AUTO_INCREMENT
DELETE FROM t;          -- 清空但保留 AUTO_INCREMENT
SELECT * FROM t;

編碼修改


-- 全域 (啟動參數)
mysqld --default-character-set=utf8mb4

-- 單庫
ALTER DATABASE db_name CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

-- 連線編碼
SET NAMES utf8mb4;

資料匯入匯出

匯出


# 全庫
mysqldump --opt db_name > backup.sql
# 指定表
mysqldump --opt db_name tbl1 tbl2 > backup.sql
# 多庫
mysqldump --databases db1 db2 > backup.sql
# 遠端
mysqldump -h host -u user -p --databases db_name > backup.sql
# 所有庫
mysqldump --all-databases > all.sql

匯入


mysql -u root -p db_name < backup.sql
# 或客戶端
SOURCE /path/backup.sql;

文字檔匯入


-- 格式:欄位用 Tab 分隔,NULL 用 \N
LOAD DATA LOCAL INFILE 'data.txt' INTO TABLE tbl_name;

備份腳本範例 (Windows 批次檔)


@echo off
set DATE=%date:~0,4%%date:~5,2%%date:~8,2%
mysqldump -u root -p"pwd" --single-transaction db_name > D:\backup\db_%DATE%.sql
copyright © 萬盛學電腦網 all rights reserved