mysql使用者操作 許可權分配 遠端登入設定

2021-09-12 12:30:32 字數 4511 閱讀 8436

對最近mysql的常用運維命令進行整理

1.  ps aux|grep mysql|grep 'my.cnf'

如果啟動的命令中選擇了配置檔案,則可以查詢出來,也可能查詢不到。

2. mysql --help|grep 'my.cnf'

輸出:order of preference, my.cnf, $mysql_tcp_port,

啟動時選擇配置檔案的預設順序從前到後。

3. locate my.cnf命令可以列出所有的my.cnf檔案,或者使用find命令也可以

1.檢視當前已有使用者
連線mysql的通用方式,可以省略其中一部分引數 :

mysql -uroot -h 127.0.0.1 -p 3306 -p

注意:大寫p是埠 小寫p是密碼

2. create user建立使用者和修改密碼和刪除

2.1 建立使用者:

create user 『username』@『host』 identified by 『password』;

例子:

create user 'vinter'@'localhost' identified by '123456';

注意使用者名稱和host必須加引號否則不能執行

create user vinter;

此種寫法賬戶無密碼,可以在任意客戶端任意ip下登入

2.2 修改密碼:

2.2.1 最容易記住的,就是直接update user表,update成功後要使用 flush privileges;更新

例如

update user set password = password('111111') where user = 'vinter';

flush privileges;

2.2.2 使用mysqladmin語法:mysqladmin -u使用者名稱 -p舊密碼 password 新密碼
mysqladmin -u vinter -p 123 password 456;
2.2.3 使用set password 語句修改

set password for 『username』@『host』 = password(『newpassword』);

如果是當前登陸使用者用set password = password(「newpassword」);

set password forr 'vinter'@'%'=password('haojia');
2.3 刪除使用者:
drop user username@localhost;
3.使用grant語句設定許可權

1. 賦予許可權:

格式語句:

grant 許可權1,許可權2,…許可權n on 資料庫名稱.表名稱 to 使用者名稱@使用者位址 identified by 『連線密碼』 [with grant option];

許可權取值如下:

select,insert,update,delete,create,drop,index,alter,grant,references,reload,shutdown,process,file等

資料庫名和表名可以使用萬用字元來表示所有,比如 dbname. 和*.*

例子:

grant all privileges on testdb.* to '『'vinte'r@'127.0.0.1' identified by '111111';

grant insert,delete,select,update on testdb.* to [email protected] identified by '111111';

identified by 可以不寫,如果寫會更改密碼為新密碼。

注:如果帶了 with grant option則被授予許可權的人,可以把此許可權再轉授權(傳遞)給其他使用者。

2. 撤銷許可權

語法:revoke 許可權列表 on db.table from 『username』@『localhost』;

revoke all privileges on *.* from 'vinter'@'%';

revoke update on *.* from 'vinter'@'%' ;

我們先說一下實現遠端登入mysql的條件

首先mysql必須設定相關的許可權,允許該賬戶遠端登入,第二需要防火牆設定了3306埠的遠端訪問。

1. mysql設定遠端訪問

可以使用grant語句,可以直接更新user表中相關項。

例子中使用者為vinter,ip為192.168.1.111

//固定ip:

grant all privileges on *.* to 'vinter'@'192.168.1.111' identified by '123' with grant option;

insert into user (host,user,password) values('192.168.1.111','vinter',password('123'));

//不限制ip

grant all privileges on *.* to 'vinter'@'%' identified by '123' with grant option;

insert into user (host,user,password) values('%','vinter',password('123'));

2. 防火牆設定(centos7)
常用的如下幾個其他的見文後附錄:

firewall-cmd --zone=public --add-port=80/tcp --permanent (–permanent永久生效,沒有此引數重啟後失效)

firewall-cmd --reload

firewall-cmd --zone=public --query-port=80/tcp

firewall-cmd --zone=public --list-ports

1、firewalld的基本使用

啟動: systemctl start firewalld

關閉: systemctl stop firewalld

檢視狀態: systemctl status firewalld

開機禁用 : systemctl disable firewalld

開機啟用 : systemctl enable firewalld

2.systemctl是centos7的服務管理工具中主要的工具,它融合之前service和chkconfig的功能於一體。

啟動乙個服務:systemctl start firewalld.service

關閉乙個服務:systemctl stop firewalld.service

重啟乙個服務:systemctl restart firewalld.service

顯示乙個服務的狀態:systemctl status firewalld.service

在開機時啟用乙個服務:systemctl enable firewalld.service

在開機時禁用乙個服務:systemctl disable firewalld.service

檢視服務是否開機啟動:systemctl is-enabled firewalld.service

檢視已啟動的服務列表:systemctl list-unit-files|grep enabled

檢視啟動失敗的服務列表:systemctl --failed

3.配置firewalld-cmd

檢視版本: firewall-cmd --version

檢視幫助: firewall-cmd --help

顯示狀態: firewall-cmd --state

檢視所有開啟的埠: firewall-cmd --zone=public --list-ports

更新防火牆規則: firewall-cmd --reload

檢視區域資訊: firewall-cmd --get-active-zones

檢視指定介面所屬區域: firewall-cmd --get-zone-of-inte***ce=eth0

拒絕所有包:firewall-cmd --panic-on

取消拒絕狀態: firewall-cmd --panic-off

檢視是否拒絕: firewall-cmd --query-panic

新增埠

firewall-cmd --zone=public --add-port=80/tcp --permanent (–permanent永久生效,沒有此引數重啟後失效)

重新載入

firewall-cmd --reload

檢視firewall-cmd --zone=public --query-port=80/tcp

刪除firewall-cmd --zone=public --remove-port=80/tcp --permanent

mysql使用者分為 mysql使用者許可權分配專欄

00x1建立新使用者 通過root使用者登入之後建立 建立新使用者,使用者名為testuser,密碼為123456 grant all privileges on to testuser localhost identified by 123456 設定使用者testuser,可以在本地訪問mysq...

mysql使用者許可權分配專欄

00x1建立新使用者 通過root使用者登入之後建立 建立新使用者,使用者名為testuser,密碼為123456 grant all privileges on to testuser localhost identified by 123456 設定使用者testuser,可以在本地訪問mysq...

mysql 建立使用者 分配許可權

mysql建立使用者的方法分成三種 insert user表的方法 create user的方法 grant的方法。1 通過create user命令進行建立使用者 指令碼 create user username host identified by password 其中密碼是可選項 例子 cr...