1)查看mysql中存在的用户
mysql> select user,host from mysql.user;+------------+--------------------------+| user | host |+------------+--------------------------+| oldgirl | % || wan | % || wanlong | % || rep | 10.10.10.% || root | 10.10.10.% || wan | 10.10.10.% || wanlong | 10.10.10.% || oldgril123 | 10.10.10.0/255.255.255.0 || root | 127.0.0.1 || root | ::1 || root | C67-X64-A8 || backup | localhost || root | localhost |+------------+--------------------------+13 rows in set (0.00 sec)
2)如何查看用户的授权
mysql> show grants for ‘wanlong‘@‘10.10.10.%‘;+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+| Grants for wanlong@10.10.10.% |+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+| GRANT SELECT, UPDATE, DELETE, CREATE, DROP, RELOAD, SHUTDOWN, PROCESS, FILE, REFERENCES, INDEX, ALTER, SHOW DATABASES, SUPER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER, CREATE TABLESPACE ON *.* TO ‘wanlong‘@‘10.10.10.%‘ |+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+1 row in set (0.00 sec)
3)all privileges具备哪些权限
a、创建测试账号并进行授权:
mysql> create user wanlong identified by ‘wanlong‘;Query OK, 0 rows affected (0.01 sec)mysql> grant all privileges on *.* to ‘wanlong‘@‘10.10.10.%‘;Query OK, 0 rows affected (0.00 sec)mysql> show grants for ‘wanlong‘@‘10.10.10.%‘;+-------------------------------------------------------+| Grants for wanlong@10.10.10.% |+-------------------------------------------------------+| GRANT ALL PRIVILEGES ON *.* TO ‘wanlong‘@‘10.10.10.%‘ |+-------------------------------------------------------+1 row in set (0.00 sec)
b、回收insert权限,并查看用户的权限
mysql> revoke insert on *.* from ‘wanlong‘@‘10.10.10.%‘;Query OK, 0 rows affected (0.00 sec)mysql> flush privileges;Query OK, 0 rows affected (0.01 sec)mysql> show grants for ‘wanlong‘@‘10.10.10.%‘;+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+| Grants for wanlong@10.10.10.% |+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+| GRANT SELECT, UPDATE, DELETE, CREATE, DROP, RELOAD, SHUTDOWN, PROCESS, FILE, REFERENCES, INDEX, ALTER, SHOW DATABASES, SUPER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER, CREATE TABLESPACE ON *.* TO ‘wanlong‘@‘10.10.10.%‘ |+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+1 row in set (0.00 sec)
c、导出文件,并查看授权(all privileges还需要添加刚才使用revoke取消的insert授权)
# mysql -uroot -predhat12345 -S /data/3306/mysql.sock -e "show grants for ‘wanlong‘@‘10.10.10.%‘;"|grep -i grant|tail -1|tr ‘,‘ ‘‘>all.privileges查看all privileges具备的权限:# cat all.privileges GRANT SELECT UPDATE DELETE CREATE DROP RELOAD SHUTDOWN PROCESS FILE REFERENCES INDEX ALTER SHOW DATABASES SUPER CREATE TEMPORARY TABLES LOCK TABLES EXECUTE REPLICATION SLAVE REPLICATION CLIENT CREATE VIEW SHOW VIEW CREATE ROUTINE ALTER ROUTINE CREATE USER EVENT TRIGGER CREATE TABLESPACE ON *.* TO ‘wanlong‘@‘10.10.10.%‘
本文出自 “冰冻vs西瓜” 博客,请务必保留此出处http://molewan.blog.51cto.com/287340/1861834
如何查看mysql的用户及授权
标签:mysql 权限
小编还为您整理了以下内容,可能对您也有帮助:
sqlyog 查看 mysql 是否有远程访问权限
1、改表法。
可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"
mysql -u root -pvmwaremysql>use mysql;
mysql>update user set host = '%' where user = 'root';
mysql>select host, user from user;
2、授权法。例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%'IDENTIFIED BY 'mypassword' WI
TH GRANT OPTION;
如果你想允许用户myuser从ip为192.168.1.6的主机连接到mysql服务器,并使用mypassword作为密码
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3'IDENTIFIED BY
'mypassword' WITH GRANT OPTION;
我用的第一个方法,刚开始发现不行,在网上查了一下,少执行一个语句 mysql>FLUSH RIVILEGES
使修改生效,就可以了
另外一种方法:
在安装mysql的机器上运行:
1、d:\mysql\bin\>mysql -h localhost -u root
//这样应该可以进入MySQL服务器
2、mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION
//赋予任何主机访问数据的权限
3、mysql>FLUSH PRIVILEGES
//修改生效
4、mysql>EXIT
//退出MySQL服务器
这样就可以在其它任何的主机上以root身份登录啦。
sqlyog 查看 mysql 是否有远程访问权限
1、改表法。
可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"
mysql -u root -pvmwaremysql>use mysql;
mysql>update user set host = '%' where user = 'root';
mysql>select host, user from user;
2、授权法。例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%'IDENTIFIED BY 'mypassword' WI
TH GRANT OPTION;
如果你想允许用户myuser从ip为192.168.1.6的主机连接到mysql服务器,并使用mypassword作为密码
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3'IDENTIFIED BY
'mypassword' WITH GRANT OPTION;
我用的第一个方法,刚开始发现不行,在网上查了一下,少执行一个语句 mysql>FLUSH RIVILEGES
使修改生效,就可以了
另外一种方法:
在安装mysql的机器上运行:
1、d:\mysql\bin\>mysql -h localhost -u root
//这样应该可以进入MySQL服务器
2、mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION
//赋予任何主机访问数据的权限
3、mysql>FLUSH PRIVILEGES
//修改生效
4、mysql>EXIT
//退出MySQL服务器
这样就可以在其它任何的主机上以root身份登录啦。
怎么查看远程mysql 用户root的权限设置
默认情况下,root用户是不具备远程登录的权限的,这也是基于安全考虑;
在mysql server中查看root用户所具备的相应权限;
给root用户进行授权:
Grant all privileges on *.* to 'root'@'%' identified by 'kdm001' with grant option;
注:kdm001为root远程登录时使用的密码;
在本机中,新开command窗口,确认root用户可以进行登录;
怎么查看远程mysql 用户root的权限设置
默认情况下,root用户是不具备远程登录的权限的,这也是基于安全考虑;
在mysql server中查看root用户所具备的相应权限;
给root用户进行授权:
Grant all privileges on *.* to 'root'@'%' identified by 'kdm001' with grant option;
注:kdm001为root远程登录时使用的密码;
在本机中,新开command窗口,确认root用户可以进行登录;
mysql error:Access denied for user 'root'@'localhost' (using password: YES)
①右键点击C盘(其他盘符也行)▶属性▶安全▶编辑
②打开之后,在这里查看当前的账户是否在其中?如在,点选编辑。
③选择用户或组→高级→选择用户或组→立即查找,找到后点选该用户→确定
④返回→确定,这里是重点,一般默认是没有所有权限的,点击允许中的完全控制→确定。
处理异常情况:
点选 高级→所有者→编辑
输入ev→检查名称→添加权限即可。
权限管理,一般指根据系统设置的安全规则或者安全策略,用户可以访问而且只能访问自己被授权的资源,不多不少。权限管理几乎出现在任何系统里面,只要有用户和密码的系统。 很多人,常将“用户身份认证”、“密码加密”、“系统管理”等概念与权限管理概念混淆。
从控制力度来看,可以将权限管理分为两大类:
1,功能级权限管理;
2,数据级权限管理。
从控制方向来看,也可以将权限管理分为两大类:
1,从系统获取数据,比如查询订单、查询客户资料;
2,向系统提交数据,比如删除订单、修改客户资料。
本地如何操作服务器的mysql,详细教程
前置条件:
1、在阿里云服务器de系统是win service 2012。
2、服务器里自己安装了my sql 5.7
3、本地也安装了my sql 5.7
需求:想通过本地的mysql连接上远程的服务器的mysql,这样自己在本地操作数据库比在服务器里数据库要好。
步骤:
一、增加允许远程连接 MySQL 用户 并授权。
在你安装路径下的bin文件夹里进行命令行的设置。
1、首先以 root 帐户登陆 MySQL
在服务器中打开命令行(shift+右键)
打开数据库管理员权限
mysql -uroot -p 123
我去,对应的是123是对应到数据库名。
果断改为
mysql -uroot -p
输入mysql的密码。
2、查看用户的权限
mysql> select host,user from user; (查看用户的权限情况)
3、创建远程登录用户并授权
进入到服务器的命令行里
输入
use mysql
在输入
grant all PRIVILEGES on discuz.* to ted@'123.123.123.123' identified by '123456';
上面的语句表示将 discuz 数据库的所有权限授权给 ted 这个用户,允许 ted 用户在 123.123.123.123 这个 IP 进行远程登陆,并设置 ted 用户的密码为 123456 。
注意:
(1)all PRIVILEGES 表示赋予所有的权限给指定用户,这里也可以替换为赋予某一具体的权限,例如:select,insert,update,delete,create,drop 等,具体权限间用“,”半角逗号分隔。
(2)discuz.* 表示上面的权限是针对于哪个表的,discuz 指的是数据库,后面的 * 表示对于所有的表,由此可以推理出:对于全部数据库的全部表授权为“*.*”,对于某一数据库的全部表授权为“数据库名.*”,对于某一数据库的某一表授 权为“数据库名.表名”。
(3)ted 表示你要给哪个用户授权,这个用户可以是存在的用户,也可以是不存在的用户。
(4)123.123.123.123 表示允许远程连接的 IP 地址,如果想不链接的 IP 则设置为“%”即可。
(5)123456 为用户的密码。
我最终使用的是把整个数据库的权限都ok,全部数据库的全部表,给root用户授权。没有设定远程连接IP地址。
4、执行更新权限(刷新权限)
flush privileges;
5、再一次查看数据库用户权限
mysql> select host,user from user; (再次查看用户的权限情况)
二、打开服务器上的防火墙阻止 3306 端口,可以公网访问。
MySQL 默认的端口是 3306 ,需要确定防火墙没有阻止 3306 端口,否则远程是无法通过 3306 端口连接到 MySQL 的。
如果您在安装 MySQL 时指定了其他端口,请在防火墙中开启您指定的 MySQL 使用的端口号。
找到防火墙的允许的应用,打开数据库的公用和专用。
三、在本地建立服务器数据库连接
1、点击这个
2、数据里填上连接的名字,服务器IP,以及连接数据库的名字和密码
3、点击configure server mangement
如果报这个错误,说明是服务器的3306端口与没有打开。
下面图连接成功
选择SSH login。。。。
输入服务器的公网IP和端口(我也不知道是啥端口我写的是本地跑的项目的本地接口)
一路next就ok。