一、前言 MySQL :是用於管理數據的軟體 MySQL是一種關係資料庫管理系統,關係資料庫將數據保存在不同的表中,而不是將所有數據放在一個大倉庫內,這樣就增加了速度並提高了靈活性。 分為服務端和客戶端(也是基於C/S架構的程式) 服務端: socket服務端 本地文件操作 解析指令(SQL語句) ...
一、前言
MySQL :是用於管理數據的軟體
MySQL是一種關係資料庫管理系統,關係資料庫將數據保存在不同的表中,而不是將所有數據放在一個大倉庫內,這樣就增加了速度並提高了靈活性。
分為服務端和客戶端(也是基於C/S架構的程式)
服務端:
- socket服務端
- 本地文件操作
- 解析指令(SQL語句)
客戶端:
- socket客戶端
- 發送指令
- 解析指令(SQL語句)
需要掌握
- 安裝服務端和客戶端 https://www.mysql.com
- 連接
- 學習SQL語句規則,指示服務端做相應的操作
其他瞭解
類似軟體
- 關係型資料庫:SQLLITE,DB2,ORACLE,ACCESS,SQL SERVER,MYSQL
- 非關係型資料庫:MONGODB,REDIS 等等
二、MySQL安裝
在LINUX上可RPM或者yum install 。。。即可安裝上
在windows上:
1、可執行文件
MySQL Installer 鏈接地址:mysql執行文件
下載完成之後,下一步 下一步即可 具體可訪問此地址查看
2、壓縮包(zip)形式
Windows (x86, 64-bit), ZIP Archive 訪問地址:官網地址
壓縮包形式好處是可以放置任意目錄
下載完成之後,比如放到windows上的D盤
1、解壓之後 如上圖
2、初始化工作
以管理的身份運行CMD DOS視窗
例如 路徑為 D:\mysql-5.7.23-winx64\mysql-5.7.23-winx64
就需要在dos視窗 敲 D:\mysql-5.7.23-winx64\mysql-5.7.23-winx64\bin\mysqld --initialize-insecure 此時即可完成初始化操作
預設生成一個root用戶 密碼為空
3、啟動服務端
D:\mysql-5.7.23-winx64\mysql-5.7.23-winx64\bin\mysqld 在dos視窗執行此行 會出現socket (accept,recv)阻塞 或者 while 迴圈 input 的效果
4、客戶端連接
D:\mysql-5.7.23-winx64\mysql-5.7.23-winx64\bin\mysql -u root -p 密碼為空 回車即可進入
發送 show databases ; 指令
3、 環境變數的配置
打開電腦屬性,高級系統設置,環境變數,系統變數框下的path項點擊編輯,將指針移到開頭加上 ; ,然後在分號前面輸入mysql的bin目錄路徑即可。
這樣每次在dos視窗就不需要加路徑這麼長的首碼了 只需要輸入 mysql -u root -p 等等 就行了
但是系統一關機再開機之後 mysql這個服務是沒有自啟動的,每次重啟機器後 都需要 在管理員dos視窗運行一次 mysqld
這樣每次都需要手動執行一遍mysqld 太麻煩了 這裡就可以製作成windows服務
4、製作windows服務
可在圖形中點擊啟動按鍵
也可在dos(管理員)輸入 net start MySQL 啟動
net stop MySQL 停止
三、連接SQL
資料庫的結構大致也分為
文件夾【資料庫】
文件【表】
數據行【行】
這樣的結構
預設的用戶 超級管理員 : root
初始狀態下,管理員root,密碼為空,預設只允許從本機登錄localhost 設置密碼 mysqladmin -uroot password "123" 設置初始密碼 由於原密碼為空,因此-p可以不用 mysqladmin -uroot -p"123" password "456" 修改mysql密碼,因為已經有密碼了,所以必須輸入原密碼才能設置新密碼設置密碼
show databases; use 資料庫名稱; show tables; select * from 表名; select name,age,id from 表名; mysql資料庫user表 use mysql; select user,host from user;
用戶管理
創建用戶 create user '用戶名'@'IP地址' identified by '密碼'; 刪除用戶 drop user '用戶名'@'IP地址'; 修改用戶 rename user '用戶名'@'IP地址'; to '新用戶名'@'IP地址';; 修改密碼 set password for '用戶名'@'IP地址' = Password('新密碼') PS:用戶許可權相關數據保存在mysql資料庫的user表中,所以也可以直接對其進行操作(不建議)
創建用戶和授權
創建用戶: create user '用戶名'@'IP地址' identified by '密碼'; create user '用戶名'@'192.168.1.%' identified by '密碼'; create user '用戶名'@'%(代表任意)' identified by '密碼';
show grants
for
'用戶'
@
'IP地址'
-- 查看許可權
授權: grant select,insert,update on 庫名.表名 to '用戶名'@'%'; grant all privileges(代表除授權外的所有許可權) on db.表名 to '用戶名'@'%'; 解除許可權 revoke all privileges on db.表名 from '用戶名'@'%'; 實際情況(DBA: 用戶名密碼 會給對應表 或 庫 的相應許可權用戶)
all privileges 除grant外的所有許可權
select 僅查許可權
select,insert 查和插入許可權
...
usage 無訪問許可權
alter 使用alter table
alter routine 使用alter procedure和drop procedure
create 使用create table
create routine 使用create procedure
create temporary tables 使用create temporary tables
create user 使用create user、drop user、rename user和revoke all privileges
create view 使用create view
delete 使用delete
drop 使用drop table
execute 使用call和存儲過程
file 使用select into outfile 和 load data infile
grant option 使用grant 和 revoke
index 使用index
insert 使用insert
lock tables 使用lock table
process 使用show full processlist
select 使用select
show databases 使用show databases
show view 使用show view
update 使用update
reload 使用flush
shutdown 使用mysqladmin shutdown(關閉MySQL)
super