欢迎各位兄弟 发布技术文章
这里的技术是共享的
我的方法
1)进到mysql
2)use mysql
3)update user set password=PASSWORD('shi') where user='root';
4)FLUSH PRIVILEGES;
Method 1:
在/usr/local/mysql/bin/下:
./mysqladmin -u root password ‘new_password’
一般安装时用此方法设置。
Method 2:
在mysql状态下:
mysql>UPDATE user SET password=PASSWORD(’new_password’) WHERE user=’root’;
mysql>FLUSH PRIVILEGES;
Method 3:
mysql>SET PASSWORD FOR root=PASSWORD(’new_password’);
补一下补知道root密码情况下修改root密码
mysqld启动的时候加上–skip-grant-tables,然后马上修改密码,修改后去掉–skip-grant-tables,然后就OK了。
想起了3年前在eyou工作的时候,为了导qmail+vpopmail+mysql的邮件用户出来,修改了root密码,但是当时eyou的系统没有使用,原来的系统因为root密码而不能使用,我就看libvpopmail.a,从二进制文件中找到了密码:)
$ /usr/bin/mysqladmin -u root password 'new-password' 这种方法没有用过
三.my.ini文件泄露口令
我们看到my.ini最后,有这两句
user=root
password=root
如果,你安装完成时,使用了mysql所提供的快速设置功能,(较新的版本)你的帐号和口令将被写到my.ini文件中。
这也是mysql写到启动组里的winmysqladmin.exe工具,运行时需要读取的。 它提供的mysql服务
的一些监视功能。 这样winmysqladmin.exe才能获得mysql服务的状态信息。
其实,这个也不算漏洞,我们看看my.ini默认的权限,它可以被user组用户读取。
从而导致口令被泄露
解决方法:
从新设定my.ini文件的权限.
从新设定帐号及口令
不使用快速设置
上面的意思没看懂 ,我的理解是my.ini好像其中的用户名密码是不起作用的