mysql 权限管理
Sql代码
- <DIV class="quote_title">引用</DIV><DIV class="quote_div">一、 mysql授权
- GRANT 语句的语法如下:
- GRANT privileges (columns)
- ON what
- TO user IDENTIFIEDBY "password"
- WITH GRANT OPTION
- 1.grant select,insert on *.* to test@"local" Identified by "123";
- 这句命令的意思是,授权用户“test”(其口令为“123”)只能在本地localhost登录,可对任何数据库的任何表(“*.*”前一个“*”代表任何数据库,后一个“*”代表在前个“*”的约束下的任何表)进行select,insert的操作。
- 2.grant update,delete on scut.student to test@"%" Identified by "123";
- 这句命令的意思是,授权用户“test”(其口令为“123”)可以任何主机登录,可对数据库"scut”下的表“student”进行update,delete的操作。
- 3. grant all on len.* to ca@"%" Identified by "123456";
- 这句命令的意思是,授权用户“ca”(其口令为“123456”)可以任何主机登录,可对数据库"len”下的所有表进行所有的操作。
- 二、mysql授权查看
- select user from mysql.db where db="youdb"
- 实例:查看len数据库已经授权的用户
- select user from mysql.db where db="len"
- '
- 1。 改表法。可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"
- Sql代码 复制代码
- 1. mysql -u root -pvmwaremysql>use mysql;
- 2. mysql>update user set host = '%' where user = 'root';
- 3. mysql>select host, user from user;
- 2. 授权法。例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。
- Sql代码 复制代码
- 1. GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH
- GRANT OPTION;
- 2.FLUSH PRIVILEGES;
- 如果你想允许用户myuser从ip为192.168.1.6的主机连接到mysql服务器,并使用mypassword作为密码
- Sql代码 复制代码
- 1. GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY
- 2. 'mypassword' WITH GRANT OPTION;
- 3. FLUSH PRIVILEGES;
- GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY
- 'mypassword' WITH GRANT OPTION;
- FLUSH PRIVILEGES;
- 如果你想允许用户myuser从ip为192.168.1.6的主机连接到mysql服务器的dk数据库,并使用mypassword作为密码
- Sql代码 复制代码
- 1. GRANT ALL PRIVILEGES ON dk.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY
- 2. 'mypassword' WITH GRANT OPTION;
- 3. FLUSH PRIVILEGES;
- GRANT ALL PRIVILEGES ON dk.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY
- 'mypassword' WITH GRANT OPTION;
- FLUSH PRIVILEGES;
- 注意授权后必须FLUSH PRIVILEGES;否则无法立即生效。
- 另外一种方法.
- 在安装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身份登录啦! </DIV>
- mysql的一些乱七八糟的东西
- 01月 27th, 2008
- mysql的一些乱七八糟的东西 使用MYSQL半年,自己经常用的东西- -
- Mysql –h192.168.0.110 –uks –p –P4444登录
- Mysqladmin –h192.168.0.110-uks –p reload重新加载用户表
- Mysqldump –R –h192.168.0.110 –uks –p test>c:/test.sql备份
- Mysql –h192.168.0.110 –uks –p test
- Windows下net stop mysql关闭服务
- Net start mysql 开启服务
- Linux下 service mysql stop关闭
- Service mysql start 开启
- Service mysql restart重启服务
- Linux下开机自动启动mysql
- #>chkconfig –add mysql 开机启动
- Chkconfig –del mysql 关闭自动启动
- Chkconfig – -list 查看服务启动情况
- Mysql命令行下
- Explain select……..查看该SELECT语句信息
- Show variables查看系统变量
- Show status 常看当前服务器状态
- Show databases;
- Show tables;
- Show processlist
- Show warnings;(查看最近一个警告或错误)
- Set global xxxx=xxxx;
- Flush ……清楚mysql使用的部分内部缓存
- Information_schema.tables表信息
- Mysql动态语句5.1
- 只支持create table,delete,do ,insert,replace,select set ,update语句
- Describe tablename查看该表结构
- Optimize table XXX 清理该表中已删除的链接(可以释放一些资源)
- Source c:abc.sql 在MYSQL命令行中执行脚本
- Select
- Create
- Insert
- Update
- Alter
- Grant
- revoke
- 就不说了= =
- Mysql 数据库名最长 64位字符串
- 表名….. 64位字符串
- 字段名……. 64位字符串
- 用户名…….. 16位字符串
- 密码……… 貌似没限制
- Handler(很牛X的东东)
- Handler testt open as abc;
- Handler abc read id=(123456);
- Handler abc close;
- Benchmark(n,expr)执行N次EXPR并测算时间
- Post in LAMP | No Comments »
- MYSQL在命令行创建存储过程
- 01月 27th, 2008
- MYSQL在命令行创建存储过程 如何在MYSQL命令行创建存储过程
- 今天早上在百度知道碰到这个问题,我开始没看明白…….后来才知道提问人的意思是要在命令行下创建存储过程。很感谢这个问题,因为我也不会呵呵,我一直都用EMS创建这些东西…….
- 我也尝试了一些方法,但是第一个分号mysql就以为语句结束了,就拿那个例子来说:
- CREATE PROCEDURE p7 (IN b INTEGER(12))
- begin
- declare a INTEGER(12);
- set a=5;
- INSERT INTO t VALUES (a);
- SELECT s1*a FROM t WHERE b<=s1;
- End
- 这个存储过程,在命令行直接创建的话,在第三排你输入分号后就报错了……因为MYSQL以为这个语句结束了,那对于MYSQL而言
- CREATE PROCEDURE p7 (IN b INTEGER(12))
- begin
- declare a INTEGER(12);
- 肯定是个错误语句。
- 然后看了些东西,原来要加分隔符- -……….
- DELIMITER //
- CREATE PROCEDURE p7 (IN b INTEGER(12))
- begin
- declare a INTEGER(12);
- set a=5;
- INSERT INTO t VALUES (a);
- SELECT s1*a FROM t WHERE b<=s1;
- End
- //
- 就OK了…………意思就是说在//……//之间的当成一个语句执行所以MYSQL接到的才是这个存储过程完整的创建语句。
- Post in LAMP | No Comments »