2321212dd 发表于 2016-11-28 09:38:28

Mariadb的root密码忘记后的解决方法

环境背景:CentOS 7.2



一、编辑/usr/lib/systemd/system/mariadb.service 文件,在Service段中添加

1
2
3
4
5
6
7
8
9
10
11
12

Type=simple
User=mysql
Group=mysql
User=mysql
Group=mysql

ExecStartPre=/usr/libexec/mariadb-prepare-db-dir %n
# Note: we set --basedir to prevent probes that might trigger SELinux alarms,
# per bug #547485
#在Server段中的ExecStart出添加如下
ExecStart=/usr/bin/mysqld_safe --basedir=/usr --skip-grant-tables --skip-networking





二、键入systemctl daemon-reload使其立即生效


1
# systemctl daemon-reload





三、重新启动mariadb服务并使用mysql联入

1
2
3
4
5
6
7
8
9
10
11
# systemctl restart mariadb.service
# mysql
Welcome to the MariaDB monitor.Commands end with ; or \g.
Your MariaDB connection id is 2
Server version: 5.5.44-MariaDB MariaDB Server

Copyright (c) 2000, 2015, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]>





四、更改root用户的密码


1
2
3
4
5
6
MariaDB [(none)]> UPDATE mysql.user SET Password=PASSWORD('xiaoshui') WHERE user='root' and host='localhost';
Query OK, 0 rows affected (0.00 sec)
Rows matched: 1Changed: 0Warnings: 0

MariaDB [(none)]> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)





五、退出并关闭mariadb服务并把/usr/lib/systemd/system/mariadb.service文件中刚刚添加的那两行移除

1
2
ExecStart=/usr/bin/mysqld_safe --basedir=/usr
ExecStartPost=/usr/libexec/mariadb-wait-ready $MAINPID





六、启动mariadb服务,并使用新设置的密码连接

1
2
3
4
5
6
7
8
9
10
11
# mysql -u root -h localhost -p
Enter password:
Welcome to the MariaDB monitor.Commands end with ; or \g.
Your MariaDB connection id is 4
Server version: 5.5.44-MariaDB MariaDB Server

Copyright (c) 2000, 2015, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]>





                                                                                                      谢谢浏览...


页: [1]
查看完整版本: Mariadb的root密码忘记后的解决方法