MySQL
MySQL是一套资料库软体。
常用指令
除了可以用官方内建的mysql
操作外,也可以用mycli
操作:
sudo apt install -y mycli; sudo apt clean
帐号
开帐号以及开权限。
由于我们现在会设定skip-name-resolve
(减少连线所需要的时间),这边要注意localhost
与127.0.0.1
的差异(前者只剩下UNIX socket的设定,后者会是对127.0.0.1
的TCP socket的设定,可以被%
包括):
CREATE USER `trac`@`localhost` IDENTIFIED BY 'password_here';
CREATE USER `trac`@`%` IDENTIFIED BY 'password_here';
GRANT ALL ON trac.* TO `trac`@`localhost`;
GRANT ALL ON trac.* TO `trac`@`%`;
如果是只开读取的权限:
GRANT SELECT ON trac.* TO `trac`@`localhost`;
GRANT SELECT ON trac.* TO `trac`@`%`;
删除(同时也会移除权限):
DROP USER 'trac'@'localhost';
只移除权限(单一资料库或是全部),另外注意这边的ALL, GRANT OPTION
不是分开的两个权限:
REVOKE ALL, GRANT OPTION ON trac.* FROM 'trac'@'localhost';
REVOKE ALL, GRANT OPTION FROM 'trac'@'localhost';
改密码:
SET PASSWORD = 'newPassword';
资料
开新的资料库,这边刻意使用utf8mb4
:
CREATE DATABASE test CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
测试集
MySQL官方有提供一些测试资料:
- Sakila,2006年释出的范例,使用了许多不同的设计(包括view、trigger,以及foreign key与constraint),里面的资料是模拟一个DVD的租赁系统。
相关连结
外部连结
- 官方网站 (英文)