这里有两种方式实现修改mariadb root密码。
mariadb版本:Server version: 10.3.10-MariaDB MariaDB Server
服务器:CentOS Linux release 7.5.1804 (Core)
方式1
1.查看mysql版本
mysql --version
如果是mysql输出结果大概为:
mysql Ver 8.0.13 for Linux on x86_64 (MySQL Community Server - GPL)
如果是MariaDB大概为:
mysql Ver 15.1 Distrib 5.5.52-MariaDB, for Linux (x86_64) using readline 5.1
2.停止数据库服务
mysql:
sudo systemctl stop mysql
MariaDB:
sudo systemctl stop mariadb
3.使用非权限检查模式启动数据库服务
启动:
sudo mysqld_safe --skip-grant-tables --skip-networking &
无验证模式登录:
mysql -u root
4.修改密码
现在还无法使用ALTER USER命令修改密码,因为grant tables还没有重载。 使用FLUSH PRIVILEGES重载grant tables。
mysql > FLUSH PRIVILEGES;
然后修改密码。
MYSQL版本为MySQL 5.7.6或更新的版本,以及MariaDB版本为MariaDB 10.1.20或更新的版本,使用如下命令:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
MYSQL版本为MySQL 5.7.5或更老的版本,以及MariaDB版本为MariaDB 10.1.20或更老的版本,使用如下命令:
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('new_password');
如果ALTER USER不起作用,可以使用UPDATE mysql.user SET authentication_string = PASSWORD('new_password') WHERE User = 'root' AND Host = 'localhost';,然后重载grant tables。
5.修改密码
1)关掉进程
关掉进程,mysql对应命令:
$ sudo kill `cat /var/run/mysqld/mysqld.pid`
关掉进程,MariaDB对应命令:
$ sudo kill `/var/run/mariadb/mariadb.pid`
2)重启服务
MYSQL使用systemctl重启服务:
$ sudo systemctl start mysql
MariaDB使用systemctl重启服务:
$ sudo systemctl start mariadb
6.使用新密码登录
$ mysql -u root -p
方式2
标签:MariaDB,CentOS,sudo,版本,mysql,mariadb,root
来源: https://www.cnblogs.com/cobcmw/p/12640696.html