MYSQL學習第一天筆記

2021-10-25 05:06:46 字數 4636 閱讀 5233

4.5.3 使用者的建立處理原始環境

yum remove mariadb-libs-5.5.60-1.e17_5.x86_64 -y 先卸已有的資料庫防止出錯

rpm -qa|grep mariadb

useradd -s /sbin/nologin mysql 建立虛擬使用者mysql

4.5.5 建立資料路徑並授權

4.新增一塊新磁碟模擬資料盤(10g)

2.格式化並掛載磁碟

mkfs.xfs /dev/sdb

mkdir /data

blkid 檢視磁碟uuid

vim /etc/fstab

uuid=「************」 /data xfs defaults 0 0

mount -a

df -h

4.5.8啟動資料庫表

1.sys-v

6.管理員密碼的設定(root@localhost)

mysqladmin -uroot -p password oldboy123

enter password:(第一次設定密碼的話直接回車,改密碼的話輸入上一次密碼)

7.管理員使用者密碼忘記了?

-skip-grant-tables

7.1關閉資料庫

/etc/init.d/mysqld stop #調過授權表

–skip-networking & #調過遠端登入

7.2啟動資料庫到維護模式

mysqld_safe --skip-grant-tables --skip-networking &

7.3 登入並修改密碼

mysql> grant all on . to root@『localhost』 identified by 『1』;(alter user root@『localhost』 identified by 『1』;)修改密碼為1

error 1290(hy000):the mysql server is running with the --skip-grant-tables option so it cannot execute this statement

mysql> flush privileges;手工重新整理授權表

mysql> grant all on . to root@『localhost』 identified by 『1』;

7.4關閉資料庫,正常啟動驗證

mysql體系結構與管理

1.mysql c/s結構介紹 ***

兩種連線方式:

tcp/ip:mysql -uroot -poldboy123 -h 10.0.0.51 -p3306

socket: mysql -uroot -poldboy123 -s /tmp/mysql.sock

2.mysql例項的構成 ***

公司:老闆+經理+員工+辦公區

例項:mysqld + master thread +幹活的thread +預分配的記憶體

3.mysql中的mysql伺服器程序結構

3.1 sql語句引入

結構化的查詢語言

dqlddl

dmldcl

mysql> select user,host from mysql.user;

3.2 連線層

(1) 提供連線協議

socket

tcp/ip

(2) 驗證使用者名稱(root@localhost)密碼合法性,進行匹配專門的授權表

(3) 派生乙個專用連線線程(接收sql,返回結果)

(4) 將語句交給下一層

3.3 sql層

(1) 接收語句

(2) 語法檢查和sql_mode

(3) 語義檢查與許可權檢查

(4) 解析語句,生成多種執行計畫樹

(5) 通過優化演算法,(執行代價cpu,io,mem)

(6) 優化器會選擇覺得最優的 執行方法

(7) 語句執行器,真正執行sql語句

(8) 提供了查詢快取(預設不開啟)

3.4儲存引擎層

(1) 根據sql的執行結果,去磁碟上找到相應資料

(2) 找到磁碟上16進製制的資料

(3) 再次返回到sql層,結構化成二維表的方式

(4) 再由連線層執行緒,最終展現出來

3.5 mysql邏輯儲存結構

庫 ----》linux目錄

creat database wordpress charset utf8mb4; ----》mkdir /wordpress

show database; ----》ls /

use wordpress; ----》cd /wordpress

表 ----》linux的檔案

列(字段) 無

列屬性 無

資料行(記錄) ----》linux資料行

表屬性 ----》linux檔案屬性

3.6 mysql物理儲存結構

庫:使用fs上的目錄來表示

表:myisam(相當於linux上ext2道理一樣)

user.frm:儲存的表結構(列,列屬性)

user.myd:儲存的資料記錄

user.myi:儲存索引

innodb(xfs)

time_zone.frm: 儲存的表結構(列,列屬性)

