標籤:資料庫
一.資料庫mariadb簡介
650) this.width=650;" src="https://s2.51cto.com/wyfs02/M02/9E/3B/wKioL1mNsMqjnU3TAAhNTvMHGrE162.png" title="Screenshot from 2017-08-11 21-26-50.png" alt="wKioL1mNsMqjnU3TAAhNTvMHGrE162.png" />
二.安裝與啟動服務,檢查連接埠狀態
650) this.width=650;" src="https://s5.51cto.com/wyfs02/M02/9E/4C/wKiom1mNseTRG9QQAAAvppDH9mM905.png" style="float:none;" title="Screenshot from 2017-08-10 17-18-19.png" alt="wKiom1mNseTRG9QQAAAvppDH9mM905.png" />
650) this.width=650;" src="https://s1.51cto.com/wyfs02/M01/9E/4C/wKiom1mNsdDTFBcfAACpGLcN5Mw565.png" style="float:none;" title="Screenshot from 2017-08-10 16-59-06.png" alt="wKiom1mNsdDTFBcfAACpGLcN5Mw565.png" />
三.安裝後使用前的準備
1.關閉資料庫開啟的網路介面
650) this.width=650;" src="https://s1.51cto.com/wyfs02/M00/9E/3B/wKioL1mNsdfR3zbuAABdOiyHLes932.png" style="float:none;" title="Screenshot from 2017-08-10 17-00-49.png" alt="wKioL1mNsdfR3zbuAABdOiyHLes932.png" />
vim /etc/my.cnf
650) this.width=650;" src="https://s1.51cto.com/wyfs02/M01/9E/3B/wKioL1mNsdbj-8dMAAC7wRlJVJ0253.png" style="float:none;" title="Screenshot from 2017-08-10 17-00-12.png" alt="wKioL1mNsdbj-8dMAAC7wRlJVJ0253.png" />
skip-networking=1 關閉資料庫開啟的網路介面
2.資料庫安全初始化
mysql_secure_installation
650) this.width=650;" src="https://s2.51cto.com/wyfs02/M01/9E/4C/wKiom1mNsd_AtMTyAAFtVSqYuEQ271.png" style="float:none;" title="Screenshot from 2017-08-10 17-02-26.png" alt="wKiom1mNsd_AtMTyAAFtVSqYuEQ271.png" />
提問解釋:
Enter current password for root (enter for none): 資料庫原始密碼(預設沒有直接斷行符號)
Set root password? [Y/n] 是否要設定資料庫超級使用者密碼
New password: 輸入要設定的超級使用者密碼
Re-enter new password: 重複輸入
Remove anonymous users? [Y/n] 是否刪除匿名使用者存取許可權
Disallow root login remotely? [Y/n] 是否禁止超級使用者通過遠程登陸
Remove test database and access to it? [Y/n] 重新整理資料庫
全部點斷行符號即可
四.資料庫的基本sql語句操作
1.登陸
mysql -uroot -pwestos -u表示指定登陸使用者,-p 表示指定此使用者密碼
650) this.width=650;" src="https://s2.51cto.com/wyfs02/M02/9E/3B/wKioL1mNseOyJ5zQAAChjzhMVdA013.png" style="float:none;" title="Screenshot from 2017-08-10 17-02-55.png" alt="wKioL1mNseOyJ5zQAAChjzhMVdA013.png" />
2.查詢(查詢語言大小寫字母都可以使用,企業中為了規範需要使用大寫)
show databases; 顯示資料庫
650) this.width=650;" src="https://s2.51cto.com/wyfs02/M01/9E/4D/wKiom1mNtYjTmFuKAADfoNEHkdA416.png" title="Screenshot from 2017-08-11 09-24-30.png" alt="wKiom1mNtYjTmFuKAADfoNEHkdA416.png" />
use mysql; 進入mysql庫
650) this.width=650;" src="https://s2.51cto.com/wyfs02/M02/9E/3F/wKioL1mOV8Wxr-MMAABZNfql6AA874.png" title="Screenshot from 2017-08-12 09-17-34.png" alt="wKioL1mOV8Wxr-MMAABZNfql6AA874.png" />
show tables; 顯示當前庫中表的名稱
650) this.width=650;" src="https://s2.51cto.com/wyfs02/M02/9E/3B/wKioL1mNtbGh_J5gAACy91jUKCw931.png" title="Screenshot from 2017-08-11 09-24-42.png" alt="wKioL1mNtbGh_J5gAACy91jUKCw931.png" />
desc user; 查詢user表的結構(顯示所有欄位的名稱)
650) this.width=650;" src="https://s3.51cto.com/wyfs02/M00/9E/3B/wKioL1mNthyS56fWAACCad2JXnE722.png" title="Screenshot from 2017-08-11 09-24-49.png" alt="wKioL1mNthyS56fWAACCad2JXnE722.png" />
select * from user; 查詢user表中的所有內容(*可以用此表中的任何欄位來代替)
650) this.width=650;" src="https://s2.51cto.com/wyfs02/M00/9E/4D/wKiom1mNtjbAG2ZnAAD7y0HZulM463.png" title="Screenshot from 2017-08-11 09-24-56.png" alt="wKiom1mNtjbAG2ZnAAD7y0HZulM463.png" />
加上查詢條件
650) this.width=650;" src="https://s3.51cto.com/wyfs02/M01/9E/4D/wKiom1mNtoGROjdfAAGTxAnQvsI603.png" title="Screenshot from 2017-08-11 09-25-18.png" alt="wKiom1mNtoGROjdfAAGTxAnQvsI603.png" />
3.資料庫及表的建立
create database westos; 建立westos庫,建立linux表
650) this.width=650;" src="https://s2.51cto.com/wyfs02/M01/9E/4D/wKiom1mNt1CCP9OLAACjb0sLg58265.png" title="Screenshot from 2017-08-11 09-44-02.png" alt="wKiom1mNt1CCP9OLAACjb0sLg58265.png" />
insert into linux values (‘user1‘,‘passwd1‘); 添加linux表中的資訊
650) this.width=650;" src="https://s4.51cto.com/wyfs02/M02/9E/3B/wKioL1mNt5WAyHL3AAAq4xgduxg738.png" title="Screenshot from 2017-08-11 09-44-18.png" alt="wKioL1mNt5WAyHL3AAAq4xgduxg738.png" />650) this.width=650;" src="https://s2.51cto.com/wyfs02/M02/9E/4D/wKiom1mNt6_BzuApAAA6wRG4fzs161.png" title="Screenshot from 2017-08-11 09-44-27.png" alt="wKiom1mNt6_BzuApAAA6wRG4fzs161.png" />
4.資料庫的修改
alter table linux rename message; 修改資料庫表名
650) this.width=650;" src="https://s1.51cto.com/wyfs02/M02/9E/3B/wKioL1mNuCuhE8SeAACLrU4BMJM237.png" style="float:none;" title="Screenshot from 2017-08-11 10-01-56.png" alt="wKioL1mNuCuhE8SeAACLrU4BMJM237.png" />
alter table linux add class; 在表中添加class列
650) this.width=650;" src="https://s5.51cto.com/wyfs02/M02/9E/4D/wKiom1mNuC2jV6rHAADZzYg2X3w812.png" style="float:none;" title="Screenshot from 2017-08-11 10-09-05.png" alt="wKiom1mNuC2jV6rHAADZzYg2X3w812.png" />
在表中password後添加class列
650) this.width=650;" src="https://s2.51cto.com/wyfs02/M00/9E/3B/wKioL1mNuDbTgTMmAACBHZo02kI963.png" style="float:none;" title="Screenshot from 2017-08-11 10-12-18.png" alt="wKioL1mNuDbTgTMmAACBHZo02kI963.png" />
update linux set class=‘linux‘; 更新表中的資料(全部列)
650) this.width=650;" src="https://s3.51cto.com/wyfs02/M01/9E/3B/wKioL1mNuDqRlxGQAADLOP1E4ZI408.png" style="float:none;" title="Screenshot from 2017-08-11 10-12-27.png" alt="wKioL1mNuDqRlxGQAADLOP1E4ZI408.png" />
更新表中名字為lee一欄的class為jave (有條件的更新,不是整列)
650) this.width=650;" src="https://s4.51cto.com/wyfs02/M00/9E/4D/wKiom1mNuD3RrtjuAACDN60byMU279.png" style="float:none;" title="Screenshot from 2017-08-11 10-12-28.png" alt="wKiom1mNuD3RrtjuAACDN60byMU279.png" />
5.資料庫的刪除
alter table linux drop class; 刪除linux表中的class列
650) this.width=650;" src="https://s5.51cto.com/wyfs02/M02/9E/4D/wKiom1mNuDLyE1bjAABwFlFyjJ8529.png" style="float:none;" title="Screenshot from 2017-08-11 10-09-17.png" alt="wKiom1mNuDLyE1bjAABwFlFyjJ8529.png" />
delete from linux where username=‘user1‘; 刪除user1的資料從linux表中
drop table linux; 刪除linux表
drop database westos; 刪除westos庫
650) this.width=650;" src="https://s4.51cto.com/wyfs02/M01/9E/4D/wKiom1mNu8fTfgHbAACHqLzApN8168.png" title="Screenshot from 2017-08-11 10-17-04.png" alt="wKiom1mNu8fTfgHbAACHqLzApN8168.png" />
五.資料庫的備份
mysqldump -u root -pwestos --all-database 備份所有表中的左右資料
mysqldump -u root -pwestos --all-database --no-data 備份所有表,但不備份資料
mysqldump -u root -pwestos westos 備份westos庫
mysqldump -u root -pwestos westos > /mnt/westos.sql 備份westos庫並把資料儲存到westos.sql中
mysqldump -uroot -pwestos westos linux > /mnt/linux.sql 備份westos庫中的linux表
mysqldump -uroot -pwestos westos test > /mnt/test.sql 備份westos庫中的test表
1.備份westos庫並把資料儲存到westos.sql中
650) this.width=650;" src="https://s4.51cto.com/wyfs02/M00/9E/4D/wKiom1mNvduwkkMxAAAhIxRBZtk402.png" title="Screenshot from 2017-08-11 10-35-36.png" alt="wKiom1mNvduwkkMxAAAhIxRBZtk402.png" />
2.刪除westos庫
650) this.width=650;" src="https://s1.51cto.com/wyfs02/M01/9E/3C/wKioL1mNvUzDYmCSAACyLndljoc660.png" style="float:none;" title="Screenshot from 2017-08-11 10-35-56.png" alt="wKioL1mNvUzDYmCSAACyLndljoc660.png" />
3.恢複westos庫
mysql -uroot -pwestos -e "create database westos;" 建立westos庫
mysql -uroot -pwestos westos < /mnt/westos.sql 把資料匯入westos庫
650) this.width=650;" src="https://s3.51cto.com/wyfs02/M02/9E/4D/wKiom1mNvU2RKTtmAAA9l5rc0Tg363.png" style="float:none;" title="Screenshot from 2017-08-11 10-37-50.png" alt="wKiom1mNvU2RKTtmAAA9l5rc0Tg363.png" />
4.進入資料庫,查看westos庫正常
650) this.width=650;" src="https://s3.51cto.com/wyfs02/M01/9E/4D/wKiom1mNvU7gbMhOAAEb5Gi1c-8310.png" style="float:none;" title="Screenshot from 2017-08-11 10-38-45.png" alt="wKiom1mNvU7gbMhOAAEb5Gi1c-8310.png" />
六.密碼修改
650) this.width=650;" src="https://s5.51cto.com/wyfs02/M01/9E/3C/wKioL1mNv4WxNRwcAANCVQws2oM700.png" title="Screenshot from 2017-08-11 22-29-40.png" alt="wKioL1mNv4WxNRwcAANCVQws2oM700.png" />
1.關閉資料庫服務,開啟mysql登陸介面並忽略授權表 mysqld_safe --skip-grant-tables &
650) this.width=650;" src="https://s1.51cto.com/wyfs02/M02/9E/4D/wKiom1mNv_zgKICPAACKsgutUK4617.png" style="float:none;" title="Screenshot from 2017-08-11 11-18-29.png" alt="wKiom1mNv_zgKICPAACKsgutUK4617.png" />
2.mysql 直接不用密碼可以登陸
update mysql.user set Password=password(‘westos‘) where User=‘root‘; 更新超級使用者密碼資訊(加密)
650) this.width=650;" src="https://s2.51cto.com/wyfs02/M02/9E/3C/wKioL1mNv_3DKZa7AAEmIDQuSU4935.png" style="float:none;" title="Screenshot from 2017-08-11 11-20-03.png" alt="wKioL1mNv_3DKZa7AAEmIDQuSU4935.png" />
查看更新加密後的密碼
650) this.width=650;" src="https://s5.51cto.com/wyfs02/M02/9E/4D/wKiom1mNv_6B1lueAAGXQiILqhw231.png" style="float:none;" title="Screenshot from 2017-08-11 11-20-15.png" alt="wKiom1mNv_6B1lueAAGXQiILqhw231.png" />
3.ps aux | grep mysql 過濾mysql的所有進程
kill -9 mysqlpid 結束這些進程
systemctl start mariadb 重新開啟mysql
mysql -uroot -pwestos 登陸測試
650) this.width=650;" src="https://s5.51cto.com/wyfs02/M01/9E/3C/wKioL1mNv__DjXWSAAE7AKMzGL0479.png" style="float:none;" title="Screenshot from 2017-08-11 11-20-34.png" alt="wKioL1mNv__DjXWSAAE7AKMzGL0479.png" />
650) this.width=650;" src="https://s5.51cto.com/wyfs02/M00/9E/4D/wKiom1mNwADhj_3CAACz1b1EfsA158.png" style="float:none;" title="Screenshot from 2017-08-11 11-20-56.png" alt="wKiom1mNwADhj_3CAACz1b1EfsA158.png" />
七.使用者授權
650) this.width=650;" src="https://s4.51cto.com/wyfs02/M01/9E/4E/wKiom1mNwaOTHEC4AAao7D2Tur4848.png" title="Screenshot from 2017-08-11 22-38-58.png" alt="wKiom1mNwaOTHEC4AAao7D2Tur4848.png" />
1.create user [email protected] identified by ‘westos‘; 建立使用者lee,密碼westos,此使用者只能通過本機登陸
create user [email protected]‘%‘ identified by ‘westos‘; 建立使用者lee,密碼westos,此使用者可以通過網路登陸
2.grant insert,update,delete,select on westos.test to [email protected]; 使用者授權
grant select on westos.* to [email protected]‘%‘
650) this.width=650;" src="https://s4.51cto.com/wyfs02/M00/9E/3C/wKioL1mNwijTQJbmAABsXijhDmo985.png" style="float:none;" title="Screenshot from 2017-08-11 12-34-21.png" alt="wKioL1mNwijTQJbmAABsXijhDmo985.png" />
3.show grants for [email protected]‘%‘ 查看使用者授權
show grants for [email protected]
650) this.width=650;" src="https://s5.51cto.com/wyfs02/M02/9E/4E/wKiom1mNwiyDQmHFAACK8oYlMMo184.png" style="float:none;" title="Screenshot from 2017-08-11 12-34-59.png" alt="wKiom1mNwiyDQmHFAACK8oYlMMo184.png" />
用lee使用者登陸後可以查看、刪除
650) this.width=650;" src="https://s3.51cto.com/wyfs02/M01/9E/3C/wKioL1mNwi_iA1ZYAAEtpH3nsLw682.png" style="float:none;" title="Screenshot from 2017-08-11 12-35-58.png" alt="wKioL1mNwi_iA1ZYAAEtpH3nsLw682.png" />
650) this.width=650;" src="https://s5.51cto.com/wyfs02/M00/9E/4E/wKiom1mNwjHgbJuZAAB8IamJTTU800.png" style="float:none;" title="Screenshot from 2017-08-11 12-36-14.png" alt="wKiom1mNwjHgbJuZAAB8IamJTTU800.png" />
4.revoke delete on westos.* from [email protected]; 去除使用者授權權力
去除lee使用者的delete權力後無法刪除表中資料
650) this.width=650;" src="https://s1.51cto.com/wyfs02/M02/9E/3C/wKioL1mNwjTiCNm2AADRBds2sAk952.png" style="float:none;" title="Screenshot from 2017-08-11 12-36-30.png" alt="wKioL1mNwjTiCNm2AADRBds2sAk952.png" />
650) this.width=650;" src="https://s1.51cto.com/wyfs02/M02/9E/3C/wKioL1mNwjjy-WeLAAFuZuBerpE821.png" style="float:none;" title="Screenshot from 2017-08-11 12-36-51.png" alt="wKioL1mNwjjy-WeLAAFuZuBerpE821.png" />
5.drop user [email protected] 刪除lee使用者
drop user [email protected]‘%‘ 刪除使用者
650) this.width=650;" src="https://s1.51cto.com/wyfs02/M02/9E/4E/wKiom1mNwjnQoDBlAAC2C9lYJPs136.png" style="float:none;" title="Screenshot from 2017-08-11 12-37-05.png" alt="wKiom1mNwjnQoDBlAAC2C9lYJPs136.png" />
八.資料庫的網頁管理工具
1.安裝服務和準備phpMyAdmin包
systemctl start httpd
systemctl enable httpd
systemctl stop firewalld
systemctl disable firewalld
phpMyAdmin-3.4.0-all-languages.tar.bz2
2.設定資料庫的網頁管理工具
解壓phpMyAdmin包,將解壓後的目錄重新命名為mysqladmin
650) this.width=650;" src="https://s2.51cto.com/wyfs02/M00/9E/3C/wKioL1mNxMWg7IerAADL9M6F_uI896.png" style="float:none;" title="Screenshot from 2017-08-11 14-16-35.png" alt="wKioL1mNxMWg7IerAADL9M6F_uI896.png" />
查看phpMyAdmin設定檔Documentation,找到軟體碼
650) this.width=650;" src="https://s4.51cto.com/wyfs02/M00/9E/3C/wKioL1mNxMSjSuCmAAAfRhgiqis506.png" style="float:none;" title="Screenshot from 2017-08-11 14-08-44.png" alt="wKioL1mNxMSjSuCmAAAfRhgiqis506.png" />
複製phpMyAdmin中的配置模版檔案,編輯模版檔案,將軟體碼添加到設定檔中
650) this.width=650;" src="https://s1.51cto.com/wyfs02/M02/9E/4E/wKiom1mNxMbxDXBZAABmwS9-Lnk351.png" style="float:none;" title="Screenshot from 2017-08-11 14-17-01.png" alt="wKiom1mNxMbxDXBZAABmwS9-Lnk351.png" />
vim config.inc.php
650) this.width=650;" src="https://s2.51cto.com/wyfs02/M00/9E/4E/wKiom1mNxMXzwJrBAAApphZGWkw426.png" style="float:none;" title="Screenshot from 2017-08-11 14-12-39.png" alt="wKiom1mNxMXzwJrBAAApphZGWkw426.png" />
安裝 yum install httpd php php-mysql -y
650) this.width=650;" src="https://s1.51cto.com/wyfs02/M01/9E/3C/wKioL1mNxMaSTU6qAAA-H7J3k0k679.png" style="float:none;" title="Screenshot from 2017-08-11 14-17-50.png" alt="wKioL1mNxMaSTU6qAAA-H7J3k0k679.png" />
3.測試:訪問http://172.25.254.128/mysqladmin
650) this.width=650;" src="https://s1.51cto.com/wyfs02/M00/9E/4E/wKiom1mNxMejEg7PAADUDwUTmL0067.png" style="float:none;" title="Screenshot from 2017-08-11 14-18-20.png" alt="wKiom1mNxMejEg7PAADUDwUTmL0067.png" />
650) this.width=650;" src="https://s2.51cto.com/wyfs02/M01/9E/3C/wKioL1mNxMjR8WcQAAHnrDymLAE752.png" style="float:none;" title="Screenshot from 2017-08-11 14-28-08.png" alt="wKioL1mNxMjR8WcQAAHnrDymLAE752.png" />
650) this.width=650;" src="https://s2.51cto.com/wyfs02/M01/9E/4E/wKiom1mNxMmA3Y0sAAE3MjACqMo667.png" style="float:none;" title="Screenshot from 2017-08-11 14-33-51.png" alt="wKiom1mNxMmA3Y0sAAE3MjACqMo667.png" />
650) this.width=650;" src="https://s4.51cto.com/wyfs02/M02/9E/3C/wKioL1mNxMrjOkY-AAEPfgTiZpQ529.png" style="float:none;" title="Screenshot from 2017-08-11 14-33-59.png" alt="wKioL1mNxMrjOkY-AAEPfgTiZpQ529.png" />
650) this.width=650;" src="https://s3.51cto.com/wyfs02/M02/9E/3C/wKioL1mNxMvCuePhAAFMqr6mWnc558.png" style="float:none;" title="Screenshot from 2017-08-11 14-34-06.png" alt="wKioL1mNxMvCuePhAAFMqr6mWnc558.png" />
登陸成功,可以編輯庫,標記表,編輯後可以看到sql語句,對於學習語句和提高編輯效率有很大的協助。
Linux的資料庫mariadb