MySQL的安裝以及基本的管理命令和設定

highhand發表於2021-09-09

MySQL 安裝
Linux/UNIX上安裝Mysql
Linux平臺上推薦使用RPM包來安裝Mysql,MySQL AB提供了以下RPM包的下載地址:

  • MySQL - MySQL伺服器。你需要該選項,除非你只想連線執行在另一臺機器上的MySQL伺服器。

  • MySQL-client - MySQL 客戶端程式,用於連線並操作Mysql伺服器。

  • MySQL-devel - 庫和包含檔案,如果你想要編譯其它MySQL客戶端,例如Perl模組,則需要安裝該RPM包。

  • MySQL-shared - 該軟體包包含某些語言和應用程式需要動態裝載的共享庫(libmysqlclient.so*),使用MySQL。

  • MySQL-bench - MySQL資料庫伺服器的基準和效能測試工具。

以下安裝Mysql RMP的例項是在SuSE Linux系統上進行,當然該安裝步驟也適合應用於其他支援RPM的Linux系統,如:Centos。

安裝步驟如下:
使用root使用者登陸你的Linux系統。
下載Mysql RPM包,下載地址為:MySQL 下載。
透過以下命令執行Mysql安裝,rpm包為你下載的rpm包:

?

1 [root@host]# rpm -i MySQL-5.0.9-0.i386.rpm

以上安裝mysql伺服器的過程會建立mysql使用者,並建立一個mysql配置檔案my.cnf。
你可以在/usr/bin和/usr/sbin中找到所有與MySQL相關的二進位制檔案。所有資料表和資料庫將在/var/lib/mysql目錄中建立。
以下是一些mysql可選包的安裝過程,你可以根據自己的需要來安裝:

?

1234 [root@host]# rpm -i MySQL-client-5.0.9-0.i386.rpm[root@host]# rpm -i MySQL-devel-5.0.9-0.i386.rpm[root@host]# rpm -i MySQL-shared-5.0.9-0.i386.rpm[root@host]# rpm -i MySQL-bench-5.0.9-0.i386.rpm

Window上安裝Mysql
Window上安裝Mysql相對來說會較為簡單,你只需要載 MySQL 下載中下載window版本的mysql安裝包,並解壓安裝包。
雙擊 setup.exe 檔案,接下來你只需要安裝預設的配置點選"next"即可,預設情況下安裝資訊會在C:mysql目錄中。
接下來你可以透過"開始" =》在搜尋框中輸入 " cmd" 命令 =》 在命令提示符上切換到 C:mysqlbin 目錄,並輸入一下命令:

?

1 mysqld.exe --console

如果安裝成功以上命令將輸出一些mysql啟動及InnoDB資訊。
驗證Mysql安裝
在成功安裝Mysql後,一些基礎表會表初始化,在伺服器啟動後,你可以透過簡單的測試來驗證Mysql是否工作正常。
使用 mysqladmin 工具來獲取伺服器狀態:
使用 mysqladmin 命令倆檢查伺服器的版本,在linux上該二進位制檔案位於 /usr/bin on linux ,在window上該二進位制檔案位於C:mysqlbin 。

?

1 [root@host]# mysqladmin --version

linux上該命令將輸出以下結果,該結果基於你的系統資訊:

?

1 mysqladmin Ver 8.23 Distrib 5.0.9-0, for redhat-linux-gnu on i386

如果以上命令執行後未輸入任何資訊,說明你的Mysql未安裝成功。
使用 MySQL Client(Mysql客戶端) 執行簡單的SQL命令
你可以在 MySQL Client(Mysql客戶端) 使用 mysql 命令連線到Mysql伺服器上,預設情況下Mysql伺服器的密碼為空,所以本例項不需要輸入密碼。
命令如下:

?

1 [root@host]# mysql

以上命令執行後會輸出 mysql>提示符,這說明你已經成功連線到Mysql伺服器上,你可以在 mysql> 提示符執行SQL命令:

?

1 mysql> SHOW DATABASES;

?

1234567 +----------+| Database |+----------+| mysql  || test   |+----------+2 rows in set (0.13 sec)

Mysql安裝後需要做的
Mysql安裝成功後,預設的root使用者密碼為空,你可以使用以下命令來建立root使用者的密碼:

?

1 [root@host]# mysqladmin -u root password "new_password";

現在你可以透過以下命令來連線到Mysql伺服器:

?

1 [root@host]# mysql -u root -p

?

1 Enter password:*******

注意:在輸入密碼時,密碼是不會顯示了,你正確輸入即可。
Linux系統啟動時啟動 MySQL
如果你需要在Linux系統啟動時啟動 MySQL 伺服器,你需要在 /etc/rc.local 檔案中新增以下命令:

?

1 /etc/init.d/mysqld start

同樣,你需要將 mysqld 二進位制檔案新增到 /etc/init.d/ 目錄中。

