======權限管理====== 咱們知道咱們的最高權限管理者是root用戶,它擁有着最高的權限操做。包括select、update、delete、update、grant等操做。 那麼通常狀況在公司以後DBA工程師會建立一個用戶和密碼,讓你去鏈接數據庫的操做,並給當前的用戶設置某個操做的權限(或者全部權限)。 那麼這時就須要咱們來簡單瞭解一下: 如何建立用戶和密碼 給當前的用戶受權 移除當前用戶的權限 若是你想建立一個新的用戶,則須要如下操做: 1- 進入到mysql數據庫下 use mysql; 2- 對新用戶增刪改 -1 建立用戶 - 指定ip:192.118.1.1的wzy用戶登陸 - create user 'wzy'@'192.118.1.1' identified by '123'; - 指定ip:192.118.1.開頭的wzy用戶登陸 - create user 'wzy'@'192.118.1.%' identified by '123'; - 指定任何ip的wzy用戶 - create user 'wzy'@'%' identified by '123'; -2 刪除用戶 - drop user '用戶名'@'IP地址'; -3 修改用戶 - rename user '用戶名'@'IP地址' to '新用戶名'@'IP地址'; -4 修改密碼 - set password for '用戶名'@'IP地址'=Password('新密碼'); 3- 對當前的用戶受權管理 -1 查看受權 - show grants for '用戶'@'IP地址' -2 給權限 -1 受權wzy用戶僅對db1.t1文件有查詢、插入、和更新的操做 - grant select ,insert,update on db1.t1 to "wzy"@'%'; -2 表示有全部的權限,除了grant這個命令,這個命令是root纔有的。wzy用戶對db1下的t1文件有任意操做 - grant all privileges on db1.t1 to "wzy"@'%'; -3 wzy用戶對db1數據庫中的文件執行任何操做 - grant all privileges on db1.* to "wzy"@'%'; -4 wzy用戶對所用數據庫中文件有任何操做 - grant all privileges on *.* to "wzy"@'%'; -3 取消權限 -1 取消wzy用戶對db1的t1文件的任意權限 - revoke all on db1.t1 from 'wzy'@"%"; -2 取消來自遠程服務器的wzy用戶對數據庫db1的全部表的全部權限 - revoke all on db1.* from 'wzy'@"%"; -3 取消來自遠程服務器的wzy用戶全部數據庫的全部表權限 - revoke all privileges on *.* from 'wzy'@'%'; -4 查看建立用戶狀態 - use mysql - select host,user from mysql.user; 4- MySQL備份命令行操做 1- 備份 -1 備份:數據庫表結構+數據 - mysqdump -u root db1 > db1.sql -p -2 備份:數據表結構 - mysqdump -u root -d db1 > db1.sql -p 2- 導入現有的數據到某個數據庫 -1 先建立一個新的數據庫 - reate database db10; -2 將已有的數據庫文件導入到db10數據庫中 - mysqdump -u root -d db10 < db1.sql -p
mysql的數據備份
1.經過命令導出所有數據
mysqldump -u root -p --all-databases > /data/db.dump
2.mysql的數據文件都放在/var/lib/mysql/* 中,全部的db信息,以及帳號密碼信息
rm -rf /var/lib/mysql/* #清空mariadb全部數據
3.導入數據庫的db文件,在mysql命令行中輸入這個命令
source /opt/db.dump
4.第二種方式導入數據,經過mysql命令
mysql -uroot -p < /opt/db.dump mysql