网络安全-MySQL数据库
生活随笔
收集整理的這篇文章主要介紹了
网络安全-MySQL数据库
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
MySQL
數(shù)據(jù)庫(kù)(Database)是按照數(shù)據(jù)結(jié)構(gòu)來(lái)組織、存儲(chǔ)和管理數(shù)據(jù)的倉(cāng)庫(kù)。MySQL 是最流行的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),在 WEB 應(yīng)用方面> MySQL 是最好的 RDBMS(Relational Database Management System:關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng))應(yīng)用軟件之一。
默認(rèn)端口:3306
基礎(chǔ)操作
- MySQL數(shù)據(jù)庫(kù)安裝
操作系統(tǒng):Cent OS 6.9
安裝MySQL:yum install -y mysql-server
啟動(dòng)MySQL:service mysqld start
第一次啟動(dòng)MySQL會(huì)初始化數(shù)據(jù)庫(kù)
- 數(shù)據(jù)庫(kù)登錄
初次安裝的MySQL數(shù)據(jù)庫(kù)root用戶沒(méi)有登錄密碼,可以直接登錄
命令:mysql -u root - 為MySQL管理賬戶(root)添加或者修改密碼:
mysqladmin -u root -p password “新密碼” ,回車輸入原密碼
- 交互式shell登錄
命令:mysql -u root -p 回車輸入密碼
- 非交互式shell登錄
命令:mysql -u root -p123456
- MySQL數(shù)據(jù)庫(kù)有專屬的命令語(yǔ)句又稱為SQL語(yǔ)句,SQL語(yǔ)句不區(qū)分大小寫(xiě)
- MySQL非交互式執(zhí)行SQL語(yǔ)句:mysql -u root -p密碼 -e “SQL語(yǔ)句”
- MySQL中存儲(chǔ)的內(nèi)容:庫(kù)(目錄文件夾)- 表(xls表格)
- 顯示MySQL中的所有庫(kù):show databases;
MySQL中默認(rèn)存在三個(gè)庫(kù),information_schema、mysql、test - 顯示數(shù)據(jù)庫(kù)下的數(shù)據(jù)表
命令:use 數(shù)據(jù)庫(kù)名;
show tables;
其中mysql中有一個(gè)名為user的數(shù)據(jù)表,其中存儲(chǔ)了mysql管理賬戶的相關(guān)信息。所以該數(shù)據(jù)表也是SQL注入漏洞的主要目標(biāo)。 - 獲取數(shù)據(jù)表中的數(shù)據(jù)
select 字段名 from 表名 where 字段名=字段值;
select 后面跟字段名,多個(gè)字段名之間用逗號(hào)隔開(kāi),查詢所有字段使用“*”代表。
where 后面跟查詢條件,指定在數(shù)據(jù)表中查詢什么樣的數(shù)據(jù),查詢條件根據(jù)個(gè)人需求可有可無(wú)。
查詢數(shù)據(jù)表中的所有數(shù)據(jù):select * from 數(shù)據(jù)庫(kù).數(shù)據(jù)表;
user表中有三個(gè)重要字段:host、user、password
- 查看表結(jié)構(gòu)
表中的所有字段名稱、字段類型、是否允許為空,是否是數(shù)據(jù)表的主鍵,是否有默認(rèn)值。
主鍵值是數(shù)據(jù)表中每一條數(shù)據(jù)的唯一標(biāo)識(shí),每個(gè)表中只能有一個(gè)主鍵,但是允許有聯(lián)合主鍵,主鍵值不能為空。
- 數(shù)據(jù)庫(kù)加固
將mysql庫(kù)中user表中代表本機(jī)的三條數(shù)據(jù),host字段為localhost、127.0.0.1以及::1并且對(duì)應(yīng)的user字段為root的幾條數(shù)據(jù)設(shè)置上相同的密碼或者只留下一條其余沒(méi)有密碼的數(shù)據(jù)全刪除掉 - 創(chuàng)建數(shù)據(jù)庫(kù)
命令:create database 數(shù)據(jù)庫(kù)名;
- 創(chuàng)建數(shù)據(jù)表
創(chuàng)建數(shù)據(jù)表時(shí)需指定在哪一個(gè)數(shù)據(jù)庫(kù)下面創(chuàng)建數(shù)據(jù)表。有兩種方式,一種是創(chuàng)建數(shù)據(jù)表之前使用use語(yǔ)句指定數(shù)據(jù)庫(kù),第二種是創(chuàng)建數(shù)據(jù)表的語(yǔ)句中的表名使用“數(shù)據(jù)庫(kù).數(shù)據(jù)表”的形式來(lái)表示。
命令:create table 數(shù)據(jù)庫(kù)名.表名 (字段名 字段類型(字段長(zhǎng)度),…,primary key(字段名));
- 修改表結(jié)構(gòu)-添加字段
命令:alter table 數(shù)據(jù)庫(kù)名.數(shù)據(jù)表名 add 字段名 字段值 字段類型(字段長(zhǎng)度) [first | after 字段名]
- 修改表結(jié)構(gòu)-修改字段
命令:alter table 數(shù)據(jù)庫(kù)名.數(shù)據(jù)表名 modify 字段名 字段值 字段類型(字段長(zhǎng)度) [first | after 字段名]
- 修改表結(jié)構(gòu)-刪除字段
命令:alter table 數(shù)據(jù)庫(kù)名.數(shù)據(jù)表名 drop 字段名;
- 數(shù)據(jù)操作-添加數(shù)據(jù)
命令:insert into 數(shù)據(jù)庫(kù)名.數(shù)據(jù)表名 [字段名,…] values (字段值,…)
- 數(shù)據(jù)操作-更新數(shù)據(jù)
命令:update 表名 set 字段名=“字段值” where 字段名=“字段值”;
- 數(shù)據(jù)操作-刪除數(shù)據(jù)
命令:delete from 表名 where 字段名=“字段值” ;
- MySQL數(shù)據(jù)庫(kù)備份
- 備份表文件(*.frm、*.MYD、*.MYI)
Linux操作系統(tǒng)中mysql數(shù)據(jù)庫(kù)文件的存儲(chǔ)路徑:/var/lib/mysql(該路徑是mysql的默認(rèn)安裝目錄,并不是絕對(duì)的,可以在mysql的配置文件中修改該路徑)
windows操作系統(tǒng)中mysql數(shù)據(jù)庫(kù)文件存儲(chǔ)路徑:MySQL安裝目錄下的data目錄中 - 命令字備份
mysqldump -u root -p密碼 數(shù)據(jù)庫(kù)名 數(shù)據(jù)表名 > /tmp/數(shù)據(jù)庫(kù)名_數(shù)據(jù)表名.sql
恢復(fù)備份:mysql -u root -p密碼 數(shù)據(jù)庫(kù)名 < /tmp/數(shù)據(jù)庫(kù)名_數(shù)據(jù)表名.sql
- 刪庫(kù)跑路
命令:drop table 數(shù)據(jù)表名;
命令:drop database 數(shù)據(jù)庫(kù)名; - 用戶管理
創(chuàng)建用戶
命令:CREATE USER ‘username’@‘host’ IDENTIFIED BY ‘password’;
host:允許用戶從拿一臺(tái)機(jī)器登錄
刪除用戶
命令:DROP USER ‘username’@‘host’;
- 權(quán)限管理
授權(quán):grant 權(quán)限種類 on 數(shù)據(jù)庫(kù)名.數(shù)據(jù)表名 to ‘username’@‘host’ identified by “password”;
權(quán)限種類:select delete update create drop等,多個(gè)權(quán)限之間可以使用逗號(hào)隔開(kāi),所有權(quán)限可以用all privileges代替。
設(shè)置用戶張三對(duì)kaso.test擁有查詢權(quán)限
設(shè)置張三對(duì)kaso.test的所有權(quán)限
撤權(quán):revoke 權(quán)限種類 on 數(shù)據(jù)庫(kù)名.數(shù)據(jù)表名 from ‘username’@‘host’;
撤銷zhangsan對(duì)kaso.test的update權(quán)限
- root用戶密碼破解
限制條件:需要MySQL數(shù)據(jù)庫(kù)停止工作,而且必須是Linux操作系統(tǒng)的root用戶才有權(quán)限。
命令:mysqld_safe --skip-grant(跳過(guò)權(quán)限驗(yàn)證)
mysql -u root
命令:update mysql.user set password=password(“新密碼”) where user = “root”;
3. 退出安全模式,啟動(dòng)mysql服務(wù),重新登陸。
總結(jié)
以上是生活随笔為你收集整理的网络安全-MySQL数据库的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 将html导出为PDF文件(为PDF加盖
- 下一篇: 网络 数据库