文章目錄
- 1、mysqld
- 2、mysql
- 常用命令介紹
- 3、配置文件
- 語法
1、mysqld
mysqld就是MySQL服務器,是一個多線程程序。對數據目錄,即mysql的主要工作目錄進行訪問管理。當mysqld啟動時,會偵聽指定的端口,處理來自客戶端程序的網絡連接,并管理不同客戶端對數據庫的訪問。
運行以下命令來查看mysqld程序的完整選項列表
mysqld --verbose --help
2、mysql
mysql是MySQL的命令行客戶端,可以輸入命令和執行SQL語句。
在啟動mysql時,命令之后可以跟要使用的數據庫的名來表示登錄后直接連接這個數據庫,比如連接mysql這個數據庫:
mysql -u root -p mysql
登錄的格式
# 連接MySQL服務器,?選項格式
mysql --user=user_name --password [db_name]
# 短選項格式
mysql -uuser_name -p [db_name]
# 輸?密碼
Enter password: your_password
上面是在mysql后面的命令行中列出選項。另一種登錄格式在mysql后面指定配置文件的路徑,以便在程序啟動時讀取配置文件中的選項,并解析對應程序選項的值,應用在啟動參數中。
第二種登錄方式的一個例子就是windows下的mysql。在windows里下載了mysql后,可以在開始菜單看到一些mysql服務,它們的屬性里的目標就是第二種登錄格式。
常用命令介紹
默認host是localhost或127.0.0.1。
默認port是3306。
默認user是root。
如果選項的值中有空格,就用雙引號括起來。
選項后面指定一個值,短格式可以帶空格或不帶,長格式就得是=。比如-h127.0.0.1,-h 127.0.0.1,–host=127.0.0.1。但是對于密碼來說,短格式帶空格的含義不同:
mysql -ptest # test 表?密碼,但沒有指定要訪問的數據庫
mysql -p test # test 表?指定了訪問的數據庫,但沒有指定密碼
一個數值后可以緊跟K,M,G,也就是1KB,1MB,1GB。
可以多指令一起用。比如登錄并查詢版本和時間,中間要有-e選項。
mysql -u root -p -e "SELECT VERSION();SELECT NOW();"
3、配置文件
配置文件有mysql啟動選項。大部分選項文件都是純文本格式,可以使用任何文本編輯器創建。在登錄時,可以指定配置文件,mysql --defaults-file=/etc/mysql/my.cnf -uroot -p
。
雖然客戶端和服務端都有配置文件,但是通常都統一把配置寫在默認的配置文件my.cnf中。mysql8.0下是這些文件。
像上面的命令,–defaults-file=file_name表示加載指定的配置文件,–defaults-extra-file=file_name表示加載所有配置文件。
windows中配置文件后綴是.ini或.cnf,Linux則是.cnf。
語法
運行mysql程序時在命令行上指定的任何長選項都可以在選項文件中指定,要獲取選項列表可以使用以下命令
#客戶端
mysql --help
#服務端
mysqld --vervose --help
關于長選項可以在官方文檔中查看。在配置文件中寫選項時,要去掉前面的兩個破折號,比如–host,那么寫的時候就寫host即可,后面再跟=127.0.0.1這樣的;并且每行只表示一個選項,寫完就換行。
[client] MySQL發行版中所有客戶端程序都會讀取并應用這個組下的選項(除了mysqld),在這個組下可以指定適用于所有客戶端程序的通用選項,例如配置用戶名和密碼(但要確保只有自己才可以訪問這個文件以防止密碼泄漏)。
可以通過 [客戶端程序名] 的形式為不同的客戶端程序指定選項,例如 [mysql] ,當運行mysql程序時會讀取并應用該組下的配置,如果選項名與 [client] 重復, [client] 中的選項將會被覆蓋。
指定編碼格式是default-character-set=utf8mb4。
結束。