Linux系統中對資料庫使用和管理
阿新 • • 發佈:2018-12-13
資料庫是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
檢視資料庫是否被更改