MySQL#0 新手入門:安裝、登入與新增使用者權限管理 | seansie blog
mysql介紹
MySQL,一款開放原始碼的關聯式資料庫管理系統,以其卓越的效能、可靠性和彈性,在資料庫領域獨樹一幟。它不僅能高效處理巨量資料,滿足各類應用場景的需求,還具備跨平台相容性,為開發者提供廣闊的選擇空間。
MySQL 的強大功能體現在它對 SQL 標準的全面支援,使得複雜的資料操作變得輕而易舉。同時,它擁有龐大而活躍的社群,為使用者提供豐富的學習資源和技術支援。
mysql可以適用於多種應用情境,無論是建構動態網站、開發企業級應用,還是部署在資源受限的嵌入式系統中,MySQL 都能勝任。它在資料儲存、檢索和管理方面的出色表現,使其成為眾多開發者和企業的首選資料庫解決方案。
更重要的是,MySQL 始終保持著與時俱進的步伐,不斷推出新功能和優化,以適應雲端運算和大數據等新興技術的發展趨勢。
安裝
在ubuntu可以透過apt安裝, 因為該檔案頗小,所以速度應該挺快的。
sudo apt install mysql-server
接著要確認mysql是否有成功啟動,先用root
身分執行一下 mysql
,如果不能用root可以用sudo,原因請見下一節,如果沒有成功啟動,會有如下的錯誤訊息。
root@LAPTOP-MBDVAQ4B:~# mysql
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
如果沒有成功啟動的話,需要透過此命令來啟動。
seansie0830@LAPTOP-MBDVAQ4B:~$ sudo service mysql start
* Starting MySQL database server mysqld su: warning: cannot change directory to /nonexistent: No such file or directory
然後再以root身分來執行mysql
這個命令,如果最後出現 mysql
(詳情請見下節)就代表進入成功,可以輸入 exit
來離開這個環境。
以root身分登入
在 MySQL 中,root 帳號擁有最高權限,首次安裝 MySQL 時,預設只有 root 帳號可用。接下來,我們將說明如何使用 root 身分登入 MySQL 系統。請注意,此處的 root 帳號與 Linux 系統中的 root 帳號是不同的概念,請勿混淆。
MySQL 新版本(8.0 以上)簡化了 root 帳號的登入流程。系統會利用 Linux 的 root 帳號來驗證使用者身分,因此,只要使用 Linux 的 root 帳號執行 MySQL,系統就會直接預設您擁有 MySQL 的 root 權限。這種方式讓使用者更方便,因為只需記住一個密碼。
要使用這個方法,請先切換到 Linux 的 root 帳號,以進行驗證和登入。您可以使用以下命令,輸入 Linux 的密碼後,即可切換到 root 帳號(或是要用sudo也可以):
sudo -i
然後看到提示字元後面是 #
的時候就代表已經順利的切換成 root
帳號了,接著就可以執行mysql命令了
mysql
然後看到
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 17
Server version: 8.0.39-0ubuntu0.22.04.1 (Ubuntu)
Copyright (c) 2000, 2024, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
的時候,就代表已經進入了mysql的命令提示字元,幾乎所有使用者的操作都需要在這裡完成,當然包括新增使用者。
新增使用者
可以使用這個命令來完成
CREATE USER 'guest'@'localhost' IDENTIFIED BY 'password';
- 將
'password'
替換為您想要設定的實際密碼。 'localhost'
表示這個使用者只能從本機連線到 MySQL 伺服器。如果您希望允許從任何主機連線,請將其替換為'%'
。
然後就跟linux一樣,mysql也是有權限管理的機制,白話文就是每個使用者能碰的東西會不一樣,像是root使用者就可以碰所有東西,而其他普通使用者可能就會有所限制。
以下是授予guest使用者資料庫的所有權限的敘述示範
GRANT ALL PRIVILEGES ON database_name.* TO 'guest'@'localhost';
以該使用者身分登入
mysql -u guest -p
mysql
:這是 MySQL 用戶端程式的名稱,用來讓linux系統執行之。u guest
:這部分指定了你要用何種使用者帳號來登入資料庫。這裡的guest
表示你要用「guest」這個帳號來連線。p
:這個選項告訴 MySQL 用戶端程式,你接下來會輸入密碼。輸入這條指令後,程式會提示你輸入「guest」這個帳號的密碼。
簡單來說,這條指令就是叫 MySQL 程式用「guest」這個帳號,並提示你輸入密碼來登入資料庫。
請注意:在實際環境中使用「guest」帳號通常只會給予非常有限的權限,甚至可能根本不允許登入。這是為了保護資料庫的安全。
接著會出現enter password,請輸入密碼,為了資安考量,正常來說密碼是不會顯示在螢幕的,如果沒看到請繼續輸入不用擔心,輸入按下enter送出。
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 12
Server version: 8.0.39-0ubuntu0.22.04.1 (Ubuntu)
Copyright (c) 2000, 2024, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
然後就會看到上述的畫面,這樣就是已經成功地以guest身分登入mysql伺服器了。