1 进入cmd,停止mysql服务:Net stop mysql
成都创新互联公司长期为上千多家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为裕安企业提供专业的成都网站设计、成都做网站,裕安网站改版等技术服务。拥有10多年丰富建站经验和众多成功案例,为您定制开发。
若是停不掉:Ctrl+Alt+Del打开任务管理器,在详细信息里结束mysql.exe任务。
若服务名无效:来到MySQL的安装路径下bin,在命令行中输入mysqld --install;成功:出现Service successfully install代表你已经安装成功;
2 进入bin目录
mysqld -nt --skip-grant-tables
重新打开一个管理员命令提示符输入mysql进入重新改密码就OK了。
再次mysql -u root -p进入操作
mysqlupdate mysql.user set anthentication_string=password(‘你的密码’) where user=‘root’;
mysqlflush privileges;//刷新MySQL的系统权限
mysqlquit;
再次mysql -u root -p进入就可以操作了。
免安装版的mysql可能会出现首次登录不进去的情况,解决办法是:
1、在my.ini文件中mysqld下面加上skip-grant-tables,如图:
2、重启mysql;net restart mysql;
3、输入mysql,出现welcome to mysql字样,表示进入成功,然后show databases;然后use mysql;
4、修改root用户的密码;
update mysql.user setpassword=password('新密码') where user='root' ;
如果是5.7版本以上的则用下面的命令修改密码:
update mysql.user set authentication_string=password('新密码') where user='root' ;
5、flush privileges;
6、去掉my.ini中加入的skip-grant-tables,重启mysql,然后就可以采用新密码进入mysql了。
记住,修改完密码后必须删掉skip-grant-tables,否则mysql还是可以不通过密码进入;
7、重启mysql后再进入mysql可能会提示:
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement ;
此时需要输入命令:set password=password('123456');//此处密码必须跟上面设置的密码一样;
以前也用过mysql数据库(那时还是mysql3),可这样的问题还是头一次遇到。我想在开发过程中遇到这类问题的人一定不在少数,那么我们就从这次出现的问题出发来一起研究一下mysql数据库的账户添加问题。先通过控制台添加一个账户:mysql INSERT INTO user- VALUES('%','monty',PASSWORD('some_pass'),
- 'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y',
- 'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y',
- '','','','',0,0,0,0);
然后,建立php程序进行登录 htmlbodyh1It works!/h1?php
$link = mysql_connect('localhost', 'monty', 'some_pass');
if (!$link) {
die('Could not connect: ' . mysql_error());}echo 'Connected successfully';
mysql_close($link);
/body/html但是,运行后的结果却是:
原来,在mysql的这个版本中(已经很久没有用mysql了,之前的版本没有经过测试),如果使用insert命令来增加一个账号的话,必须在添加后刷新一下特权表:mysql INSERT INTO user - VALUES('%','monty',PASSWORD('some_pass'),
- 'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y',
- 'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y',
- '','','','',0,0,0,0);
mysql FLUSH PRIVILEGES;
mysql GRANT ALL PRIVILEGES ON *.* TO 'monty'@'localhost' - IDENTIFIED BY 'some_pass' WITH GRANT OPTION;
mysql GRANT ALL PRIVILEGES ON *.* TO 'monty'@'%' - IDENTIFIED BY 'some_pass' WITH GRANT OPTION;
mysql GRANT RELOAD,PROCESS ON *.* TO 'admin'@'localhost';
mysql GRANT USAGE ON *.* TO 'dummy'@'localhost'; 前两个帐户名称都是monty,而且都是拥有所有权限和密码。但是两者的区别在于,第一个帐户(monty@localhost)只能通过本地登录,而第二个账户(monty@%)可以通过任意主机登录。值得注意的是,为了能够使用monty帐户在任何地方进行登录,这两个账户同时存在则是必要的。因为,如果没有本地帐户(monty@localhost),使用monty帐户登录时,mysql_install_db将优先考虑创建一个本地的匿名帐户。那么结果将是monty账户会被当作一个匿名帐户来处理。原因则在于,匿名帐户拥有一个比nonty@%账户更加具体的host字段值,从而在user表排序的时候会相对出现的更早。
上面这个表中的admin帐号则只拥有reload和process权限且没有密码,这些权限允许该帐户执行mysqladmin reload, mysqladmin refresh,mysqladmin processlist和mysqladmin flush-xxx系列命令,但是没有权限进入任何数据库。dummy帐号没有密码也没有任何权限,它只被允许从本地(localhost)登录mysql。GRANT命令允许使用USAGE来创建一个帐号却不赋予任何权限。如果你的Mysql采用的是NO_AUTO_CREATE_USER模式,那么通过命令行模式建立一个没有密码的帐号将会失败。为了解决这个问题,你可以使用IDENTIFIED BY来指定具体的密码。
MySQL提供跳过访问控制的命令行参数,通过在命令行以此命令启动MySQL服务器:\x0d\x0asafe_mysqld --skip-grant-tables\x0d\x0a即可跳过MySQL的访问控制,任何人都可以在控制台以管理员的身份进入MySQL数据库。\x0d\x0a需要注意的是在修改完密码以后要把MySQL服务器停掉重新启动才会生效\x0d\x0a先找到mysql.server 然后停止mysql服务\x0d\x0a# mysqld_safe --skip-grant-tables --skip-networking \x0d\x0a# mysql\x0d\x0ause mysql;\x0d\x0aupdate user set password=PASSWORD("new-password") where user="root";\x0d\x0aflush privileges;
phpmyadmin登陆出现无法登录MySQL是设置错误造成的,解决方法为:
1、首先打开运行命令窗口,可以通过按住windows键+R的组合键来实现,输入cmd,然后按下回车键。
2、这样就进入了doc的命令窗口。
3、切换到我们安装mysql的盘符。
4、然后再切换到mysql的bin目录。
5、输入mysql -uroot -p。
6、提示输入密码。
7、输入mysql密码之后,然后按下回车键,出现welcome的字样表示登陆成功。
MySQL有时候忘记了root密码是一件伤感的事。这里提供Windows 和 Linux 下的密码重置方法。
Windows:
1.以系统管理员身份登陆系统。
2.打开cmd-----net start 查看mysql是否启动。启动的话就停止net stop mysql.
3.我的mysql安装在d:\usr\local\mysql4\bin下。
4.跳过权限检查启动mysql.
d:\usr\local\mysql\bin\mysqld-nt --skip-grant-tables
5.重新打开cmd。进到d:\usr\local\mysql4\bin下:
d:\usr\local\mysql\bin\mysqladmin -u root flush-privileges password "newpassword"
d:\usr\local\mysql\bin\mysqladmin -u root -p shutdown 这句提示你重新输密码。
6.在cmd里net start mysql
7.搞定了。
Linux:
MySQL root密码的恢复方法之一
如果忘记了MySQL root密码,可以用以下方法重新设置:
1.KILL掉系统里的MySQL进程;
killall -TERM MySQLd
2.用以下命令启动MySQL,以不检查权限的方式启动;
safe_MySQLd --skip-grant-tables
3.然后用空密码方式使用root用户登录 MySQL;
MySQL -u root
4.修改root用户的密码;
MySQL update MySQL.user set password=PASSWORD('新密码') where User='root';
MySQL flush privileges;
MySQL quit
重新启动MySQL,就可以使用新密码登录了。