1、mysql默认安装后,生成一个super-user:root,密码为空,给root用户设置密码的方法如下。
(1)linux下直接设置新密码为“root”
[root@drbd ~]# mysqladmin -u root password 'root'
测试密码是否生效,直接输入mysql,提示拒绝访问,需要输入密码, 使用命令mysql -u root -p后提示输入密码,输入root,密码设置生效。
[root@drbd ~]# mysql
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
[root@drbd ~]# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 18
Server version: 5.0.95 Source distribution
Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
(2)使用mysql命令连接数据库,然后进入mysql数据库:use mysql;使用命令:update user set password='root' where user='root'修改user表的Password值。
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 'admin' WITH GRANT OPTION;
mysql>GRANT ALL PRIVILEGES ON *.* TO admin@"%" IDENTIFIED BY 'admin' WITH GRANT OPTION;
第一句增加了一个admin用户授权通过本地机(localhost)访问,密码“admin”。第二句则是授与admin用户从任何其它主机发起的访问(通配符%)。
你也可以直接通过发出INSERT语句增加同样的用户存取信息:
mysql>INSERT INTO user VALUES('localhost','admin',PASSWORD('admin'), 'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y')
mysql>INSERT INTO user VALUES('%','admin',PASSWORD('admin'), 'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y')
取决于你的MySQL版本,对上述,你可能必须使用一个不同数目'Y'值(在3.22.11以前的版本有更少的权限列)。
验证方法,在命令行中输入:mysql -h主机名或IP地址 -u用户名 -p密码