資料庫
資料庫是IP行業的重中之重
1.定義:進階的excel表格軟體
2.知名的資料庫 oracle(不是開源的) mysql(開源) mariadb(mysql中一個分支)
一.安裝資料庫
1.安裝資料庫軟體
yum install mariadb-server -y
2.開啟服務
systemctl start mariadb
3.安全初始化
不做安全初始化的話資料庫無密碼登陸不安全
mysql_secure_installation ##安全初始化
3.登陸資料庫
mysql -uroot -p
4.關閉mysql資料庫網絡接口,因為開啟接口不安全,容易受到資料庫攻擊(攻擊指篡改資料庫内容)
netstat -antlupe | grep mysql ##檢視資料庫端口是開啟的
vim /etc/my.cnf
10 skip-networking=1
systemctl restart mariadb
netstat -antlupe | grep mysql ##檢視資料庫網絡接口關閉
二.資料庫的管理
1.登陸資料庫
mysql -uroot -p
2.列出庫
SHOW DATABASES; ##列出庫
3.進入mysql庫
USE mysql; ##進入mysql庫
4.顯示mysql資料庫中的表
SHOW TABLES; ##顯示表
5.在user表中查詢所有
SELECT * FROM user;
6.在user表中查詢指定的屬性
SELECT Host,User,Password FROM user;
三.建立資料庫和表
1.建立westos庫
mysql -uroot -p
CREATE DATABASE westos; ##建立庫
SHOW DATABASES
2.在westos庫中建立linux表
USE westos ##進入庫
CREATE TABLE linux( ##建立表
-> username varchar(10) not null,
-> password varchar(50) not null
-> );
3.向westos表中添加内容
DESC linux; ##檢視表結構
INSERT INTO linux VALUES('tony','123'); ##插入資料到linux表中
INSERT INTO linux VALUES('pake','123');
SELECT * FROM linux; ##檢視所有字段在linux表中
SELECT username,password from linux; ##查詢指定字段在linux表中
4.更改
UPDATE linux SET password=password('tony') where username='tony';
##password=‘tony’更改的密碼會以明文的方式顯示,password=password('tony')以密文的方式顯示
四.管理資料庫的使用者
1.建立使用者
CREATE USER [email protected] identified by 'redhat';
建立使用者的名稱是tony,密碼是redhat
[email protected]表示tony使用者隻能本機登陸,test@'%':表示test可以從遠端登陸資料庫
2.檢視資料庫中的使用者
SELECT User FROM mysql.user; ##檢視mysql中的使用者
3.使用者授權
GRANT INSERT,UPDATE on westos.* to [email protected];
4.顯示特定使用者對資料庫的權限
SHOW GRANTS FOR [email protected];
5.撤銷特定授權
REVOKE INSERT ON westos.* FROM [email protected];
6.重新加載授權表
FLUSH PRIVILEGES;
7.删除tony使用者
DROP USER [email protected]
五.資料庫的備份
1.備份資料庫到指定位置
mysqldump -uroot -pwestos westos > /mnt/westos.sql ##将庫westos整個備份
mysqldump -uroot -pwestos westos --no-data > /mnt/westos.sql ##将westos庫的結構備份,不備份資料
2.備份所有資料庫
mysqldump -uroot -pwestos --all-database > /mnt/alldata.sql ##備份架構和内容
mysqldump -uroot -pwestos --all-database --no-data > /mnt/alldata.sql ##隻備份架構,不備份内容
3.删除westos的資料庫
mysql -uroot -pwestos -e "DROP DATABASE westos;" ##-e:參數後加動作:删除westos庫
4.資料庫的恢複
mysql -uroot -pwestos westos </mnt/westos.sql
由于資料庫中已經沒有westos資料庫,恢複的時候會遇到問題
恢複方式1
mysql -uroot -pwestos -e "CREATE DATABASE westos;" ##先建立westos庫,再恢複資料
mysql -uroot -pwestos westos < /mnt/westos.sql ##從備份的目錄中恢複
恢複方式2
vim /mnt/westos.sql ##删除westos庫,直接在備份檔案中寫入建立資料庫指令
21行 CREATE DATABASE westos;
22行 USE westos;
mysql -uroot -pwestos < /mnt/westos.sql ##從備份的目錄中恢複
六.資料庫密碼忘記
1.關閉資料庫
systemctl stop mariadb
2.跳過系統資料庫直接登陸資料庫,把他打入背景
mysqld_safe --skip-grant-table &
3.不需要密碼登陸資料庫
mysql
4.修改資料庫root密碼
UPDATE mysql.user SET Password='123' WHERE User='root'; ##密碼明文顯示,不安全
UPDATE mysql.user SET Password=password('123') WHERE User='root'; ##密碼密文顯示
5.結束掉mysql的所有程序,保留grep程序,這是此條指令的程序
ps aux | grep mysql
kill -9 mysql的所有程序id
6.打開資料庫
systemctl start mariadb
七.安裝phpmyadmin資料庫圖形管理
1.下載下傳phpMyAdmin-2.11.3-all-languages
2.yum install php php-mysql -y
3.
yum install httpd
systemctl restart httpd
4.
phpMyAdmin-2.11.3-all-languages.tar.bz2 -------- >/var/www/html
tar jxf phpMyAdmin-2.11.3-all-languages.tar.bz2 ##解壓
5.
5.mv phpMyAdmin-2.11.3-all-languages/ mysqladmin
6.cd mysqladmin
7.cp config.sample.inc.php config.inc.php
8.vim config.inc.php
$cfg['blowfish_secret'] = 'ba17c1ec07d65003';
less Documentation.txt ##上邊這個$cfg['blowfish_secret']
9.systemctl restart httpd.service ##重新開機http
測試:
http://172.25.254.147/mysqladmin
如果還不行清除緩存
用指令方式檢視是否建立成功:
使用圖形與使用指令的結果是相同的。