1. 程式人生 > >MySQL之終端(Terminal)管理MySQL

MySQL之終端(Terminal)管理MySQL

前言:MySQL有很多的視覺化管理工具,比如“mysql-workbench”和“sequel-pro-”。 現在我寫MySQL的終端命令操作的文章,是想強化一下自己對於MySQL的理解,總會比使用圖形化的理解透徹,因為我本來就比較喜歡寫程式碼。同時寫出來這些文章,是想要給大家當個參考,希望也能對大家有所幫助,有所提升,這就是我為什麼要寫終端操作MySQL的文章了。

以下命令基於筆者在Mac系統測試提供。

1、MySQL服務狀態

1.1 啟動MySQL

$ sudo /Library/StartupItems/
MySQLCOM/MySQLCOM start

需要輸入管理員密碼。

1.2 停止MySQL服務

 $ sudo /Library/StartupItems/MySQLCOM/MySQLCOM stop

只需把start改成stop即可。

1.3 重啟MySQL服務

$ sudo /Library/StartupItems/MySQLCOM/MySQLCOM restart
Restarting MySQL database server

在我的MAC上,一般都只需要用restart的命令。

當然,除了上述使用終端去啟動MySQL外。還有一個意外簡單的方法,可以在“設定”裡找到MySQL服務,並設定它的狀態,開啟或關閉。

1.4 檢視當前MySQL版本

mysql> select version();
+-----------+
| version() |
+-----------+
| 5.6.20    |
+-----------+
1 row in set (0.00 sec)

2、更改MySQL的root管理員密碼

例:把root賬號的密碼改成'123456':

✗ /usr/local/mysql/bin/mysqladmin -u root -p password 123456
Enter password: 
Warning: Using a password on the command line interface can be insecure.

注意:需要知道賬戶的原密碼才能進行修改。

3、MySQL終端登入

3.1 終端登入(繁瑣)

首先使用以下命令檢視路徑,是否有有新增MySQL的路徑:

$ echo $PATH

MySQL的執行路徑:/usr/local/mysql/bin,如果你能在查詢結果中找到這段字元,那麼就是已新增進路徑裡。如沒有,則需要把MySQL的執行路徑新增進去。

新增MySQL執行路徑:

$ PATH="$PATH":/usr/local/mysql/bin 

新增是否成功,我們可以使用which使用來檢視:

$ which mysql
/usr/local/mysql/bin/mysql

若存在路徑,則會輸出mysql的執行路徑,若不存在,則什麼都不輸出。

新增後,我們就能正常登入了:

$ mysql -u root -p

這裡會要求輸入密碼,需要注意的是,這裡的密碼為MySQL的登入密碼,非系統管理員的登入密碼

注意:每次關閉終端後,再重新開啟終端,都要重新新增路徑,你可以把這些命令當作是臨時的。也就是說,這些命令會在終端關閉後失效。 

3.2 終端登入(簡化)

我們可以使用alias命令簡化MySQL的終端登入操作,當然,如果你只是想要臨時的話,你可以直接在終端輸入alias <簡化後的名字> <執行的命令>,這樣做的話,只要你關閉終端後,剛剛進行過簡化的命令就會失效。如果你想要讓它始終存在,那麼需要把alias指令新增到 ~/.bashrc(Ubuntu) 或者~/.bash_profile(MacOS)。

除了上述3.1的終端登入方法外,我們還可以使用MySQL的執行路徑進行登入,像這樣:

$ /usr/local/mysql/bin/mysql -u root -p
Enter password: 

輸入正確的密碼後,就能正常操作MySQL了。

如果每次都要輸入這麼一長串的字元,那不是太繁瑣了點?而且不容易記憶。在終端裡,我們可以使用 alias 命令去簡化: 

$ alias mysql=/usr/local/mysql/bin/mysql

它的格式是:alias <簡化後的名字>=<'具體的指令>

我們使用時就可以很簡單:

$ mysql -u root -p
Enter password: 

實在是太方便了。

但是這樣做還不夠,因為這個是暫時性的,只要我們關閉當前的終端視窗,所有簡化的指令便會失效。所以我們需要把alias定義為全域性的,我們可以在~/.bash_profile新增指令,前提是進入~/.bash_profile檔案:

$ vi ~/.bash_profile 

編輯前:

export PATH="/Users/baijiawei/Library/Application Support/GoodSync":$PATH

編輯後:

export PATH="/Users/baijiawei/Library/Application Support/GoodSync":$PATH
             
# MySQL
alias mysql='/usr/local/mysql/bin/mysql';

#那一行代表是註釋,我們一般還會在具體的命令加上單引號,就是前面我們提及到的“alias <簡化後的名字>=<'具體的指令>”。

最後,要使~/.bash_profile檔案生效,我們必須使用 source 命令:

$ source ~/.bash_profile

以後我們使用時,就不需要再輸入那麼多麻煩的指令了,So Easy。

我們可以在終端上直接輸入alias檢視已有的簡化命令:

$ alias 
alias mysql='/usr/local/mysql/bin/mysql'

4、 MySQL資料庫的匯入和匯出

要想匯入和匯出資料庫,我們需要用到mysqldump工具,接下來我會介紹它的匯入和匯出功能。這個工具在安裝MySQL時就附帶上了,在使用它之前,我們需要找到它的執行路徑。幸好的是,我已經找到了:

/usr/local/mysql/bin/mysqldump

我們先不用著急怎樣去使用它,我們先使用alias簡化一下命令:

alias mysqldump='/usr/local/mysql/bin/mysqldump';

4.1 匯出資料庫

好了,現在我們來介紹它的用法吧,先來看看匯出資料庫時的格式:

mysqldump -u root -p <資料庫名> <表名> > <匯出的名字>.sql

來個例項說明:

$ mysqldump -u root -p test CLASS > class.sql
Enter password: 

當然這些操作都是需要輸入MySQL的管理員密碼,也就是root的密碼。另外,它是匯出到終端的當前目錄。提示:“我們可以使用pwd檢視當前所在目錄”。

匯出帶刪除格式的資料庫,還原時能夠覆蓋已有資料庫而不用刪除原有資料庫:

mysqldump --add-drop-table e -u root -p testDB > TESTDB.sql

4.2 匯入資料庫

在已有的資料庫匯入資料,首先使用use命令進入到該資料庫,然後:

mysql> source /Users//Documents/Code/class.sql

匯入資料庫的格式:source /<路徑>/. <sql>.sql,你也可以匯出為.dump檔案

4.3 還原資料庫

如果你誤刪了一些資料,又或者是更新資料時忘記指定where條件,或者你把資料表都刪除了,你也可以把它們還原:

$ mysql -u root -p testDB < testDB.sql
Enter password: 

當然,也是需要輸入root密碼。

博文作者:GarveyCalvin

本文版權歸作者和部落格園共有,歡迎轉載,但須保留此段宣告,並給出原文連結,謝謝合作!

相關推薦

MySQL終端(Terminal)管理MySQL

前言:MySQL有很多的視覺化管理工具,比如“mysql-workbench”和“sequel-pro-”。 現在我寫MySQL的終端命令操作的文章,是想強化一下自己對於MySQL的理解,總會比使用圖形化的理解透徹,因為我本來就比較喜歡寫程式碼。同時寫出來這些文章,是想要給大家當個參考,希望也能對大家有所幫助

MySQL終端Terminal管理資料庫、資料表、資料的基本操作

MySQL有很多的視覺化管理工具,比如“mysql-workbench”和“sequel-pro-”。 現在我寫MySQL的終端命令操作的文章,是想強化一下自己對於MySQL的理解,總會比使用圖形化的理解透徹,因為我本來就比較喜歡寫程式碼。同時寫出來這些文章,是想要給大家當個參考,希望也能對大家有所幫助,有所

MySQL終端下對資料的匯入匯出、賬戶管理、資料備份與恢復

資料匯入 將檔案系統中的內容匯入的資料庫中 語法格式: load data infile '檔名' into table 表名 fields terminated by "分隔符" lines terminated by '\n'; 倒數第二行是:在

mysql用戶管理

class 後綴 可選 blog 地址 top 使用 9.png 遠程 本文內容: 用戶的介紹 查看用戶 創建用戶帳戶 修改賬戶 刪除帳戶 關於匿名用戶 首發日期:2018-04-19 用戶的介紹: mysql的客戶端連接是以用戶名來登錄服務端。 服務

MySQL——server保持與MySQL的連接

size time var 字段 數據庫操作 操作 登錄 輸入 有一種 轉載請註明出處:http://blog.csdn.net/l1028386804/article/details/47008019 server程序常常要訪問數據庫,而且server程序是長時間保

mysql CentOS系統針對mysql參數優化

內核參數 mysq 特殊 app 參數 bsp 緩沖池 dea 磁盤分區 內核相關參數(/etc/sysctl.conf)   以下參數可以直接放到sysctl.conf文件的末尾:    net.core.somaxconn = 65535    net.core.net

