mysql01 mysql基礎知識

2022-03-10 18:17:00 字數 2967 閱讀 9108

1 mysql的安裝:分為單例項和多例項

2 mysql的許可權

常見的刪庫跑路是因為許可權問題導致的,若是只賦予該賬號乙個某些許可權,就可以避免;

grant select on mall.* to 'dev'@'192.168.244.%' identified by '123' with grant option;

再看一下許可權是否賦予成功

show grants for 'dev'@'192.168.244.%'

3 mysql的使用者標識

使用者+ip

4 使用者許可權涉及到的表  

mysql.user 一行資料代表乙個使用者,常見操作直接修改該錶修改使用者許可權是不合法的

mysql.db 一行資料代表對資料庫的許可權

mysql.table_priv一行資料代表對錶的許可權

column_priv 一行記錄代表對某一列的許可權

5 mysql 許可權顆粒可以作用到某一列

比如下面這張表,對於dev使用者之允許看id,name欄位

插入資料後資料表如下

需求是:只允許dev使用者查詢id,name列

grant select(id,name) on mall.account to 'dev'@'192.168.244.%';

此時查一下啊對應的表許可權,列許可權

此時進行查詢語句,分別是 select * 和 select id,name(授權字段) 看結果

**許可權:revoke select on mall.* from 'dev'@'192.168.244.%'

6 mysql 角色的具體操作

mysql 是基於 使用者+ip 的授權模式;

開啟mysql的角色模式

然後建立乙個角色dev_role,在建立要給角色peer ,吧 peer 加入到 dev_role中,就實現了分組的概念,給dev_role查詢許可權,

create user 'dev_role'

create user 'deer'

grant proxy on 'dev_role' to 'deer'

grant select(id,name) on mall.account to 'dev_role'

限做這一步,這個時候你需要再伺服器上執行一條

grant proxy on ''@'' to 'root'@'%' with grant option;

測試一下,現在使用'deer'使用者登陸系統試試

select id ,name from mall.account

這些角色許可權儲存在**?

6mysql的資料型別

有無符號的

演示 bigint

create table test_unsigned(a int unsigned, b int unsigned);

insert into test_unsigned values(1, 2);

select b - a from test_unsigned;

select a - b from test_unsigned; --執行出錯

無符號不可以小於0

int(n)

create table test_int_n(a int(4) zerofill);

insert into test_int_n values(1);

insert into test_int_n values(123456);

int(n)中的 n 是顯示寬度, 不表示 儲存的數字的 長度 的上限。

zerofill 表示當儲存的數字 長度 < n 時,用 數字 0 填充左邊,直至補滿長度 n

當儲存數字的長度 超過 n 時 ,按照 實際儲存 的數字顯示

create table test_auto_increment(a int auto_increment);//報錯 提示必須是乙個主鍵列才可以自動增長

create table test_auto_increment(a int auto_increment primary key);

面試題答案

insert into test_auto_increment values(null);//1,在當前數字基礎上加1

insert into test_auto_increment values(0);//2 ,在當前數字上加1

insert into test_auto_increment values(-1);//-1 可以直接插入

insert into test_auto_increment values(null),(100),(null),(10),(null)//2 100 101 10 102

字元型別

時間型別

服務化 mysql 01 mysql基礎框架

mysql服務端可以分為兩個部分,server層和引擎層。server層包括聯結器 查詢快取 分析器 優化器 執行器等。儲存引擎層負責資料的儲存和提取。架構模式是外掛程式式的,支援innodb 5.5.5以後預設 myisam memory等多個儲存引擎。1 mysql自帶的客戶端,可以通過cmd ...

MySQL 01 MySQL資料庫安裝指南

mysql官網 主要版本 oracle mysql cloud service commercial mysql enterprise edition commercial mysql cluster cge commercial 解壓到 d mysql my.ini檔案內容,涉及資料庫的配置 my...

《MySQL必知必會》01

資料庫 database 是什麼 表 當我們在整理紙質檔案的時候,往往會把它們分類歸檔,放到你標記好的資料夾中,這樣才能保證查詢時的便捷性,而在資料庫中,這種資料夾被稱為表。表由列組成。資料庫中的每個表都用乙個名字來標識自己,這個名字是唯一的 在同一資料庫中 表具有一些特性,這些特性用來定義資料在表...