溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

LAMP之MySQL的安裝及基礎命令

發(fā)布時間:2020-06-27 16:17:15 來源:網(wǎng)絡 閱讀:3181 作者:指尖律動 欄目:MySQL數(shù)據(jù)庫
前面我們介紹了apache httpd server ,而在企業(yè)網(wǎng)站平臺中,為了提供更豐富.強大的web應用功能,還需要后臺數(shù)據(jù)庫和網(wǎng)頁編程語言等多種角色的支持,這里我們來安裝一下MySQL數(shù)據(jù)庫。
    MySQL是一個真正的多線程,多用戶的關系型數(shù)據(jù)庫服務,憑借其高性能、高可靠、和易于使用的特性,成為數(shù)據(jù)庫中的佼佼者,為了確保數(shù)據(jù)庫的完整性、可定制性,我們采用MySQL 5.x版本的源碼安裝方式。

一、MySQL的編譯安裝
1.防止端口沖突,查看是否有rpm方式安裝的MySQL
LAMP之MySQL的安裝及基礎命令
安裝ncurses-devel 可以讓MySQL在字符終端使用
LAMP之MySQL的安裝及基礎命令
MySQL5.5需要安裝cmake,需要耐心等待
LAMP之MySQL的安裝及基礎命令
2.創(chuàng)建運行用戶,使之不能本地登陸,可以不創(chuàng)建宿主目錄
LAMP之MySQL的安裝及基礎命令
3.解包、配置、編譯、安裝mysql
LAMP之MySQL的安裝及基礎命令
-DCMAKE_INSTALL_PREFIX :指定MySQL安裝目錄
-DSYSCONFDIR:指定初始化參數(shù)文件目錄
-DDEFAULT_CHARSET:指定默認使用字符集 如:utf8
-DDEFAULT_COLLATION:指定默認使用的字符集校對規(guī)則 utf_general_ci 是適用于UTF-8字符集的通用規(guī)則
-DWITH_EXTRA_CHARSETS:指定額外支持的其他字符集編碼
LAMP之MySQL的安裝及基礎命令
4.安裝后的調整
對目錄權限設置
LAMP之MySQL的安裝及基礎命令
建立配置文件
LAMP之MySQL的安裝及基礎命令
初始化數(shù)據(jù)庫
LAMP之MySQL的安裝及基礎命令
設置環(huán)境變量 ,立即使之生效
LAMP之MySQL的安裝及基礎命令
添加為系統(tǒng)服務
LAMP之MySQL的安裝及基礎命令
啟動MySQL服務,并查看是否啟動,端口為3306(可以在/etc/mys.cnf中更改)
LAMP之MySQL的安裝及基礎命令
LAMP之MySQL的安裝及基礎命令
LAMP之MySQL的安裝及基礎命令
LAMP之MySQL的安裝及基礎命令
二、訪問MySQL及基本命令
MySQL是一個典型的c/s架構的應用,需要客戶端軟件,但在linux中最簡單、易用的客戶端是其自帶的MySQL的命令工具。
1.連接數(shù)據(jù)庫,以root用戶登陸
連接不上數(shù)據(jù)庫,提示沒有MySQL命令,建立軟鏈接至系統(tǒng)的bin下,解決
LAMP之MySQL的安裝及基礎命令
以密碼登陸加選項-p mysql -u 用戶名 -p
驗證成功后,顯示MySQL> 每一條sql語句后以“;”結尾,MySQL命令不區(qū)分大小寫,exit退出MySQL環(huán)境。
2.使用MySQL
show master logs; 查看當前數(shù)據(jù)庫服務的日志文件信息。
LAMP之MySQL的安裝及基礎命令
查詢當前數(shù)據(jù)庫有哪些庫
LAMP之MySQL的安裝及基礎命令
查看當前庫中有哪些表
LAMP之MySQL的安裝及基礎命令
查看表結構
LAMP之MySQL的安裝及基礎命令
創(chuàng)建新的庫
create database cto;
LAMP之MySQL的安裝及基礎命令
創(chuàng)建表
create table 表名 (字段1 名稱 類型,字段2 名稱 類型,......,primary key(主鍵名))
創(chuàng)建表users 包含user_name(不為空),user_passwd(默認空),兩列,主鍵為user_name
LAMP之MySQL的安裝及基礎命令
刪除一個表
LAMP之MySQL的安裝及基礎命令
刪除一個庫
LAMP之MySQL的安裝及基礎命令
插入數(shù)據(jù)記錄
insert into 表名(字段1,字段2.....) values(字段1的值,字段2的值....)
LAMP之MySQL的安裝及基礎命令
如果插入新數(shù)據(jù)時包括表中所有字段值,則指定字段可以省略,
LAMP之MySQL的安裝及基礎命令
查詢數(shù)據(jù)記錄
select 字段1,字段2,..... from 表名 where 條件表達式
*代表所有
LAMP之MySQL的安裝及基礎命令
LAMP之MySQL的安裝及基礎命令
修改數(shù)據(jù)記錄
update 表名 set 字段名1=字段值1[, 字段名2=字段值2] where 條件表達式
LAMP之MySQL的安裝及基礎命令
LAMP之MySQL的安裝及基礎命令
數(shù)據(jù)庫中各種用戶信息存儲在mysql.user中,可以為其中用戶設置密碼
LAMP之MySQL的安裝及基礎命令
也可以使用linux工具mysqladmin設置
LAMP之MySQL的安裝及基礎命令
刪除數(shù)據(jù)記錄
delete from 表名 where 條件表達式
LAMP之MySQL的安裝及基礎命令
LAMP之MySQL的安裝及基礎命令
三、維護數(shù)據(jù)庫
MySQL數(shù)據(jù)庫的維護工作主要包括用戶權限的設置,數(shù)據(jù)庫的備份與恢復
1.數(shù)據(jù)庫的用戶授權
MySQL中root用戶具有對所有庫表的全部權限,頻繁使用會帶來風險,所以設置一些低權限的用戶
grant語句專門用來設置數(shù)據(jù)庫用戶的訪問權限,當用戶不存在時,會創(chuàng)建新用戶,否則,將用于修改用戶信息。
grant 權限列表 on 庫名,表名 to 用戶名@來源地址 [ identified by '密碼' ]
權限列表:多個權限用“,”分割,如:select,insert,update。使用all表示所有權限
庫名列表:可以使用通配符“ ” 例如使用cto.表示授權對象為auth庫中的所有表

