配置mysql user mysql,賬戶配置

2021-10-17 19:26:16 字數 3917 閱讀 8808

使用者賬戶

root,初始化mysql後,有乙個預設的root使用者,會列印出初始化的root密碼,第一次登陸時,強制要求修改root密碼

啟動時新增skip-grant-tables選項,然後修改root密碼

或將skip-grant-tables加到/etc/my.cnf中,啟動後修改root密碼,然後在將這一條去掉

create user 'finley'@'localhost' identified by 'password';

create user 'finley'@'%.example.com' identified by 'password';

create user 'dummy'@'localhost';

create user gcb identified by 'gcb123'; -- 不跟主機名,允許在任何主機上登入

create user 'gcb'@'192.168.165.%' identified by 'gcb123'; --不帶萬用字元的位址可以不加引號,但最後都加上,'a@ip'會被識別為乙個使用者名稱,注意

insert into mysql.user (host,user,password, ssl_cipher, x509_issuer, x509_subject) values('%','jifei',password('jifei'), '', '', '');

沒有密碼的使用者只能在本機登入

要在本機登入,使用者必須有乙個'user'@'locahost'的賬戶,用'user'@'%'在本機登入將被視為匿名使用者

update user set password=password('root123') where user='root'; 只用於mariadb

alter user 'root'@'localhost' identified by 'root123'; 預設使用caching_sha2_password加密方式

alter user 'root'@'localhost' identified with mysql_native_password by 'root123'; 使用老版的本地密碼,有些程式連線要用

alter user user() identified by 'password'; user()函式獲取當前登入的使用者

flush privileges; 更新過許可權後要重新整理特權

mysqladmin -u user_name -h host_name password "password"

drop user 'finley'@'localhost';

show create user 'root'@'locahost';

授權grant all on *.* to 'finley'@'localhost' with grant option;

show grants for 'admin'@'localhost';

revoke all on *.* from 'finley'@'%.example.com';

revoke create,drop on expenses.* from 'custom'@'host47.example.com';

角色[mysqld]

mandatory_roles='role1,role2@localhost,r3@%.example.com' 強制授予所有使用者指定的角色

set persist mandatory_roles = 'role1,role2@localhost,r3@%.example.com'; 執行時強制授予所有使用者指定角色

select current_role(); 當前登入使用者的角色

set default role all to 'dev1'@'localhost', 'read_user1'@'localhost', 'read_user2'@'localhost'; 設定預設角色,後面所有啟動的會話有效

revoke role from user;

密碼期限

支援內部和外部認證

[mysqld]

default_password_lifetime=180 ,對所有賬戶生效,密碼時長,0表示永不過期

password_history=6,重設密碼時禁止使用最近6個已用過的密碼

password_reuse_interval=365,禁止使用365以內用過的密碼

create user 'jeffrey'@'localhost' password expire interval 90 day; 90天過期

never,永不過期,default,使用系統預設值

create user 'jeffrey'@'localhost' password history 5 password reuse interval 365 day;

set persist default_password_lifetime = 180; 執行時設定

alter user 'jeffrey'@'localhost' password expire interval 90 day; 更新密碼設定

密碼健壯性

validate_password.check_user_name on,不允許密碼**現使用者名稱

validate_password.dictionary_file,字典路徑

validate_password.length,密碼最短長度

validate_password.mixed_case_count,最小大小寫字元的個數

validate_password.number_count,密碼中數字的最小個數

validate_password.policy,密碼策略級別,0,1,2

validate_password.special_char_count,特殊字元的個數

set global validate.password.policy = 0, -- 密碼強度,1是中級,5.7中間的 . 改為 _

set global validate.password.length = 1;

密碼認證外掛程式

--default-auth=mysql_native_password,8.0之前使用native_password,8.0之後預設使用caching_sha2_password認證外掛程式

default_authentication_plugin

修改密碼的策略

[mysqld]

password_require_current=on,為off,使用者修改密碼時不需要輸入原來的密碼,為on時需要輸入

create user 'jeffrey'@'localhost' password require current [optional]; 修改使用者密碼時可以但不必輸入原密碼

default,遵循全域性配置

alter user 'jeffrey'@'localhost' identified by 'new_pwd' replace 'old_pwd'; 修改舊密碼時填入新密碼

登入失敗鎖定

create user 'u1'@'localhost' identified by 'password' failed_login_attempts 3 password_lock_time [3];

unbounded,無限時長

賬戶資源限制

max_user_connections,同一賬戶的最大連線數,為0不限制

create user 'francis'@'localhost' identified by 'frank'

with max_queries_per_hour 20 每小時最大20次查詢

max_updates_per_hour 10 每小時最大20次更新

max_connections_per_hour 5 每小時5次連線

linux配置 網路配置

ip位址,子網掩碼,閘道器 設定ip位址,子網掩碼並啟用 ifconfig eth0 10.192.77.250 netmask 255.255.255.0 up 注 ip,掩碼,閘道器都設定到 etc sysconfig network scripts ifcfg eth0裡面了。設定多ip 可以...

elementui配置 element配置

vue elementui 配置 第一步 安裝elementui node命令 npm i element ui s 第二步 在man.js中配置 import elementui from element ui import element ui lib theme chalk index.css...

Thinkphp 配置 讀取配置

無論何種配置檔案,定義了配置檔案之後,都統一使用系統提供的c方法 可以借助config單詞來幫助記憶 來讀取已有的配置。用法 c 引數名稱 例如,讀取當前的url模式配置引數 model c url model 由於配置引數不區分大小寫,因此下面的寫法是等效的 model c url model 但...