time_zone.ibd: 儲存的資料記錄和索引

ibdatal : 資料字典資訊

3.7 innodb 段 區 頁

oldboy.ibd

資料行儲存:每次預設64個連續的page,也就是1m,我們把它稱之為乙個區,mysql的表根據儲存需求,會由多個區構成,我們又把乙個表稱之為乙個區段。

一般情況下(非分割槽表)

乙個表就是乙個段

乙個段由多個區構成

乙個區由64個連續的頁(16k),1m大小

使用者和許可權管理

4.1 作用

登入mysql

管理mysql

4.2 使用者的定義

使用者名稱@『白名單』

wordpress@』%』

wordpress@『localhost』

wordpress@『10.0.0.%』

wordpress@『10.0.0.0/255.255.254.0』

wordpress@『10.0.%』

4.3 使用者的操作

4.3.1 建使用者

mysql> creat user oldboy@『10.0.0.%』 identified by 『123』;

說明:8.0以前可以在授權的時候如果沒使用者自動建立使用者

mysql> grant all on . to oldgou@『10.0.0.%』 identified by 『123』;

4.3.2 查詢使用者

mysql> select user,host from mysql.user;

4.3.3 修改使用者密碼

mysql> alter user oldgou@『10.0.0.%』 identified by 『123456』;

4.3.4 刪除使用者

mysql> drop user oldgou@『10.0.0.%』;

4.4 許可權管理

allselect,insert,update,delete,create,drop…

with grant option

4.2.2 授權命令

grant all on . to oldgou@『10.0.0.@』 identified by 『123』;

grant 許可權 on 作用目標 to 使用者 identified by 密碼 with grant option;

grant select,insert,update,delete,create on

作用目標:(哪個庫的哪張表)

.wordpress .*

wordpress.t1

4.4.3 授權管理

建立乙個管理員使用者,可以通過10網段,管理資料庫

grant all on . to root@『10.0.0.%』 identified by 『123』 with grant option;

建立乙個應用使用者,可以通過10網段,管理wordpress庫下的所有表進行select,insert,update,delete

grant select,insert,update,create on wordpress.* to wordpress@『10.0.0.%』 identified by 『123』;

4.4.4 **許可權

revoke

show grants for wordpress@『10.0.0.%』;展現出wordpress的許可權

mysql> revoke delete on wordpress.* from 『[email protected].%』;

mysql> show grants for wordpress@『10.0.0.%』;

4.4.5 關於生產中開使用者

(1) 如何溝通開使用者

是否有郵件批覆

對哪些庫和表進行操作

做什麼操作

從什麼位址來登入

(2)開發人員找你要root使用者密碼?

走流程拒絕他

如果是金融類的公司

(1)原則上是不允許任何非dba人員持有或者申請root

(2)如果有人私下索要密碼,及時舉報。

MySQL學習筆記第一天

1.常用的sql語句 1 增加 insert into 表 values 值,值,2 刪除 delete from 表 刪除所有的記錄行 delete from 表 where 欄位名 內容 刪除滿足條件的記錄行 3 改 update 表 set 列 值,列 值 where 欄位名 內容 4 查詢 ...

mysql筆記第一天

1.mysql登入 連線認證基本語法 mysql h主機位址 p埠 u使用者名稱 p密碼 示例 mysql h localhost u root pwang 注意事項 1 通常埠都可以預設 mysql預設的埠通常都是3306 2 密碼的輸入可以先輸入 p,直接換行,然後再以密文方式輸入密碼 mysq...

mysql 第一天 MySQL 系列第一天

mysql 系列第一天這篇文章是黑馬程式設計師 mysql 教程的筆記,好好學習哦。和 mysql 資料庫的互動 客戶端單向連線認證 連線伺服器,認證身份。mysql 資料庫屬於 c s 架構,所以開啟伺服器程式後,需要通過客戶端連線它。mysql 會自帶乙個客戶端程式,可以直接輸入賬號和密碼即可連...