mysql 誤用SECONDS_BEHIND_MASTER衡量MYSQL主備的延遲時間

連結:http://www.woqutech.com/?p=1116   MySQL 本身通過 show slave status 提供了 Seconds_Behind_Master ,用於衡量主備之間的複製

mysql CentOS系統針對mysql引數優化

核心相關引數(/etc/sysctl.conf)    以下引數可以直接放到sysctl.conf檔案的末尾:     net.core.somaxconn = 65535     net.core.netdev_max_backlog = 65535     net.ipv

MySQL—— 使用Hibernate連線MySQL資料庫,MySQL連線超時斷開的問題

最近讓人頭疼的一個問題,就是伺服器在不確定的時間點會出現關於資料庫連線的Exception,大致的Exception如下: org.hibernate.util.JDBCExceptionReporter - SQL Error:0, SQLState: 08S01 o

一天一篇mysql十八:mysql中的limit、between and、in

limit關鍵字 Limit子句可以被用於強制 SELECT 語句返回指定的記錄數。Limit接受一個或兩個數字引數。引數必須是一個整數常量。如果給定兩個引數,第一個引數指定第一個返回記錄行的偏移量,第二個引數指定返回記錄行的最大數目。   //初始記錄行的偏移量是 0(

mysql系列4----密碼管理、授權、圖形化管理

erl column option process 生成 自己 服務 auth 存儲 一、mysql密碼破解 1、在shell命令行下修改密碼 mysqladmin -hlocalhost -uroot -p password "1234

【20180417】ELK日誌管理filebeat收集分析mysql慢日誌

filebeat slow log pipeline slowlog 環境版本 filebeat: 6.2.3mysql: 5.6.38 錯誤信息 { "_index": "mysql-slow-2018.04.17", "_type": "doc", "_id": "AWLRiD

MySQL用戶和權限管理

data connect dex 宋體 type html DG color sla MySQL權限管理權限類別:管理類程序類數據庫級別表級別字段級別 MySQL用戶和權限管理管理類:CREATE TEMPORARY TABLESCREATE USERFILESUPERSH

MySQL日誌管理

上啟 重啟 哪些 event ner pla 宋體 etime 生成 日誌事務日誌:transaction log錯誤日誌:error log查詢日誌:query log慢查詢日誌:slow query log二進制日誌:binary log中繼日誌:reley log命令

從零開始資料庫管理-MySQL

MySQL有安裝版,還有解壓版。安裝版本根據安裝提示完成安裝即可。注意的是要記住安裝時候填寫的root賬戶密碼。下面介紹解壓版的安裝。 Windows系統安裝,首先去官網下載安裝包準備。https://dev.mysql.com/downloads/mysql/ .msi字尾的為安裝版;根據

MySQL許可權管理

1:伺服器首先會檢查你是否允許連線。因為建立使用者的時候會加上主機限制,可以限制成本地、某個IP、某個IP段、以及任何地方等。 2:如果你能連線,Mysql會檢查你發出的每個請求,看你是否有足夠的許可權。 mysql 許可權如下: 許可權 許可權級

MySQL許可權管理(mysql.user表詳解)

INSERTINTO `user`(`Host`,`User`,`Password`,`Select_priv`,`Insert_priv`,`Update_priv`,`Delete_priv`,`Create_priv`,`Drop_priv`,`Reload_priv`,`Shutdown_priv`,

MySQL資料庫管理語言(DML)

MySQL之資料庫管理語言(DML) DML是對錶中的資料進行增、刪、改的操作。 插入記錄 insert into table_name (列名1,列名2,...) values (列值1,列值2,...) 列值和列名的型別、個數、順序要一一對應 列值不要超過列定義的

MySQL學習:使用者管理(新增使用者,刪除使用者,新增許可權,檢視許可權,密碼等)

什麼是規劃? 資料庫物件與資料庫使用者賬戶的相關聯 1. 新建用於規劃 CREATE SCHEMA [SCHEMA_NAME] [USER_ID] [ ]; 2. 刪除規劃 DROP SCHEMA SCHEMA_NAME {RESTRICT | CASCADE} 3. 調整

MySQL系列:innodb原始碼分析表空間管理

innodb在實現表空間(table space)基於檔案IO之上構建的一層邏輯儲存空間管理,table space採用邏輯分層的結構:space、segment inode、extent和page.在實現層的邏輯使用了磁碟連結串列這種結構來管理邏輯關係。我們先來介紹磁碟連