MySQL建立用戶+受權+備份

======權限管理======

咱們知道咱們的最高權限管理者是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

相關文章
相關標籤/搜索