一、什么是數據庫?
數據庫就是一個有組織、可高效訪問、管理和更新的電子化信息(數據)集合庫。
簡單來說,數據庫就是一個高級的Excel
二、安裝數據庫并初始化
1、安裝數據庫(MySQL)
dnf search一下mysql數據庫的包
dnf search mysql
示例
復制這個軟件包名
dnf install一下
dnf install mysql-server.x86_64
示例
2、打開數據庫服務
systemctl enable --now mysqld.service
示例
3、啟動數據庫和初始化
(1)訪問數據庫
mysql
可以看看數據庫:
mysql> SHOW DATABASES;
quit退出
quit
(2)安全初始化(設定密碼相關)
mysql_secure_installation
接下來會彈出許多問題選項,我們這樣設置:
1)
Would you like to setup VALIDATE PASSWORD component?
是否要更改密碼?
Press y|Y for Yes, any other key for No: y
我們輸入y,確認
?
2)
There are three levels of password validation policy:
LOW ? ?Length >= 8
低等級密碼,大于8位即可
MEDIUM Length >= 8, numeric, mixed case, and special characters中級密碼,要有大小寫
STRONG Length >= 8, numeric, mixed case, special characters and dictionary高級密碼,大小寫,特殊符號
Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 0
我們這里選擇低級密碼,輸入0
3)
Please set the password for root here.
New password: 這里輸入你要的密碼,大于等于8位即可,這里博主用12345678,注意密碼不會顯示,并且記清楚了!
Re-enter new password: 再輸一次
?
4)
Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) :
再次確認是否要更改密碼,我們輸入yes
5)
Remove anonymous users? (Press y|Y for Yes, any other key for No) :
是否要禁止匿名用戶,輸入yes
6)
Disallow root login remotely? (Press y|Y for Yes, any other key for No) :
是否要禁用root用戶遠程登錄?我們輸入yes
7)
Remove test database and access to it? (Press y|Y for Yes, any other key for No) :
是否刷新數據庫?輸入yes
8)
Reload privilege tables now? (Press y|Y for Yes, any other key for No) :
重啟,我們輸入yes
結束初始化
(3)測試安裝是否成功
測試:沒有密碼登錄失敗
?測試:有密碼登錄成功
PS:在企業中登錄可不能這么登錄,這樣的話密碼就可以通過history來看到了,那就泄露了
所以我們可以這樣登錄:
?
這樣密碼就不會顯示出來了
測試結束
三、sql語句基本知識
1、基本語法
(1)查看當前數據庫
show databases;
(2)創建數據庫
create database lincoln;
(3)使用數據庫
use lincoln;
(4)顯示庫中的表
show tables from mysql;
(5)建立表
create table mysql.userlist ( username varchar(10) not null, passwd varchar(50) not null );
(6)刪除表
drop table mysql.userlist;
(7)插入數據到表
insert into userlist values ('user1','123');
我這邊多插入幾條:
(8)查看表的所有數據
select * from userlist;
(9)(只)查看username數據
select username from userlist;
(10)條件查詢(where)
select username from userlist where passwd='333';
在userlist這個表中,查詢密碼passwd為333的username
?
(11)修改表名稱
alter table userlist rename user_list;
(12)添加列到指定位置(username之后)
alter table user_list add age varchar(4) after username;
(13)刪除列
alter table user_list drop age;
刪完記得再加回來哈(再執行(12)的命令即可)
(14)更新整列數據
update user_list set age='20';
可以看一下,添加成功
(15)更新指定數據
update user_list set age='15' where username='user3';
(16) 刪除某行數據
delete from user_list where username='user3';
可以查看一下:
已刪除user3
(17)備份數據庫中所有數據到all.sql文件中
先退出數據庫(quit)
mysqldump -u root -p12345678 -A > /mnt/all.sql
那個警告不用管,是說你的密碼可能會泄露?
(18)備份數據庫結構但不備份數據
mysqldump -uroot -p12345678 -A --no-data > /mnt/all-nodata.sql
(19)備份lincoln庫
mysqldump -u root -p12345678 -A lincoln > /mnt/lincoln.sql
(20)刪除庫
drop database lincoln;
(21)恢復數據到指定庫中?
還是先quit退出數據庫
然后,先創建一個庫:
mysql -u root -p12345678 -e "create database lincoln;"
將剛剛備份(步驟19)的lincoln庫的數據恢復到剛剛建立的lincoln庫中
mysqldump -u root -p12345678 -p lincoln < /mnt/lincoln.sql
完成