mysql使用root账户登录发现被拒绝!
[root@controller bin]# mysql -uroot -p000000
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
[root@controller bin]#
**
有两种可能一个是root密码不对还有一种的可能是root账户的权限被禁
第一步关闭mysql并且mysql 安全模式运行并跳过权限验证
[root@controller ~]# systemctl stop mariadb
[root@controller ~]# mysqld_safe --skip-grant-tables --skip-networking &
[2] 8024
[root@controller ~]# 200309 21:22:47 mysqld_safe Logging to '/var/log/mariadb/mariadb.log'.
200309 21:22:47 mysqld_safe A mysqld process already exists
[2]+ Exit 1 mysqld_safe --skip-grant-tables --skip-networking
[root@controller ~]#
第二步登录mysql mysql -uroot 不用加密码
[root@controller ~]# mysql -uroot
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 2
Server version: 10.1.17-MariaDB MariaDB Server
Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]>
第三步设置mysql密码保存退出
MariaDB [(none)]> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
MariaDB [mysql]> update user set password=PASSWORD("mynewpassword") where User='root';
Query OK, 4 rows affected (0.01 sec)
Rows matched: 4 Changed: 4 Warnings: 0
MariaDB [mysql]> flush privileges;
Query OK, 0 rows affected (0.00 sec)
MariaDB [mysql]> exit
Bye
[root@controller ~]#
第四步重启mysql若发现一直卡住没法启动则查看mysql的进程
[root@controller ~]# systemctl restart mariadb
^Z
[2]+ Stopped systemctl restart mariadb
[root@controller ~]# ps -ef|grep "mysql"
root 7361 7183 0 21:19 pts/5 00:00:00 /bin/sh /usr/bin/mysqld_safe --skip-grant-tables --skip-networking
mysql 7517 7361 0 21:19 pts/5 00:00:01 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --user=mysql --skip-grant-tables --skip-networking --log-error=/var/log/mariadb/mariadb.log --pid-file=/var/run/mariadb/mariadb.pid --socket=/var/lib/mysql/mysql.sock
mysql 9157 1 0 21:29 ? 00:00:00 /usr/libexec/mysqld --basedir=/usr
root 9542 7183 0 21:31 pts/5 00:00:00 grep --color=auto mysql
[root@controller ~]#
第五步删除mysql对应的进程kill
[root@controller ~]# kill 7517
[root@controller ~]# 200309 21:33:18 mysqld_safe mysqld from pid file /var/run/mariadb/mariadb.pid ended
[1]- Done mysqld_safe --skip-grant-tables --skip-networking
第六步重启
[root@controller ~]# systemctl restart mariadb
[root@controller ~]# mysql -uroot -pmynewpassword
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 2
Server version: 10.1.17-MariaDB MariaDB Server
Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]>