「MySQL」:修訂間差異
跳至導覽
跳至搜尋
(未顯示同一使用者於中間所作的 18 次修訂) | |||
第1行: | 第1行: | ||
'''MySQL'''是一套資料庫軟體。 | '''MySQL'''是一套資料庫軟體。 | ||
== 常用指令 == | |||
除了可以用官方內建的<code>mysql</code>操作外,也可以用<code>mycli</code>操作: | |||
<syntaxhighlight lang="bash"> | |||
sudo apt install -y mycli; sudo apt clean | |||
</syntaxhighlight> | |||
=== 帳號 === | |||
開帳號以及開權限: | |||
<syntaxhighlight lang="sql"> | |||
CREATE USER `trac`@`localhost` IDENTIFIED BY 'password_here'; | |||
CREATE USER `trac`@`%` IDENTIFIED BY 'password_here'; | |||
GRANT ALL ON trac.* TO `trac`@`127.0.0.1`; | |||
GRANT ALL ON trac.* TO `trac`@`%`; | |||
</syntaxhighlight> | |||
如果是只開讀取的權限: | |||
<syntaxhighlight lang="sql"> | |||
GRANT SELECT ON trac.* TO `trac`@`127.0.0.1`; | |||
GRANT SELECT ON trac.* TO `trac`@`%`; | |||
</syntaxhighlight> | |||
刪除(同時也會移除權限): | |||
<syntaxhighlight lang="sql"> | |||
DROP USER 'trac'@'127.0.0.1'; | |||
</syntaxhighlight> | |||
只移除權限(單一資料庫或是全部),另外注意這邊的<code>ALL, GRANT OPTION</code>不是分開的兩個權限: | |||
<syntaxhighlight lang="sql"> | |||
REVOKE ALL, GRANT OPTION ON trac.* FROM 'trac'@'127.0.0.1'; | |||
REVOKE ALL, GRANT OPTION FROM 'trac'@'127.0.0.1'; | |||
</syntaxhighlight> | |||
改密碼: | |||
<syntaxhighlight lang="sql"> | |||
SET PASSWORD = 'newPassword'; | |||
</syntaxhighlight> | |||
=== 資料 === | |||
開新的資料庫,這邊刻意使用<code>utf8mb4</code>: | |||
<syntaxhighlight lang="sql"> | |||
CREATE DATABASE test CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; | |||
</syntaxhighlight> | |||
== 測試集 == | |||
MySQL官方有提供一些測試資料: | |||
* [https://dev.mysql.com/doc/sakila/en/ Sakila],2006年釋出的範例,使用了許多不同的設計(包括view、trigger,以及foreign key與constraint),裡面的資料是模擬一個DVD的租賃系統。 | |||
== 相關連結 == | == 相關連結 == | ||
* [[MariaDB]] | |||
* [[Percona Server]] | * [[Percona Server]] | ||
於 2024年12月11日 (三) 18:13 的最新修訂
MySQL是一套資料庫軟體。
常用指令
除了可以用官方內建的mysql
操作外,也可以用mycli
操作:
sudo apt install -y mycli; sudo apt clean
帳號
開帳號以及開權限:
CREATE USER `trac`@`localhost` IDENTIFIED BY 'password_here';
CREATE USER `trac`@`%` IDENTIFIED BY 'password_here';
GRANT ALL ON trac.* TO `trac`@`127.0.0.1`;
GRANT ALL ON trac.* TO `trac`@`%`;
如果是只開讀取的權限:
GRANT SELECT ON trac.* TO `trac`@`127.0.0.1`;
GRANT SELECT ON trac.* TO `trac`@`%`;
刪除(同時也會移除權限):
DROP USER 'trac'@'127.0.0.1';
只移除權限(單一資料庫或是全部),另外注意這邊的ALL, GRANT OPTION
不是分開的兩個權限:
REVOKE ALL, GRANT OPTION ON trac.* FROM 'trac'@'127.0.0.1';
REVOKE ALL, GRANT OPTION FROM 'trac'@'127.0.0.1';
改密碼:
SET PASSWORD = 'newPassword';
資料
開新的資料庫,這邊刻意使用utf8mb4
:
CREATE DATABASE test CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
測試集
MySQL官方有提供一些測試資料:
- Sakila,2006年釋出的範例,使用了許多不同的設計(包括view、trigger,以及foreign key與constraint),裡面的資料是模擬一個DVD的租賃系統。
相關連結
外部連結
- 官方網站 (英文)