1. 程式人生 > >MySQL的安裝及基礎命令

MySQL的安裝及基礎命令

方式安裝 大小寫 風險 inux admin 高性能 roc 最簡 更改

前面我們介紹了apache httpd server ,而在企業網站平臺中,為了提供更豐富.強大的web應用功能,還需要後臺數據庫和網頁編程語言等多種角色的支持,這裏我們來安裝一下MySQL數據庫。 MySQL是一個真正的多線程,多用戶的關系型數據庫服務,憑借其高性能、高可靠、和易於使用的特性,成為數據庫中的佼佼者,為了確保數據庫的完整性、可定制性,我們采用MySQL 5.x版本的源碼安裝方式。

一、MySQL的編譯安裝
1.防止端口沖突,查看是否有rpm方式安裝的MySQL
技術分享圖片
安裝ncurses-devel 可以讓MySQL在字符終端使用
技術分享圖片
MySQL5.5需要安裝cmake,需要耐心等待
技術分享圖片
2.創建運行用戶,使之不能本地登陸,可以不創建宿主目錄

技術分享圖片
3.解包、配置、編譯、安裝mysql
技術分享圖片
-DCMAKE_INSTALL_PREFIX :指定MySQL安裝目錄
-DSYSCONFDIR:指定初始化參數文件目錄
-DDEFAULT_CHARSET:指定默認使用字符集 如:utf8
-DDEFAULT_COLLATION:指定默認使用的字符集校對規則 utf_general_ci 是適用於UTF-8字符集的通用規則
-DWITH_EXTRA_CHARSETS:指定額外支持的其他字符集編碼
技術分享圖片
4.安裝後的調整
對目錄權限設置
技術分享圖片
建立配置文件
技術分享圖片
初始化數據庫
技術分享圖片
設置環境變量 ,立即使之生效
技術分享圖片
添加為系統服務
技術分享圖片
啟動MySQL服務,並查看是否啟動,端口為3306(可以在/etc/mys.cnf中更改)
技術分享圖片
技術分享圖片
技術分享圖片
技術分享圖片
二、訪問MySQL及基本命令
MySQL是一個典型的c/s架構的應用,需要客戶端軟件,但在linux中最簡單、易用的客戶端是其自帶的MySQL的命令工具。
1.連接數據庫,以root用戶登陸
連接不上數據庫,提示沒有MySQL命令,建立軟鏈接至系統的bin下,解決
技術分享圖片
以密碼登陸加選項-p mysql -u 用戶名 -p
驗證成功後,顯示MySQL> 每一條sql語句後以“;”結尾,MySQL命令不區分大小寫,exit退出MySQL環境。
2.使用MySQL
show master logs; 查看當前數據庫服務的日誌文件信息。
技術分享圖片
查詢當前數據庫有哪些庫
技術分享圖片
查看當前庫中有哪些表
技術分享圖片
查看表結構
技術分享圖片
創建新的庫
create database cto;
技術分享圖片
創建表
create table 表名 (字段1 名稱 類型,字段2 名稱 類型,......,primary key(主鍵名))
創建表users 包含user_name(不為空),user_passwd(默認空),兩列,主鍵為user_name
技術分享圖片
刪除一個表
技術分享圖片
刪除一個庫
技術分享圖片
插入數據記錄
insert into 表名(字段1,字段2.....) values(字段1的值,字段2的值....)
技術分享圖片
如果插入新數據時包括表中所有字段值,則指定字段可以省略,
技術分享圖片
查詢數據記錄
select 字段1,字段2,..... from 表名 where 條件表達式
*代表所有
技術分享圖片
技術分享圖片
修改數據記錄
update 表名 set 字段名1=字段值1[, 字段名2=字段值2] where 條件表達式
技術分享圖片
技術分享圖片
數據庫中各種用戶信息存儲在mysql.user中,可以為其中用戶設置密碼
技術分享圖片
也可以使用linux工具mysqladmin設置
技術分享圖片
刪除數據記錄
delete from 表名 where 條件表達式
技術分享圖片
技術分享圖片
三、維護數據庫
MySQL數據庫的維護工作主要包括用戶權限的設置,數據庫的備份與恢復
1.數據庫的用戶授權
MySQL中root用戶具有對所有庫表的全部權限,頻繁使用會帶來風險,所以設置一些低權限的用戶
grant語句專門用來設置數據庫用戶的訪問權限,當用戶不存在時,會創建新用戶,否則,將用於修改用戶信息。
grant 權限列表 on 庫名,表名 to 用戶名@來源地址 [ identified by ‘密碼‘ ]
權限列表:多個權限用“,”分割,如:select,insert,update。使用all表示所有權限
庫名列表:可以使用通配符“ ” 例如使用cto.,表示授權對象為auth庫中的所有表用戶名@來源地址:誰能連接在那連接,來源地址可以是域名,IP,還可以使用“%”,代表某個區域或網段內的所有地址,如%.cto.com,192.168.1.%
br/>用戶名@來源地址:誰能連接在那連接,來源地址可以是域名,IP,還可以使用“%”,代表某個區域或網段內的所有地址,如%.cto.com,192.168.1.%
給小明設置查詢cto庫所有表的權限
技術分享圖片
技術分享圖片
通常企業中數據庫與服務器是相互獨立的,通常做法是,建立一個或幾個網站專用的庫,並授予權限,並限制IP地址
技術分享圖片
2.查看權限
show grants for 用戶名@來源地址
技術分享圖片
3撤銷權限
撤銷的用戶任然可以連接到mysql,但禁止對對應的數據庫操作
revoke 權限列表 on 數據庫名.表名 from 用戶名@來源地址
技術分享圖片
4.數據庫的備份與恢復
備份數據庫可以直接打包數據庫文件夾/usr/local/mysql/data,或者直接使用mysqldump工具
直接在linux命令行中輸入
備份一個表
mysqldump [選項] 庫名 【表名1】 【表名2】 ..... > /備份路徑/備份文件名
技術分享圖片
備份一個庫或多個庫
mysqldump [選項] --databases 庫名1 【表名2】 ..... > /備份路徑/備份文件名
技術分享圖片
備份所有庫
mysqldump [選項] --all-databases > /備份路徑/備份文件名
技術分享圖片
warning的原因是因為mysqldump默認是不備份事件表的,只有加了--events 才會,加上--events --ignore-table=mysql.events參數即可;可以創建新的,也可以覆蓋備份
技術分享圖片
選項:-u 指定用戶身份 -p 需要輸入密碼 當數據量較大時可以添加 --opt 提高執行速度
查看備份文件 其中/..../ 、以--開頭的是註釋,可以篩選一下
技術分享圖片

恢復數據庫 使用mysql導入命令
mysql [選項] [庫名] [表名] < /備份路徑/備份文件名
技術分享圖片
技術分享圖片
技術分享圖片
恢復成功
這些都是一些基本操作,簡單的總結一下,下一篇是lamp平臺的搭建。

MySQL的安裝及基礎命令