用戶名@來源地址:誰能連接在那連接,來源地址可以是域名,IP,還可以使用“%”,代表某個區(qū)域或網(wǎng)段內(nèi)的所有地址,如%.cto.com,192.168.1.%
identified by :設置密碼,省略則密碼為空
給小明設置查詢cto庫所有表的權限
![](https://s1.51cto.com/images/blog/201801/12/31b7f711dffdcb5fbb76c9a68ee64d16.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
![](https://s1.51cto.com/images/blog/201801/12/d84dbefbf88301ee4d5ae861cd1678ff.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
通常企業(yè)中數(shù)據(jù)庫與服務器是相互獨立的,通常做法是,建立一個或幾個網(wǎng)站專用的庫,并授予權限,并限制IP地址
![](https://s1.51cto.com/images/blog/201801/12/bc5be598d8c9f824f0dcb2b24a772000.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
2.查看權限
show grants for 用戶名@來源地址
![](https://s1.51cto.com/images/blog/201801/12/24c51d2aa13a1767194c3ec7077a7d32.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
3撤銷權限
撤銷的用戶任然可以連接到mysql,但禁止對對應的數(shù)據(jù)庫操作
revoke 權限列表 on 數(shù)據(jù)庫名.表名 from 用戶名@來源地址
![](https://s1.51cto.com/images/blog/201801/12/f1ef876b60bdda89f8866c38b9828e00.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
4.數(shù)據(jù)庫的備份與恢復
備份數(shù)據(jù)庫可以直接打包數(shù)據(jù)庫文件夾/usr/local/mysql/data,或者直接使用mysqldump工具
直接在linux命令行中輸入
備份一個表
mysqldump [選項] 庫名 【表名1】 【表名2】 .....  >    /備份路徑/備份文件名
![](https://s1.51cto.com/images/blog/201801/13/d25728ca0d0bfe5a2549c75366dd657a.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
備份一個庫或多個庫
mysqldump [選項]  --databases  庫名1  【表名2】 .....  >    /備份路徑/備份文件名
![](https://s1.51cto.com/images/blog/201801/13/122defc52f09bbfdeaff6377cb46bc47.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
備份所有庫
mysqldump [選項]   --all-databases   >    /備份路徑/備份文件名
![](https://s1.51cto.com/images/blog/201801/13/4a926a9a092318a9d987e84195421831.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
warning的原因是因為mysqldump默認是不備份事件表的,只有加了--events 才會,加上--events --ignore-table=mysql.events參數(shù)即可;可以創(chuàng)建新的,也可以覆蓋備份
![](https://s1.51cto.com/images/blog/201801/13/5870820fb9802f644bd1dd6d0d96987b.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)

選項:-u 指定用戶身份 -p 需要輸入密碼 當數(shù)據(jù)量較大時可以添加 --opt 提高執(zhí)行速度
查看備份文件 其中/..../ 、以--開頭的是注釋,可以篩選一下
LAMP之MySQL的安裝及基礎命令

恢復數(shù)據(jù)庫 使用mysql導入命令
mysql [選項] [庫名] [表名] < /備份路徑/備份文件名
LAMP之MySQL的安裝及基礎命令
LAMP之MySQL的安裝及基礎命令
LAMP之MySQL的安裝及基礎命令
恢復成功
這些都是一些基本操作,簡單的總結一下,下一篇是lamp平臺的搭建。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI