1、如果知道初始面密码则直接输入如下命令 后输入密码就可以直接登录mysql了
sudo mysql -u root -p
2、如果忘记了密码,则应该首先停止mysql服务
service mysql stop
3、修改mysqld.cnf中的配置,使用命令
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
在[mysqld]下添加配置语句:skip-grant-tables
修改后样式如下:
[mysqld]
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
lc-messages-dir = /usr/share/mysql
skip-external-locking
skip-grant-tables
4、再次登录mysql,输入mysql -u root -p,因为已经忽略密码校验,这时候密码随便输入就可以登录mysql,因此直接回车就可以登陆了
5、登录后,执行以下语句,注意将mypassword替换为自己的密码
update mysql.user set authentication_string=PASSWORD('mypassword'), plugin='mysql_native_password' where user='root';
flush privileges;
\q
6、再次打开mysqld.cnf文件,输入
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
删除上面添加的配置:skip-grant-tables
7、重启mysql,执行如下命令
sudo service mysql restart
8、最后使用新设置的密令再次登录就可以了