您的位置:首页 > 数据库 > MySQL

mysql 添加用户并设置权限

2010-08-27 23:38 507 查看
1、mysql默认安装后,生成一个super-user:root,密码为空,给root用户设置密码的方法很多。

(1)、mysqladmin -uroot password 'newpassword';

(2)、update user set password='newpassword' where user='root'

2、如果不慎将root用户给删除了,可以尝试以下办法操作。

(1)、直接重新安装初始化数据库mysql,不会对数据库目录下/mysql/var/目录下其他数据库带来影响,

mysql_install_db --user=mysql,然后重启mysqld_safe --user=mysql &

(2)、尝试输入mysql --skip-grant-lables &,跳开权限认证,对mysql数据库中的user授权表进行操作,insert into user (host,user,password,'','','','',''........) values ('localhost,'root','root','','','','',''........);

3、 添加用户和设置权限

在安装MySql后只有一个超级管理权限的用户ROOT,而且ROOT限制只能在数据库本机上使用,如果我们要远程管理MySql咋办呢?那么事实上我们需要添加一个具有超级管理权限并且可能远程访问的超级用户,而在 MySql中有两种方法可以实现这个目的,我们以增加一个超级权限管理用户admin为例来说明。

你可以通过发出GRANT语句增加新用户:首先在数据库本机上用ROOT用户登录上MySql(不用我告诉你如何登录吧?),然后:

mysql>GRANT ALL PRIVILEGES ON *.* TO admin@localhost IDENTIFIED BY 'something' WITH GRANT OPTION;

mysql>GRANT ALL PRIVILEGES ON *.* TO admin@"%" IDENTIFIED BY 'something' WITH GRANT OPTION;

第一句增加了一个admin用户授权通过本地机(localhost)访问,密码“something”。第二句则是授与admin用户从任何其它主机发起的访问(通配符%)。

你也可以直接通过发出INSERT语句增加同样的用户存取信息:

mysql>INSERT INTO user VALUES('localhost','admin',PASSWORD('something'), 'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y')

mysql>INSERT INTO user VALUES('%','admin',PASSWORD('something'), 'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y')

取决于你的MySQL版本,对上述,你可能必须使用一个不同数目'Y'值(在3.22.11以前的版本有更少的权限列)。

验证方法,在命令行中输入:mysql -h主机名或IP地址 -u用户名 -p密码

本文出自 “知识需要沉淀” 博客,谢绝转载!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: