Chinaunix首页 | 论坛 | 博客
  • 博客访问: 362870
  • 博文数量: 245
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: -10
  • 用 户 组: 普通用户
  • 注册时间: 2016-08-24 23:21
文章分类

全部博文(245)

文章存档

2017年(2)

2014年(6)

2013年(1)

2011年(15)

2010年(68)

2009年(153)

分类: Mysql/postgreSQL

2009-09-16 13:52:56

一.mysqld和mysqld_safe 有什么区别?

直接运行mysqld程序来启动MySQL服务的方法很少 见,mysqld_safe脚本会在启动MySQL服务器后继续监控其运行情况,并在其死机时重新启动它。用mysqld_safe脚本来启动MySQL 服务器的做法在BSD风格的unix系统上很常见,非BSD风格的UNIX系统中的mysql.server脚本其实也是调用mysqld_safe脚本 去启动MySQL服务器的。

二.skip-grant-tables:非常有用的mysql启动参数
 
   介绍一个非常有用的mysql启动参数—— --skip-grant-tables。 顾名思义,就是在启动mysql时不启动grant-tables,授权表。有什么用呢?当然是忘记管理员密码后有用。
    操作方法:
    1、杀掉原来进行着的mysql:
       rcmysqld stop
       或者:
       service mysqld stop
       或者:
       kill -TERM mysqld
    2、以命令行参数启动mysql:
       /usr/bin/mysqld_safe --skip-grant-tables &
    3、修改管理员密码:
       use mysql;
       update user set password=password('yournewpasswordhere') where user='root';
       flush privileges;
       exit;
    4、杀死mysql,重启mysql

三.一些语法命令

1,CREATE USER语法 

 CREATE USER user identified by '123456'

2,DROP USER语法 

drop user user@localhost;

3,SET PASSWORD语法 

set password for user=password('123456');

4,GRANT和REVOKE语法 

grant all privileges on db.* to user@localhost identified by  '123456';

REVOKE ALL PRIVILEGES, GRANT OPTION FROM user@'%';

revoke all privileges on db.*  from  user@'192.168.1.1';

四.mysql root权限丢失解决方法:

   目前来说只有两种:
1、跳过授权表启动MYSQL:
    WINDOWS或者LINUX下都可以用
    MYSQLD_safe --SKIP-GRANT-TABLES
    来启动 MYSQL。
    use mysql
    这个时候你对所有的表都具有操作权限。
    更新的MYSQL.USER表的所有字段中为N的为Y就可以了。(update user set 权限=‘Y’)

2、就是COPY 别的有权限的MYSQL 库考到你原来的目录:
    不过原来的一定要备份。
    之后的操作同上。

五.grant授权并建立用户:

grant all on *.* to wyg;
grant all on *.* to wyg@localhost

这两个是有区别的,前者是本地主机用户用%表示,后者是给主机的用户授权,可以是本地也可以是其他主机的用户。

可以通过select user,host,password from user;来查询。

而且set password既可以给wyg,也可以给wyg@localhost设置密码。后者可以针对远程用户登陆






阅读(408) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~