Ubuntu如何修改mysql的账号密码

1.如果你没有忘记密码,可以通过UPDATE更改密码来更正用户表:数据库内部mysql-urootmysql>usemysql;mysql>UPDATEuserSETPassword=PASSWORD('newpass')WHEREus='root';mysql>同花顺特权;2。
#/usr/bin/mysqld_safe--skip-grat-tables2,以mysql安全模式运行,跳过权限验证。
#mysql-uroot3.mysql>使用mysql;四.修改root用户密码。
读取表信息以完成表和列名您可以关闭此功能,以便更快地启动-ADatabasechangedmysql>updateusersetPassword=PASENSIS('root')whereUser='root';QueryOK,3rowsaffected(0.00sec)Rowsmatched:3Changed:3Monita:0mysql>exit#/etc/init.d/mysqlrestart5.mysql>updatemysql.usersetpassword=password('新密码')whereUser='root';

MySQL数据库下如何为用户设置密码

当你第一次在机器上安装Mysql时,可以匿名访问数据库,或者以root身份进入数据库,无需密码。
另外,如果你是管理员,则需要创建一些用户并授予权限设置的问题。
下面讨论passwords。
我们需要知道密码存储必须使用password()函数进行加密,因为密码是加密存储在用户表中的,而不是加密的。
不是纯文本。
如果不加密,直接在数据库中执行以下语句:usemysqlinserintouser(host,user,password)values('%','user_name','yourpassword');泄漏权限:服务器连接一定会失败,因为服务器比较加密值。
这里的解释是排水权;rootreload或mysqladmin-urootflush-privileges要重新加载权限表,可以在Mysql环境中使用以下语句设置密码:1.insertintouser(host,user,password)values('%','user_name',password)。
("yourpassword");2.setpasswordforuser_name=password("yourpassword")以上两种方法都需要重新加载权限表3.当然也可以在创建用户时直接设置密码,赠送语句会自动加密您的密码,例如:Grantallon*.*touser_name@%identifiedbyyourpassword";或者,您可以在shell环境中使用miscadmin程序,例如:mysqladmin-urootpassword“你的密码”

如何重设MySQL密码

第一种方法使用phpmyadmin,这是修改mysql库的用户表的最简单方法,但不要忘记使用PASSWORD函数。
第二种方法使用mysqladmin,这是前面提到的一个特例。
mysqladmin-uroot-ppasswordmypasswd输入该命令后,需要输入root的原密码,则root密码将更改为mypasswd。
将命令中的root更改为您的用户名,即可更改密码。
当然,如果你的mysqladmin无法连接mysqlserver,或者无法执行mysqladmin,则此方法无效,mysqladmin无法清除密码。
以下所有方法均在mysql提示符下使用,且必须具有mysql的root权限:方法3mysql>InsertINTOmysql.user(Host,User,Password)VALUES('%','jeffrey',PASSWORD('biscuit'));Mysql>FLUSHPRIVILEGES准确地说,这是添加用户名jeffrey和密码cookies的用户。
这个例子在MySQL中文参考指南里,所以我就写了。
请注意,您需要使用PASSWORD函数,然后使用FLUSHPRIVILEGES。
第四种方法与第三种方法相同,只不过它使用语句REPLACEmysql>REPLACEINTOmysql.user(Host,User,Password)VALUES('%','jeffrey',PASSWORD('biscuit'));mysql>FLUS第五种方法使用HPRIVILEGESSETPASSWORD语句,mysql>SETPASSWORDFORjeffrey@"%"=PASSWORD('饼干');您还必须使用PASSWORD()函数,但不需要使用FLUSHPRIVILEGES。
方法6使用语句GRANT...IDENTIFIEDBYmysql>GRANTUSAGEON*.*TOjeffrey@"%"IDENTIFIEDBY'biscuit';这里PASSWORD()函数是不必要的,也不需要使用FLUSHPRIVILEGES。
注意:PASSWORD()[不]以与Unix密码相同的方式加密密码。
忘记MySQL密码的解决方法如果MySQL正在运行,请先停止它:killall-TERMmysqld。
启动MySQL:bin/safe_mysqld--skip-grant-tables&即可免密码进入MySQL。
然后>usemysql>updateusersetpassword=password("new_pass")whereuser="root";>flushprivileges;再次杀死MySQL并使用正常方法启动MySQL。
Windows下清除mysql密码:1.以系统管理员身份登录系统。
2.停止MySQL服务。
3、进入命令窗口,然后进入MySQL安装目录,比如我的安装目录是c:\mysql,输入C:\mysql\bin4、跳过权限检查,启动MySQL,c:\mysql\bin。
>mysqld-nt--skip-grant-tables5。
重新打开窗口,进入目录c:\mysql\bin,并为rootc:\m设置新密码。
ysql\bin>mysqladmin-urootflush-privilegespassword"newpassword"c:\mysql\bin>mysqladmin-uroot-pshutdown将新密码替换为你要使用的root密码,第二个命令会提示你输入新密码,命令中输入的密码。
6.停止MySQL服务器并以普通模式启动Mysql7。
您可以使用新密码连接Mysql。
Unix&Linux:1.以root或运行mysqld的用户登录系统;使用kill命令终止mysqld进程3、使用--skip-grant-tables参数启动MySQLServershell>mysqld_safe--skip-grant-tables&4。
为root@localhost设置新密码shell>mysqladmin-urootflush-privilegespassword"newpassword"5.重启MySQLServermysql更改密码mysql修改可以在mysql命令行执行如下:mysql-urootmysqlmysql>UpdateuserSETpassword=PASSWORD("newpassword")Whereuser='name';mysql>FLUSHPRIVILEGES;mysql>QUIT教你如何恢复MySQL数据库密码因为MySQL密码存储在mysql数据库中的用户表中,所以我只需要在Windows2003下复制MySQL中的用户表并写入即可。
与用户表user.frm、user.MYD、user.MYIuser.frm相关的三个文件//用户表位于c:\mysql\data\mysql\(对于Linux,通常在/var/lib/mysql/mysql/)样式文件目录user.MYD//用户表数据文件user.MYI//用户表为了安全起见,三个索引文件都被复制了,但是,如果MySQL上要恢复之前的表结构,只需复制user.MYD然后#./etc/rc.d/init即可。
d/mysqlstop#./etc/rc.d/init.d/mysqlstart#mysql-uroot-pXXXXXX好了,Windows2003下可以用你的mysql密码登录mysql>usemysqlmysql>updateusersetPassword=PASSWORD('xxxxxx')其中用户='root';这时会出现错误提示用户的表有只读权限。
我分析过原因,就是这样,因为Windows2003下存在user.*分配文件权限。
在Windows2003下,我执行ls-l来查看权限。
限制是666,我复制后在Linux下看了一下,权限改成了600(其实一般情况下600就够了,只是这里的文件所有者不是mysql,复制后所有者变成了root)。
,所以这时候就会显示权限不够,如果权限是666就改的话,这当然不好,并不能解决问题。
)检查/var/lib/mysql/mysql下的ls-l/然后重启MYSQL并重新连接mysql>usemysqlmysql>updateusersetPassword=PASSWORD('xxxxxx')whereUser='root';mysql>FLUSHPRIVILEGES;'%';mysql>FLUSHPRIVILEGES;好了,到这里密码恢复过程就完成了。
你还必须有另一个用户的表文件(这个在互联网上广泛流传)。
方法,在mysql中文参考手册中)1.向mysqldserver发送kill命令,关闭mysqldserver(不是kill-9)。
存储进程ID的文件通常位于MYSQL数据库所在目录下。
Killall-TERMmysqld您必须是服务器上的UNIXroot用户或等效用户您正在运行它来执行此操作。
2.使用“--skip-grant-tables”参数启动mysqld。
LINUX下:/usr/bin/safe_mysqld--skip-grant-tables,Windows下c:\mysql\bin\mysqld--skip-grant-tables3然后无密码登录mysqldserver,updateusersetpassword=password。
("new_pass")whereuser="root";>flushprivileges;。
你也可以这样做:`mysqladmin-hostname-userpassword'newpassword'4.加载权限表:`mysqladmin-hostnameflush-privileges'或使用SQL命令`FLUSHPRIVILEGES'5.killall-TERMmysqld6使用新密码登录。
第二种方法是直接用十六进制编辑器编辑user.MYD文件,不过,我想在这里解释一件事,因为我在编辑时发现一个问题,有些字符串的加密密码是持久存储的,有些是持久存储的,而最后两位数字被截掉,最后两位数字存储在后面的其他地方。
另一件需要注意的是,您正在编辑加密的密码字符串,这意味着您仍然需要另一个用户表文件。
这种方法和我上面介绍的方法的区别在于,这种方法直接编辑Linux中的用户表文件,不需要重新更改文件所有者和权限。
调试:我在Windows下的实际工作如下1关闭MySQL。
2.打开DOS窗口并导航至mysql\bin目录。
3.输入mysqld-nt--skip-grant-tables并按Enter键。
如果没有出现快速消息,则说明您是对的。
4、再打开一个DOS窗口(因为现在DOS窗口无法移动),进入mysql\bin目录。
5、输入mysql并回车。
如果成功,会出现MySQL提示>6.连接权限数据库>usemysql(>是原来的提示,别忘了最后一个分号)6.更改密码:>updateusersetpassword。
=密码("123456")其中user="root";(不要忘记最后一个分号)7.Flushprivileges(必填步骤)>Flushprivileges;8.退出>\q9.退出系统,重新进入,打开MySQL,使用用户名root和刚刚设置的新密码123456登录。
据说可以直接修改user表文件:关闭MySQL,在Windows下打开Mysql\data\mysql,有user.frm、user.MYD和user.MYI三个文件,找到知道密码的MySQL,替换掉对应三个文件,如果结构不改User表,一般不会有人改,直接替换user.MYD即可。
您还可以直接编辑user.MYD并找到具有此功能的十六进制编辑器。
关闭MySQL并打开user.MYD。
将用户名root后面的八个字符更改为565491d704013245,新密码为123456。
或十六进制数字对应的(左边有一个字母对应两个数字)改成0002020202020202,这是一个空密码。
您在编辑器右侧看到的都是星号*,它们看起来像小数点。
重新启动MySQL,输入root和新密码1.mysql忘记root密码怎么办如果忘记了MySQL的root密码,可以执行以下步骤重置MySQL的root密码:1.首先确保服务器已启动处于安全状态,即没有人可以任意连接到MySQL数据库。
因为在MySQLroot密码重置期间,MySQL数据库完全不受密码保护,其他用户可以随意登录并修改MySQL信息。
您可以通过关闭外部MySQL端口并停止Apache和所有用户进程来实现服务器的半安全状态。
最安全的情况是转到服务器控制台并断开网络电缆。
2、修改MySQL登录设置:#vi/etc/my.cnf在[mysqld]部分添加语句:Skip-grant-tables例如:[mysqld]datadir=/var/lib/mysqlsocket=/var/lib。
/mysql/mysql.sockskip-name-resolveskip-grant-tables保存退出vi。
3.重新启动mysqld#/etc/init.d/mysqldrestartStoppingMySQL:[OK]StartingMySQL:[OK]4.登录并更改MySQL的root密码#/usr/bin/mysqlWelcometotheMySQLmonitor.Commandsendwith;or\g.YourMySQLconnectionidis3toserverversion:3.23.56Type'help;'or'\h'forhelp.Type'\c'toclearthebuffer.mysql>USEmysql;读取表信息以完成表和列名称您可以使用-ADatabasechangedmysql>UPDATEuserSETPassword=password('new-password')WHEREUser='root';Q关闭此功能以更快地启动ueryOK,0rowsaffected(0.00sec)Rowsmatched:2Changed:0Warnings:0mysql>flushprivileges;QueryOK,0rowsaffected(0.01sec)mysql>quitBye5.将MySQL登录设置修改回#vi/etc/my.cnf。
删除刚刚添加到[mysqld]分区的Skip-Grant表并退出vi。
6.重新启动mysqld#/etc/init.d/mysqldrestartStoppingMySQL:[OK]StartingMySQL:[OK]windows1.2、打开cmd--netstart查看mysql是否启动。
如果启动了,停止netstopmysql3.我的MySQL安装在d:\usr\local\mysql4\bin下。
4.跳过权限检查并启动mysqld:\usr\local\mysql4\bin\mysqld-nt–skip-grant-tables5.重新打开cmd。
转到d:\usr\local\mysql4\bin:d:\usr\local\mysql4\bin\mysqladmin-urootflush-privilegespassword"newpassword"d:\usr\local\mysql4\bin\mysqladmin-uroot-pshutdown这个这个它会提示您重新输入密码。
6.在cmd中Netstartmysql7.完成。
2、MySQL4.1以上版本密码错误问题的解决方法1#SETPASSWORDFOR'some_user'@'some_host'=OLD_PASSWORD('newpwd');2#FLUSHPRIVILEGES;3、修复Mysql数据库myisamchk-r-qd:\mysql\data\latin1\*r代表修复,q代表快速d:\mysql\data\latin1\*数据库中*代表里面的所有文件