Affected files: .obsidian/workspace 01. 個人/02. 專注Study/20150803 - Android/Android programming.md 01. 個人/02. 專注Study/20220601 - C++/C++17 1.md 03. 資料收集/01. 架站/01. Nginx Layer4 Reverse Proxy.md 03. 資料收集/Android operating.md 03. 資料收集/DB/MySQL.md 03. 資料收集/DB/sqlite.md 03. 資料收集/NextDNS.md 03. 資料收集/SLAM.md 03. 資料收集/V2Ray.md 03. 資料收集/__templates/blogHeader.md 03. 資料收集/__templates/date.md 03. 資料收集/__templates/front matter.md 03. 資料收集/__templates/note.md 03. 資料收集/__templates/table.md 03. 資料收集/__templates/thisWeek.md 03. 資料收集/__templates/日記.md 03. 資料收集/__templates/讀書筆記.md 03. 資料收集/frp.md 03. 資料收集/youtube-dl.md 03. 資料收集/架站/02. SWAG Reverse proxy.md 03. 資料收集/架站/03. Trojan.md 03. 資料收集/架站/04. Gitea.md 03. 資料收集/架站/Nginx/Reverse Proxy(Layer4).md 03. 資料收集/模型/Traxxas Sledge.md 03. 資料收集/模型/舊化作例.md 03. 資料收集/財經.md 03. 資料收集/軍武/虎式.md 03. 資料收集/面試準備/技术面试最后反问面试官的话.md
3.9 KiB
3.9 KiB
Install MySQL
- 下載MySQL: https://downloads.mysql.com/archives/installer/
- 安裝
- 安裝之後,執行MSQL Installer - Community
- 選擇MySQL Server的Reconfigure
- 依序設定port、帳號密碼。
Install MariaDB
sudo apt install mariadb-server- Configuring MariaDB:
sudo mysql_secure_installation這步驟會問幾個問題,大概是: 1. 輸入目前root的密碼 2. 是否要切換為unix_socket? -> No 3. 要變更root的密碼嗎?-> No - Testing MariaDB:
sudo systemctl status mariadb - Show version:
sudo mysqladmin version
Syntax
Basic
login as root: mysql -u root -p
User management
Create user
CREATE USER 'testuser'@'localhost' IDENTIFIED BY 'test123test!';
Remove user
DROP USER 'testuser'@'localhost';
Grant user's permission
Below commands grant user's permission to CREATE and DROP.
GRANT CREATE ON *.* TO 'testuser'@'localhost';
GRANT DROP ON tutorial_database.* TO 'testuser'@'localhost';
FLUSH PRIVILEGES;
Remove user's permission
REVOKE <permission> ON database.table FROM 'user'@'localhost';
上面命令中的<permission>必須替換成下面的其中一個:
- ALL - Allow complete access to a specific database. If a database is not specified, then allow complete access to the entirety of MySQL.
- CREATE - Allow a user to create databases and tables.
- DELETE - Allow a user to delete rows from a table.
- DROP - Allow a user to drop databases and tables.
- EXECUTE - Allow a user to execute stored routines.
- GRANT OPTION - Allow a user to grant or remove another user's privileges.
- INSERT - Allow a user to insert rows from a table.
- SELECT - Allow a user to select data from a database.
- SHOW DATABASES- Allow a user to view a list of all databases.
- UPDATE - Allow a user to update rows in a table.
例如:REVOKE CREATE ON *.* FROM 'testuser'@'localhost';
最後,不要忘記FLUSH PRIVILEGES;
Show user's permission
SHOW GRANTS FOR 'testuser'@'localhost';
Change user's password
ALTER USER 'user-name'@'localhost' IDENTIFIED BY 'NEW_USER_PASSWORD';
View all users
SELECT User,Host FROM mysql.user;
Database
Show all databases
SHOW DATABASES;
Create table
The rule:
CREATE TABLE table_name (column_name column_type);
Example:
CREATE TABLE tutorials_tbl(
tutorial_id INT NOT NULL AUTO_INCREMENT,
tutorial_title VARCHAR(100) NOT NULL,
tutorial_author VARCHAR(40) NOT NULL,
submission_date DATE,
PRIMARY KEY ( tutorial_id )
);
use autostation;
CREATE TABLE station_state(
id CHAR(255) NOT NULL,
ip CHAR(255) NOT NULL,
dhcp_ip CHAR(255) NOT NULL,
name CHAR(255) NOT NULL,
setupfilemd5 CHAR(255) NOT NULL,
setupfileversion CHAR(255) NOT NULL,
status CHAR(255) NOT NULL,
update_time DATETIME NOT NULL,
PRIMARY KEY ( id )
);
Insert
The rule:
INSERT INTO <table_name> ( field1, field2,...fieldN )
VALUES
( value1, value2,...valueN );
Example:
INSERT INTO client_state ( field1, field2,...fieldN )
VALUES
( value1, value2,...valueN );
參考
- Create a MySQL User on Linux via Command Line | Liquid Web - Grant Permissions to a MySQL User on Linux via Command Line | Liquid Web - Remove Permissions for a MySQL User on Linux via Command Line - Liquid Web - Remove a MySQL User on Linux via Command Line - Liquid Web

