1. 數據庫的簡介
定義:數據庫(Database)就是一種按數據結構來組織,存儲和管理數據的倉庫,其中包含數據挖掘,大數據信息的推送。
mariadb數據庫管理系統是mysql的一個分支,主要由開源社區在維護,采用GPL授權許可 mariadb的目的是完全兼容mysql,包括API和命令行,使之能輕松成為mysql的代替品。
2. 安裝數據庫
yum install mariadb-server.x86_64 -y 安裝數據庫軟件systemctl start mariadb 開啟數據庫mysql 進入數據庫
3. mariadb的安全初始化
默認情況下,數據庫的網絡接口是打開的,為了安全需要要關閉此接口
vim /etc/my.cnf 編輯配置數據庫文件skip-networking=1 關閉網絡接口systemctl restart mariadb 重啟數據庫netstat -antlupe | grep mysql 查看登陸數據庫的接口
先查看登陸數據庫的接口,發現有接口,然后再編輯文件關閉網絡接口,重啟數據庫之后再次查看,
設定登陸密碼:mysql_secure_installation
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] 刷新數據庫
Reload privilege tables now? [Y/n] 允許下載表
里面所有的內容都選y,可以直接一直回車,只需中途輸超級用戶密碼倆次就行
4. 數據庫的基本管理
mysql -uroot -p密碼 -u表示指定登陸用戶,-p 表示指定此用戶密碼
不建議-p后面直接跟密碼,這樣會泄露密碼
2)數據庫的查詢:
MariaDB [(none)]> SHOW DATABASES; ##顯示數據庫MariaDB [(none)]> USE mysql ##進入數據庫MariaDB [mysql]> SHOW TABLES; ##顯示庫的tableMariaDB [mysql]> DESC user; ##查看user表的結構MariaDB [mysql]> SELECT Host,User FROM user; ##查看表的具體信息
5. 數據庫的建立
CREATE DATABASE westos; ##建立westos數據庫CREATE TABLE linux ) ##建立以linux為格式的表-> usrname varchar(10) not null,-> password varchar(50) not null-> );DESC linux ##查看創建該表的結構INSERT INTO linux VALUES ('zll','123');INSERT INTO linux VALUES ('zll1','westos'); ##給該中表中添加內容SELECT * FROM linux; ##查看表中的內容
建立的數據庫名稱設定完就不會更改,否則可能會在數據的查詢使用中出現問題,穩定性很低,生產環境中基本不用
6. 往數據庫里添東西:
ALTER TABLE linux ADD class varchar(20) AFTER username; 添加class在username的后面
UPDATE linux SET class='linux'; 更新班級為linux
UPDATE linux SET class='java' WHERE usrename='zll'; 更改zll的班級為java
7. 用戶授權
SELECT User FROM mysql.user; 查看mysql用戶CREATE USER zll@localhost identified by 'westos'; 創建用戶HAHA,密碼為westosSHOW GRANTS FOR HAHA@localhost; 查看用戶HAHA權限
insert權限的添加
自己能給自己添加權限嗎? 那肯定不行的啊,自己能給自己添加權限那還要root有毛用,
GRANT SELECT,INSERT on westos.* TO HAHA@localhost; 給HAHA用戶在westos數據庫中進行SELECT和INSERT的權限
收回權限:
REVOKE SELECT,INSERT on westos.* FROM HAHA@localhost 收回HAHA用戶在westos數據庫中進行SELECT和INSERT的權限
8. 用戶刪除:
DROP USER HAHA@localhost 刪除HAHA用戶
9. 數據庫的備份:
mysqldump -uroot -p --all-database 查看數據庫所有內容
mysqldump -uroot -p westos 查看westos數據庫的腳本文件
mysqldump -uroot -p WESTOS > /mnt/westos.sql 將WESTOS數據庫備份再/mnt/westos.sql
備份好之后,就可以操作一波了,先刪了吧
DROP TABLE westos.linux; 刪除表,但是數據庫還在DROP DATABASE westos; 刪除數據庫
刪了之后恢復
方法一:
mysql -uroot -p -e "CREATE DATABASE westos;"; 創建數據庫mysql -uroot -p westos < /mnt/westos.sql 備份的數據庫文件恢復
方法二:
vim /mnt/westos.sql編輯內容為:21 CREATE DATABASE westos;22 USE westos;mysql -uroot -pwestos < /mnt/westos.sql
這是方法一
下面看下第二種方法:
先在文件中加點東西
恢復數據庫的前提是數據庫被刪了,所以試的時候一定要把數據庫刪了。
10. 超級用戶密碼修改
超級用戶密碼的修改
mysqladmin -uroot -pwestos password redhat 將密碼westos改為redhat
當忘記超級用戶密碼;
systemctl stop mariadb ##關閉服務mysqld_safe --skip-grant-tables & ##開啟mysql登陸接口并忽略授權表mysql ##直接不用密碼可以登陸
update mysql.user set Password=password('westos') where User='root; 更新超級用戶密碼信息ps aux | grep mysql ##過濾mysql的所有進程并結束這些進程kill -9 mysqlpid
systemctl start mariadb ##重新開啟mysqlmysql -uroot -pwestos ##登陸測試