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 會自帶乙個客戶端程式,可以直接輸入賬號和密碼即可連...