MySQL 管理
啟動及關閉 MySQL 伺服器
首先,我們需要透過以下命令來檢查MySQL伺服器是否啟動:

?

1 ps -ef | grep mysqld

如果MySql已經啟動,以上命令將輸出mysql程式列表, 如果mysql未啟動,你可以使用以下命令來啟動mysql伺服器:

?

12 root@host# cd /usr/bin./mysqld_safe &

如果你想關閉目前執行的 MySQL 伺服器, 你可以執行以下命令:

?

12 root@host# cd /usr/bin./mysqladmin -u root -p shutdown

?

1 Enter password: ******

MySQL 使用者設定
如果你需要新增 MySQL 使用者,你只需要在 mysql 資料庫中的 user 表新增新使用者即可。
以下為新增使用者的的例項,使用者名稱為guest,密碼為guest123,並授權使用者可進行 SELECT, INSERT 和 UPDATE操作許可權:

?

1 root@host# mysql -u root -p

?

1 Enter password:*******

?

1 mysql> use mysql;

?

1 Database changed

?

12345 mysql> INSERT INTO user     (host, user, password,       select_priv, insert_priv, update_priv)       VALUES ('localhost', 'guest',       PASSWORD('guest123'), 'Y', 'Y', 'Y');

?

1 Query OK, 1 row affected (0.20 sec)

?

1 mysql> FLUSH PRIVILEGES;

?

1 Query OK, 1 row affected (0.01 sec)

?

1 mysql> SELECT host, user, password FROM user WHERE user = 'guest';

?

123456 +-----------+---------+------------------+| host   | user  | password     |+-----------+---------+------------------+| localhost | guest | 6f8c114b58f2ce9e |+-----------+---------+------------------+1 row in set (0.00 sec)

在新增使用者時,請注意使用MySQL提供的 PASSWORD() 函式來對密碼進行加密。 你可以在以上例項看到使用者密碼加密後為: 6f8c114b58f2ce9e.
注意:在注意需要執行 FLUSH PRIVILEGES 語句。 這個命令執行後會重新載入授權表。 如果你不使用該命令,你就無法使用新建立的使用者來連線mysql伺服器,除非你重啟mysql伺服器。
你可以在建立使用者時,為使用者指定許可權,在對應的許可權列中,在插入語句中設定為 'Y' 即可,使用者許可權列表如下:

  • Select_priv

  • Insert_priv

  • Update_priv

  • Delete_priv

  • Create_priv

  • Drop_priv

  • Reload_priv

  • Shutdown_priv

  • Process_priv

  • File_priv

  • Grant_priv

  • References_priv

  • Index_priv

  • Alter_priv

另外一種新增使用者的方法為透過SQL的 GRANT 命令,你下命令會給指定資料庫TUTORIALS新增使用者 zara ,密碼為 zara123 。

?

1 root@host# mysql -u root -p password;

?

1 Enter password:*******

?

1 mysql> use mysql;

?

1 Database changed

?

1234 mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP  -> ON TUTORIALS.*  -> TO 'zara'@'localhost'  -> IDENTIFIED BY 'zara123';

以上命令會在mysql資料庫中的user表建立一條使用者資訊記錄。
注意: MySQL 的SQL語句以分號 (;) 作為結束標識。
/etc/my.cnf 檔案配置
一般情況下,你不需要修改該配置檔案,該檔案預設配置如下:

?

1234567891011 [mysqld]datadir=/var/lib/mysqlsocket=/var/lib/mysql/mysql.sock [mysql.server]user=mysqlbasedir=/var/lib [safe_mysqld]err-log=/var/log/mysqld.logpid-file=/var/run/mysqld/mysqld.pid

在配置檔案中,你可以指定不同的錯誤日誌檔案存放的目錄,一般你不需要改動這些配置。
管理MySQL的命令
以下列出了使用Mysql資料庫過程中常用的命令:

  • USE 資料庫名 :選擇要操作的Mysql資料庫,使用該命令後所有Mysql命令都只針對該資料庫。

  • SHOW DATABASES: 列出 MySQL 資料庫管理系統的資料庫列表。

  • SHOW TABLES: 顯示指定資料庫的所有表,使用該命令前需要使用 use 命令來選擇要操作的資料庫。

  • SHOW COLUMNS FROM 資料表: 顯示資料表的屬性,屬性型別,主鍵資訊 ,是否為 NULL,預設值等其他資訊。

  • SHOW INDEX FROM 資料表: 顯示資料表的詳細索引資訊,包括PRIMARY KEY(主鍵)。

  • SHOW TABLE STATUS LIKE 資料表G: 該命令將輸出Mysql資料庫管理系統的效能及統計資訊。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/810/viewspace-2805358/,如需轉載,請註明出處,否則將追究法律責任。

相關文章