linux下,mysql数据库的忘记密码,查看用户,以及修改用户信息
刚好遇到的,也是自己不熟悉的部分,因此查了一些资料,大概把这几个给总结一下。
一、数据库忘记密码
1、如果是root用户忘记密码的话,那就没办法了,只能通过暂时无密码登录的状态登上去
步骤:
(1)进入Mysql的配置文件:vi /etc/my.cnf
(2)在配置文件的末尾加上: skip-grant-tables,如:
(3)重启Mysql,然后直接mysql -u root -p直接登入。
注意:
(1)如果是无密码登录的话,首先确认服务器出于安全的状态,也就是没有人能够任意地连接MySQL数据库。 因为在重新设置MySQL的root密码的期间,MySQL数据库完全出于没有密码保护的状态下,其他的用户也可以任意地登录和修改MySQL的信息。可以采用将MySQL对外的端口封闭,并且停止Apache以及所有的用户进程的方法实现服务器的准安全状态。最安全的状态是到服务器的Console上面操作,并且拔掉网线。
二、修改数据库的密码
1、首先要先知道,如果以root权限登录数据库的话,你可以看到mysql下有个user表,里面存储的是全部的用户信息,包括user,host,password,查询的命令:
select user,host,password from mysql.user;
2、如果要修改用户的信息,则可以通过sql语句直接修改,例如,要修改用户名为admin 的密码为admin:
//查询所有的用户信息
mysql>select user,host,password from mysql.user;
//修改admin用户的密码
mysql>update user set password=password('admin') where user='admin';
//刷新权限表(必须)
mysql>flush privileges;
//修改成功之后要退出mysql数据库,重新登录一下
mysql>exit;
3、关于给用户授权的问题:
//登录MYSQL(有ROOT权限)。我里我以ROOT身份登录.
@>mysql -u root -p
@>密码
//首先为用户创建一个数据库(phplampDB)
mysql>create database phplampDB;
//授权phplamp用户拥有phplamp数据库的所有权限。
>grant all privileges on phplampDB.* to phplamp@localhost identified by '1234';
//刷新系统权限表
mysql>flush privileges;
mysql>其它操作
/*
如果想指定部分权限给一用户,可以这样来写:
mysql>grant select,update on phplampDB.* to phplamp@localhost identified by '1234';
//刷新系统权限表。
mysql>flush privileges;
*/
4、关于创建新用户的问题:
“`
//登录MYSQL
@>mysql -u root -p
@>密码
//创建用户
mysql> insert into mysql.user(Host,User,Password) values(“localhost”,”phplamp”,password(“1234”));
//刷新系统权限表
mysql>flush privileges;
这样就创建了一个名为:phplamp 密码为:1234 的用户。
然后登录一下。
mysql>exit;
@>mysql -u phplamp -p
@>输入密码
mysql>登录成功