大家好,又见面了,我是你们的朋友全栈君。
开启远程连接: 2, 修改 Mysql-Server 用户配置 mysql> USE mysql; — 切换到 mysql DB Database changed mysql> SELECT User, Password, Host FROM user; — 查看现有用户,密码及允许连接的主机 +——+———-+———–+ | User | Password | Host | +——+———-+———–+ | root | | localhost | +——+———-+———–+ 1 row in set (0.00 sec) mysql> — 只有一个默认的 root 用户, 密码为空, 只允许 localhost 连接 12 mysql> — 下面我们另外添加一个新的 root 用户, 密码为空, 只允许 192.168.1.100 连接 mysql> GRANT ALL PRIVILEGES ON *.* TO ‘root’@’192.168.1.100’ IDENTIFIED BY ” WITH GRANT OPTION; mysql> — @’192.168.1.100’可以替换为@‘%’就可任意ip访问,当然我们也可以直接用 UPDATE 更新 root 用户 Host, 但不推荐, SQL如下: mysql> — UPDATE user SET Host=’192.168.1.100′ WHERE User=’root’ AND Host=’localhost’ LIMIT 1; mysql> flush privileges; Query OK, 0 rows affected (0.00 sec)
如何远程访问MySQL数据库设置权限方法总结,讨论访问单个数据库,全部数据库,指定用户访问,设置访问密码,指定访问主机。 1,设置访问单个数据库权限 mysql>grant all privileges on test.* to ‘root’@’%’; 说明:设置用户名为root,密码为空,可访问数据库test
2,设置访问全部数据库权限 mysql>grant all privileges on *.* to ‘root’@’%’; 说明:设置用户名为root,密码为空,可访问所有数据库*
3,设置指定用户名访问权限 mysql>grant all privileges on *.* to ‘liuhui’@’%’; 说明:设置指定用户名为liuhui,密码为空,可访问所有数据库*
4,设置密码访问权限 mysql>grant all privileges on *.* to ‘liuhui’@’%’ IDENTIFIED BY ‘liuhui’; 说明:设置指定用户名为liuhui,密码为liuhui,可访问所有数据库*
5,设置指定可访问主机权限 mysql>grant all privileges on *.* to ‘liuhui’@’10.2.1.11’; 说明:设置指定用户名为liuhui,可访问所有数据库*,只有10.2.1.11这台机器有权限访问 还可以设置指定访问某个数据库下的某个数据表,请继续关注MySQL基础知识系列。
使用root账户进入mysql create user ‘test’@’localhost’ indentified by ‘123456’; grant all privileges on *.* to ‘test’@’localhost’ identified by ‘123456’;
grant all privileges on *.* to ‘test’@’%’ identified by ‘123456’; #在其它任意台电脑上访问
flush privileges;
/* 用户和权限管理 */ —————— 用户信息表:mysql.user — 刷新权限 flush privileges — 增加用户 create user 用户名 identified by [password] 密码(字符串) – 必须拥有mysql数据库的全局create user权限,或拥有insert权限。 – 只能创建用户,不能赋予权限。 – 用户名,注意引号:如 ‘user_name’@’192.168.1.1’ – 密码也需引号,纯数字密码也要加引号 – 要在纯文本中指定密码,需忽略password关键词。要把密码指定为由password()函数返回的混编值,需包含关键字password — 重命名用户 rename user old_user to new_user — 设置密码 set password = password(‘密码’) — 为当前用户设置密码 set password for 用户名 = password(‘密码’) — 为指定用户设置密码 — 删除用户 drop user 用户名 — 分配权限/添加用户 grant 权限列表 on 表名 to 用户名 [identified by [password] ‘password’] – all privileges 表示所有权限 – *.* 表示所有库的所有表 – 库名.表名 表示某库下面的某表 — 查看权限 show grants for 用户名 — 查看当前用户权限 show grants; 或 show grants for current_user; 或 show grants for current_user(); — 撤消权限 revoke 权限列表 on 表名 from 用户名 revoke all privileges, grant option from 用户名 — 撤销所有权限 — 权限层级 — 要使用grant或revoke,您必须拥有grant option权限,并且您必须用于您正在授予或撤销的权限。 全局层级:全局权限适用于一个给定服务器中的所有数据库,mysql.user grant all on *.*和 revoke all on *.*只授予和撤销全局权限。 数据库层级:数据库权限适用于一个给定数据库中的所有目标,mysql.db, mysql.host grant all on db_name.*和revoke all on db_name.*只授予和撤销数据库权限。 表层级:表权限适用于一个给定表中的所有列,mysql.talbes_priv grant all on db_name.tbl_name和revoke all on db_name.tbl_name只授予和撤销表权限。 列层级:列权限适用于一个给定表中的单一列,mysql.columns_priv 当使用revoke时,您必须指定与被授权列相同的列。 — 权限列表 all [privileges] — 设置除grant option之外的所有简单权限 alter — 允许使用alter table alter routine — 更改或取消已存储的子程序 create — 允许使用create table create routine — 创建已存储的子程序 create temporary tables — 允许使用create temporary table create user — 允许使用create user, drop user, rename user和revoke all privileges。 create view — 允许使用create view delete — 允许使用delete drop — 允许使用drop table execute — 允许用户运行已存储的子程序 file — 允许使用select…into outfile和load data infile index — 允许使用create index和drop index insert — 允许使用insert lock tables — 允许对您拥有select权限的表使用lock tables process — 允许使用show full processlist references — 未被实施 reload — 允许使用flush replication client — 允许用户询问从属服务器或主服务器的地址 replication slave — 用于复制型从属服务器(从主服务器中读取二进制日志事件) select — 允许使用select show databases — 显示所有数据库 show view — 允许使用show create view shutdown — 允许使用mysqladmin shutdown super — 允许使用change master, kill, purge master logs和set global语句,mysqladmin debug命令;允许您连接(一次),即使已达到max_connections。 update — 允许使用update usage — “无权限”的同义词 grant option — 允许授予权限
MySQL用户帐号管理主要用grant(授权)和revoke(撤权)两个SQL指令来管理。这两个指令实质是通过操作user(连接权限和全局权限)、db(数据库级权限)、tables_priv(数据表级权限)、columns_priv(数据列级权限)四个权限表来分配权限的。host权限表不受这两个指令影响。下面将会详细介绍用户权限管理的内容。
如果没有给定主机部份,则默认为任意主机,也就是’test’和’test’@’%’是等价的。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/107193.html原文链接:https://javaforall.cn