1. 程式人生 > >Linux系統中對資料庫使用和管理

Linux系統中對資料庫使用和管理

資料庫是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';

在這裡插入圖片描述

四.管理資料庫的使用者

1.建立使用者

CREATE USER [email protected] identified by 'redhat';
##建立使用者的名稱是tony,密碼是redhat
##[email protected]表示tony使用者只能本機登陸,@表示該使用者可以遠端登陸

在這裡插入圖片描述
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      ##備份資料庫到指定的位置
mysqldump -uroot -pwestos westos  --no-data		

2.備份所有資料庫

mysqldump -uroot -pwestos --all-database		##備份框架和內容
mysqldump -uroot -pwestos --all-database --no-data	##只備份框架,不備份內容

3.刪除備份的資料庫

mysql -uroot -predhat -e "DROP DATABASE westos;"

在這裡插入圖片描述
4.資料庫的恢復

mysql -uroot -predhat westos </mnt/westos.sql

由於資料庫中已經沒有westos資料庫,恢復的時候會遇到問題
在這裡插入圖片描述
恢復方式1

mysqldump -uroot -pwestos -e "CREATE DATABASE westos;"
mysqldump -uroot -pwestos westos < /mnt/westos.sql

在這裡插入圖片描述
恢復方式2

vim /mnt/westos.sql
21行 CREATE DATABASE westos;
22行 USE westos;
mysqldump -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=('123') WHERE User='root';	##密碼密文顯示

在這裡插入圖片描述
5.結束掉mysql的所有程序

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
phpMyAdmin-2.11.3-all-languages -------- >/var/www/html`
mv phpMyAdmin-2.11.3-all-languages/ mysqladmin

在這裡插入圖片描述
3.

cd mysqladmin
cp config.sample.inc.php config.inc.php
vim config.inc.php
$cfg['blowfish_secret'] = 'ba17c1ec07d65003';
less Documentation.txt  ##上邊這個在這裡哦!

在這裡插入圖片描述
在這裡插入圖片描述

測試:
http://172.25.254.117/mysqladmin
(注意:如果還不行清除快取)
在這裡插入圖片描述
建立資料庫linux
在這裡插入圖片描述在這裡插入圖片描述檢視資料庫是否被更改
在這裡插入圖片描述