1.进入mysql命令行
mysql -uroot -p
2.执行
set password for root@localhost = password('your_new_password');
#此方法请确认有root@localhost用户
#用户查看
SELECT user, host FROM mysql.user;
#如只是更新当前用户(这个方法肯定行)
SET PASSWORD = PASSWORD('your_new_password');
3.退出
quit;
[!CAUTION]
诺之前:
2.执行use mysql;
3.执行update user set host = '%' where user = 'root';
4.执行FLUSH PRIVILEGES;
登录为
[root@bogon ~]# mysql -uroot -h127.0.0.1
忘记密码(密码找回)
诺mysql装在Windows
1.打开cmd,停止mysql
net stop mysql
2.进入mysqld(CMD命令行窗口要转到mysql\bin目录)
mysqld --skip-grant-tables
3.新开CMD,进入mysql命令行
mysql -uroot
4.执行
use mysql;
5.修改密码
set password for root@localhost = password('your_password');
或者
SET PASSWORD = PASSWORD('your_new_password');
6.刷新权限表
flush privileges;
7.退出
quit;
[!CAUTION]
上面的停止mysql第二种方式
在任务管理器中找到MySQL对应的服务,然后将其停止
诺mysql装在Linux
1.停止mysql
service mysqld stop
#也有可能是像我这样(因为之前特地写了一个启动文件,这个我放到后面)
[root@bogon ~]# systemctl stop mysqld
2.修改
vim /etc/my.cnf
在mysqld下添加
[mysqld]
skip-grant-tables
3.重启
service mysqld start
#也有可能是像我这样(因为之前特地写了一个启动文件,这个我放到后面)
[root@bogon ~]# systemctl start mysqld
4.进入mysql
mysql -uroot
5.执行
use mysql;
6.修改密码
use mysql;
UPDATE user SET authentication_string=PASSWORD("your_new_password") WHERE User="root";
#mysql5.7以前的版本请使用(极为重要)
update user set password=password("your_new_password") where user="root";
#查看版本:
mysql --version
7.刷新权限表
flush privileges;
8.退出
quit;
9.停止mysql
service mysqld stop
#也有可能是像我这样(因为之前特地写了一个启动文件,这个我放到后面)
[root@bogon ~]# systemctl stop mysqld
10.删除( 注意,是删除skip-grant-tables 这一段)
vim /etc/my.cnf
[mysqld]
skip-grant-tables
11.重启mysql
service mysqld start
#也有可能是像我这样(因为之前特地写了一个启动文件,这个我放到后面)
[root@bogon ~]# systemctl restart mysqld
[!CAUTION]
第6步,不要两个都试,因为新建的列会扰乱密码导致登录不上
结尾systemctl为什么可以管理mysql附件
vim /usr/lib/systemd/system/mysqld.service
[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=https://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
ExecStart=/application/mysql/bin/mysqld --defaults-file=/etc/my.cnf
LimitNOFILE = 5000