- 浏览: 538176 次
- 性别:
- 来自: 杭州
文章分类
最新评论
-
c__海棠依旧:
很强,对于我这个新手很容易理解,准们登录来给你点赞的!
BeanFactory和FactoryBean -
hudazheng:
很清晰!
X86、X64和X86_64区别 -
hugh.wang:
...
BeanFactory和FactoryBean -
CB00J:
...
Executor框架和线程池 -
Arbow:
请教一个问题。现在互联网业务的数据库通常用分片方式来连接一组数 ...
BoneCP源码——概述
1、创建账号,有两种方式,一种为使用GRANT,一种直接操作权限表,推荐使用第一种,操作简单而且不容易出错。在MySql命令行中查看GRANT帮助即可看到GRANT的用法:
mysql> ? GRANT Name: 'GRANT' Description: Syntax: GRANT priv_type [(column_list)] [, priv_type [(column_list)]] ... ON [object_type] priv_level TO user [IDENTIFIED BY [PASSWORD] 'password'] [, user [IDENTIFIED BY [PASSWORD] 'password']] ... [REQUIRE {NONE | ssl_option [[AND] ssl_option] ...}] [WITH with_option ...] object_type: TABLE | FUNCTION | PROCEDURE priv_level: * | *.* | db_name.* | db_name.tbl_name | tbl_name | db_name.routine_name ssl_option: SSL | X509 | CIPHER 'cipher' | ISSUER 'issuer' | SUBJECT 'subject' with_option: GRANT OPTION | MAX_QUERIES_PER_HOUR count | MAX_UPDATES_PER_HOUR count | MAX_CONNECTIONS_PER_HOUR count | MAX_USER_CONNECTIONS count
例1:创建用户zl,权限为可以在所有数据库上执行所有操作,只能从本地连接:
GRANT All PRIVILEGES ON *.* TO zl@localhost;
例2:在上面基础上增加对zl的GRANT权限
GRANT All PRIVILEGES ON *.* TO zl@localhost WITH GRANT OPTION;
例3:在上面基础上设置zl密码为123456
GRANT All PRIVILEGES ON *.* TO zl@localhost IDENTIFIED BY '123456' WITH GRANT OPTION;
例4:创建z2用户,可以从任何IP进行连接,权限为对test1数据库里所有表进行SELECT、UPDATE、INSERT、DELETE操作,初始密码为123456,使用GRANT实现如下:
GRANT SELECT,INSERT,UPDATE,DELETE ON test1.* TO 'z2'@'%' IDENTIFIED BY '123456'
直接操作权限表实现如下:
INSERT INTO db(host,db,user,select_priv,insert_priv,update_priv,delete_priv) VALUES('%','test1','z2','Y','Y','Y','Y')
该用户在user表中的权限都为N,db表中的权限为Y,如下:
mysql> SELECT * FROM user WHERE user ='z2' AND HOST ='%' \G; *************************** 1. row *************************** Host: % User: z2 Password: *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 Select_priv: N Insert_priv: N Update_priv: N Delete_priv: N ...... mysql> SELECT * FROM db WHERE user ='z2' AND HOST ='%' \G; *************************** 1. row *************************** Host: % Db: test1 User: z2 Select_priv: Y Insert_priv: Y Update_priv: Y Delete_priv: Y ......
MySQL是通过user表的host字段来控制IP连接限制的,host可以有如下类型赋值:
Host可以是主机名或者是IP,或"localhost"指本地主机
可以在Host列使用通配符字符"%"或"_"
Host值"%"匹配任何主机名,空Host等价于%,但是不包括本地服务器localhost,如果要使用localhost权限,则必须单独配置。
如果有多个匹配,则按下面规则进行:
服务器启动时读入user表进行排序,先以最具体的值进行排序,主机名和IP是最具体的,而%是最不具体的。
当用户进行连接时,以排序的先后顺序进行浏览记录,服务器使用第一条与客户端匹配的记录进行连接。
例5:授予SUPER、PROCESS、FILE权限给z3@%,这几个都是管理权限,不能指定具体某个数据库,只能用*.*
GRANT SUPER,PROCESS,FILE ON *.* TO 'z3'@'%';
例6:只授予登录权限给z4@localhost,USAGE只能登录数据库,不能进行任何操作
GRANT USAGE ON *.* TO 'z4'@'localhost'
GRANT权限只能用于登录数据库,不能执行任何操作。
查看权限
(1) SHOW GRANTS FOR user@host;
(2) 按照user->db->tables_priv->columns_priv的顺序查看用户权限
(3) MySQL5以后,可以使用新增的数据库information_schema数据库进行查看:
USE information_schema; SELECT * FROM SCHEMA_PRIVILEGES WHERE GRANTEE = "'z2'@'%'";
更改权限
和账号创建一样,更改权限也有两种方法,一种是使用GRANT(新增)和REVOKE(回收)方法,另一种是直接操作数据库方法。
GRANT权限在执行的时候,如果权限表中不存在目标账号,则创建,如果存在,则执行权限的新增操作,GRANT不会执行减的操作。
(0) 目前数据库在存在用户'z2'@'%',执行GRANT USAGE ON *.* TO 'z2'@'localhost'; 语句会新增用户,而不是改变原先。用户充许连接的域
(1) 目前'z2'@'localhost'只有登录权限,如下:
mysql> SHOW GRANTS FOR 'z2'@'localhost'; +----------------------------------------+ | Grants for z2@localhost | +----------------------------------------+ | GRANT USAGE ON *.* TO 'z2'@'localhost' | +----------------------------------------+ 1 row in set (0.00 sec)
(2) 赋予'z2'@'localhost'所有数据库上的所有表的SELECT权限:
GRANT SELECT ON *.* TO 'z2'@'localhost'; mysql> SHOW GRANTS FOR 'z2'@'localhost'; +-----------------------------------------+ | Grants for z2@localhost | +-----------------------------------------+ | GRANT SELECT ON *.* TO 'z2'@'localhost' | +-----------------------------------------+ 1 row in set (0.00 sec)
(3) 给'z2'@'localhost'所有数据库上的INSERT权限:
GRANT INSERT ON *.* TO 'z2'@'localhost'; mysql> SHOW GRANTS FOR 'z2'@'localhost'; +-------------------------------------------------+ | Grants for z2@localhost | +-------------------------------------------------+ | GRANT SELECT, INSERT ON *.* TO 'z2'@'localhost' | +-------------------------------------------------+ 1 row in set (0.00 sec)
(4) 使用REVOKE收回'z2'@'localhost'在所有数据库上的INSERT权限:
mysql> REVOKE INSERT ON *.* FROM 'z2'@'localhost'; Query OK, 0 rows affected (0.00 sec) mysql> SHOW GRANTS FOR 'z2'@'localhost'; +-----------------------------------------+ | Grants for z2@localhost | +-----------------------------------------+ | GRANT SELECT ON *.* TO 'z2'@'localhost' | +-----------------------------------------+ 1 row in set (0.00 sec)
USAGE权限不能被REVOKE收回,也就是说,REVOKE不能删除用户。
更改密码
(1) 使用mysqladmin命令
mysqladmin -u user_name -p user_password -h host_name password "new_password"
如果你的mysqladmin连接不上mysql server,或者你没有办法执行mysqladmin, 那么这种方法就是无效的。 而且mysqladmin无法把密码清空。
(2) 执行SET PASSWORD语句,如下面语句将'z2'@'%'的密码设置为111111:
SET PASSWORD FOR 'z2'@'%' = PASSWORD('111111');
如果是修改自己的密码,则FOR可以省略。
(3) 使用GRANT USAGE语句来指定某个用户的密码,而不影响当前用户的权限,如下面语句将'z2'@'%'的密码设置为111111:
GRANT USAGE ON *.* TO 'z2'@'%' IDENTIFIED BY '111111';
GRANT只能增加权限而不会收回权限,而USAGE权限只是登录权限,所以这里使用GRANT USAGE不会影响到用户原先的权限。
(4) 直接修改mysql数据库的user表,但是要使用PASSWORD()函数,上面两种mysqladmin和GRANT自动加上PASSWORD()函数。
UPDATE user SET Password=PASSWORD('123456') WHERE User='z2' AND Host='localhost';
删除用户账号
(1) 使用 DROP USER 语句
DROP USER 'z2'@'localhost';
(2) 删除user表记录
发表评论
-
Mysql 乐观锁的实现
2016-10-25 10:28 0上一篇文章《MySQL悲观 ... -
MySQL索引使用
2012-09-20 15:33 1786在MySQL中,下面几种情 ... -
MySQL查询分析器EXPLAIN或DESC
2012-09-20 11:47 6363MySQL可以通过EXP ... -
MySQL LIMIT分页查询优化
2012-09-19 15:04 1991当数据量大的时候一般的分页就吃不消了,先是把COUNT(*)计 ... -
MySQL慢查询分析工具mysqlsla
2012-09-19 14:04 1524一款帮助语句分析、过滤、分析和排序MySQL慢日志 ... -
MySQL 锁表
2012-07-03 20:27 65091.FLUSH TABLES WITH READ LOCK ... -
MySql 权限管理
2012-06-16 16:52 1658MySql身份认证是通过IP地址和用户名联合认证的 ... -
mysqldump 数据导出工具使用
2012-06-13 21:39 2155mysqldump客户端工具用来备份数据库或者在不同数据库之前 ... -
MySQL DDL语句
2012-06-11 20:15 14307DDL语句是定义语言的缩写,是对数据库内部的对象进 ... -
Mysql 修改存储引擎
2012-06-11 17:15 1724修改mysql配置文件my.cnf 在[mysql ... -
MySql优化之:选择优化的数据类型
2012-05-23 08:10 4948MySql支持多种不同的数据类型,选择正确的类型对于获得高性能 ... -
MySQL游标
2012-04-06 10:26 13931Mysql从 5.0 开始支持 ... -
yum 安装 mysql
2012-01-07 18:18 11311、CentOS默认安装的mysql数据库没有mysqld服 ... -
查看MySQL存储引擎
2012-01-07 18:18 10281、SHOW ENGINES; 2、SHOW CREA ... -
mysqld_multi 配置MySQL多实例
2011-11-18 17:39 18188本文讲利用MySQL源码安装MySQL并用mysqld_mul ... -
FLUSH TABLES WITH READ LOCK 和 LOCK TABLES
2011-11-07 08:57 13241.FLUSH TABLES WITH READ L ... -
CHAR和VARCHAR使用原则
2011-10-24 14:12 1700CHAR是固定长度,处理速度要比VARCHAR的要快,但是要浪 ... -
MySQL 浮点型 定点型 长度
2011-10-21 11:40 13791MySQL浮点型和定点型可以用类型名称后加(M,D)来表示,M ... -
MySQL 整型 长度 ZEROFILL属性
2011-10-21 08:04 18011在MySQL中创建整型字段INT(或其它像TINYINT)时, ...
相关推荐
mysql账号管理与引擎
在IT行业中,PHP和MySQL是两个非常重要的技术,它们经常被结合使用来构建后台管理系统,尤其是账号管理系统。本文将深入探讨这两个技术如何协同工作,以及如何实现简单的账号管理功能。 PHP是一种广泛使用的开源...
MySQL账户管理是数据库系统中至关重要的一环,它涉及到数据库安全性和操作便捷性。在实际的生产环境中,直接使用root账户进行数据库操作是非常不推荐的,因为root账户具有最高权限,一旦出现问题,可能会对整个...
2. **验证运行用户**:再次通过任务管理器检查MySQL服务的运行账户,确保已改为“mysqluser”。 3. **测试数据库功能**:运行一些依赖于MySQL的Web应用程序,如Discuz、Phpwind等,以确保它们仍然可以正常工作。 ##...
MySQL 账号 权限, 用户管理 mysql>use mysql; 查看 mysql> select host,user,password from user ; 创建
bms和mysql文件夹里面全部都是MySQL数据库文件不要随意改名 将bms和mysql整个文件夹和ibdata1复制粘贴到xampp安装路径下的mysql文件夹里的data文件夹里面, 如我的路径即是D:\xampp\mysql\data\bms,接着打开XMAPP...
本篇文章将深入探讨“Mysql账户管理(权限)”和“主从配置”这两个关键知识点。 首先,我们来看MySQL账户管理与权限部分。在MySQL中,账户管理涉及用户创建、删除、修改以及权限的授予和回收。每个用户都有特定的...
管理MySQL数据库包括管理用户账户和相应的权限,确保数据的安全和有效访问。本文将详细讨论如何进行MySQL管理密码的恢复与设置,以及如何进行用户授权和撤销。 1. MySQL密码恢复及设置 MySQL管理密码的恢复和设置...
MySql 1、管理人员信息表(username password(status)) 2、客户信息管理 3、客户存款信息表 4、流水信息表 1、登录界面(不允许重复登录) username password 2、主要功能 1)开户 创建新的客户账号 2)存款 ...
2. **用户管理与权限**:MySQL通过用户账户和权限系统来控制谁可以访问哪些数据库和表。创建、修改和删除用户,以及分配适当的SELECT、INSERT、UPDATE、DELETE和GRANT等权限是管理员的日常工作。 3. **数据库与表...
《Java + MySQL构建银行管理系统详解》 在信息技术日益发达的今天,银行管理系统已经成为金融机构不可或缺的一部分。本项目以“Java + MySQL”为技术栈,构建了一个功能完善的银行管理系统,旨在实现银行的基本业务...
【银行管理系统(java+mysql8)】是一款基于Java编程语言和MySQL8数据库的软件应用,主要功能涵盖了银行日常运营中的核心服务,如查询余额、转账、存款、取款、修改密码、开户以及自动生成密码和管理银行账号等。...
7. 用户权限管理:MySQLManager还可以帮助管理用户账户和权限。可以创建新用户,分配特定数据库的访问权限,或者调整已有用户的权限设置。 8. 日志和错误报告:在遇到问题时,MySQLManager的错误报告功能可以帮助...
【图书管理系统(java+mysql)】是一个基于Java编程语言和MySQL数据库技术实现的图书管理软件。在本系统中,Java作为后端开发语言,用于处理业务逻辑和与数据库的交互,而MySQL则是用来存储和管理图书数据的关系型...
在MySQL数据库管理中,有时...总结,破解MySQL账号密码是一个涉及停止服务、启动特殊模式、更新密码和重启服务的过程。了解并掌握这些步骤,可以帮助你在忘记密码时迅速解决问题,但也要注意密码安全和系统的稳定性。
【新闻管理系统+MySQL】是一个基于Java技术和MySQL数据库构建的简单新闻管理平台。在这个系统中,开发者利用Java的技术栈实现了新闻的增加、删除等基本操作,同时结合MySQL数据库进行数据存储和检索,为用户提供了一...
在用户和权限管理方面,`mysqlyou`可能允许用户创建、删除和修改MySQL用户,设置账户的访问权限。用户可以指定哪些用户可以连接到特定的数据库,以及他们对这些数据库的操作权限,如只读、读写或者完全控制。 对于...
本系统基于PHP编程语言与MySQL数据库进行开发,提供管理员和学生两种不同权限的账户功能,实现了图书的上架、新增、借阅和归还等功能,同时包含详细的项目报告,为开发者提供了清晰的开发思路。 首先,PHP是一种...