MySQL創建用戶和授權


權限管理

我們知道我們的最高權限管理者是root用戶,它擁有着最高的權限操作。包括select、update、delete、update、grant等操作。那么一般情況在公司之后DBA工程師會創建一個用戶和密碼,讓你去連接數據庫的操作,並給當前的用戶設置某個操作的權限(或者所有權限)。那么這時就需要我們來簡單了解一下:

  • 如何創建用戶和密碼
  • 給當前的用戶授權
  • 移除當前用戶的權限

如果你想創建一個新的用戶,則需要以下操作:

  1. 進入到mysql數據庫下

    mysql> use mysql
    Database changed
    
  2. 對新用戶增刪改

    1.創建用戶:
    # 指定ip:192.118.1.1的mjj用戶登錄
    create user 'alex'@'192.118.1.1' identified by '123';
    # 指定ip:192.118.1.開頭的mjj用戶登錄
    create user 'alex'@'192.118.1.%' identified by '123';
    # 指定任何ip的mjj用戶登錄
    create user 'alex'@'%' identified by '123';
    
    2.刪除用戶
    drop user '用戶名'@'IP地址';
    
    
    3.修改用戶
    rename user '用戶名'@'IP地址' to '新用戶名'@'IP地址';
    
    4.修改密碼
    set password for '用戶名'@'IP地址'=Password('新密碼');
    
  3. 對當前的用戶授權管理

    #查看權限
    show grants for '用戶'@'IP地址'
    
    #授權 mjj用戶僅對db1.t1文件有查詢、插入和更新的操作
    grant select ,insert,update on db1.t1 to "alex"@'%';
    
    # 表示有所有的權限,除了grant這個命令,這個命令是root才有的。mjj用戶對db1下的t1文件有任意操作
    grant all privileges  on db1.t1 to "alex"@'%';
    #mjj用戶對db1數據庫中的文件執行任何操作
    grant all privileges  on db1.* to "alex"@'%';
    #mjj用戶對所有數據庫中文件有任何操作
    grant all privileges  on *.*  to "alex"@'%';
     
    #取消權限
     
    # 取消mjj用戶對db1的t1文件的任意操作
    revoke all on db1.t1 from 'alex'@"%";  
    
    # 取消來自遠程服務器的mjj用戶對數據庫db1的所有表的所有權限
    
    revoke all on db1.* from 'alex'@"%";  
    
    取消來自遠程服務器的mjj用戶所有數據庫的所有的表的權限
    revoke all privileges on *.* from 'alex'@'%';
    
  4. MySql備份命令行操作

    # 備份:數據表結構+數據
    mysqdump -u root db1 > db1.sql -p
    
    
    # 備份:數據表結構
    mysqdump -u root -d db1 > db1.sql -p
    
    #導入現有的數據到某個數據庫
    #1.先創建一個新的數據庫
    create database db10;
    # 2.將已有的數據庫文件導入到db10數據庫中
    mysqdump -u root -d db10 < db1.sql -p
    




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM