MySQL:修订间差异

来自Gea-Suan Lin's Wiki
跳到导航 跳到搜索
此页面具有访问限制。如果您看见此消息,则说明您没有权限访问此页面。
 
(未显示同一用户的16个中间版本)
第2行: 第2行:


== 常用指令 ==
== 常用指令 ==
 開帳號 順便 開權限:
 
<syntaxhighlight syntax="sql">
除了可以用官方內建的<code>mysql</code>操作外,也可以用<code>mycli</code>操作:
GRANT ALL ON trac.* TO `trac`@`localhost` IDENTIFIED BY 'password_here';
 
<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>
 
只移除權限(單一資料庫或是全部):
 
<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>
改密碼:
<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]]



2023年10月26日 (四) 20:25的最新版本

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';

只移除权限(单一数据库或是全部):

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的租赁系统。

相关连结

外部链接