MySQL:使用者

Ryan_Bai發表於2020-09-23

使用者管理

  • 建立使用者

    create user '<使用者名稱>'@'localhost' identified by '<密碼>'
  • 刪除使用者(命令)
    本地:localhost;

    drop user <使用者名稱>@'<主機域>';
  • 刪除使用者(SQL 語句)

    delete from mysql.user where user='<使用者名稱>' and host='<主機域>';
    flush privileges;
  • 查詢使用者資訊

    select user,host from mysql.user;
    select * from mysql.user\G;
  • 連線使用者

    conn <使用者名稱>/<密碼
  • 修改密碼

    --修改制定使用者密碼
    mysql> ALTER USER 'jeffrey'@'localhost' IDENTIFIED BY 'mypass';
    mysql> SET PASSWORD FOR 'jeffrey'@'localhost' = PASSWORD('mypass');
    mysql> GRANT USAGE ON *.* TO 'jeffrey'@'localhost' IDENTIFIED BY 'mypass';
    shell> mysqladmin -u user_name -h host_name password "new_password"
    -- 修改自身密碼
    mysql> ALTER USER USER() IDENTIFIED BY 'mypass';
    mysql> SET PASSWORD = PASSWORD('mypass')

資源管理

引數無法對每個使用者區別對待,所以 MySQL 提供了對每個使用者的資源限制管理

  • MAX_QUERIES_PER_HOUR:一個使用者在一個小時內可以執行查詢的次數(基本包含所有語句)

  • MAX_UPDATES_PER_HOUR:一個使用者在一個小時內可以執行修改的次數(僅包含修改資料庫或表的語句)

  • MAX_CONNECTIONS_PER_HOUR:一個使用者在一個小時內可以連線MySQL的時間

  • MAX_USER_CONNECTIONS:一個使用者可以在同一時間連線 MySQL 例項的數量

從 5.0.3 版本開始,對使用者 ‘user’@‘%.example.com’ 的資源限制是指所有透過 example.com 域名主機連線 user 使用者的連線,而不是分別指從 host1.example.com 和 host2.example.com 主機過來的連線

CREATE USER 'francis'@'localhost' IDENTIFIED BY 'frank'
WITH MAX_QUERIES_PER_HOUR 20
MAX_UPDATES_PER_HOUR 10
MAX_CONNECTIONS_PER_HOUR 5
MAX_USER_CONNECTIONS 2;

修改

ALTER USER 'francis'@'localhost' WITH MAX_QUERIES_PER_HOUR 100;

取消某項資源限制既是把原先的值修改成0

ALTER USER 'francis'@'localhost' WITH MAX_CONNECTIONS_PER_HOUR 0;

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31490526/viewspace-2723477/,如需轉載,請註明出處,否則將追究法律責任。

相關文章