我在这里使用的是centos7
- 首先关闭mysql服务
service mariadb stop
- 修改配置文件跳过密码
vim /etc/my.cnf
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
symbolic-links=0
skip-grant-tables #在mysqld下添加skip-grant-tables
保存退出
- 开启mysql服务,就可以无密码打开mysql
service mariadb start
mysql
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 2
Server version: 5.5.65-MariaDB MariaDB Server
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]>
- 修改密码
MariaDB [(none)]> use mysql #选中数据库,否则会出现No database selected
MariaDB [mysql]> update user set password=password('new_password') where user='root';
MariaDB [mysql]> flush privileges; #刷新
- 退出mysql,改回原配置文件,重启MySQL
- 然后运行mysql -u root -p new_password就可以了