解决步骤
- Open & Edit
/etc/my.cnf
- Add
skip-grant-tables
under [mysqld] - Restart Mysql
- You should be able to login to mysql now using the below command
mysql -u root -p
- Run mysql>
flush privileges;
- Set new password by
ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword';
- Go back to
/etc/my.cnf
and remove/commentskip-grant-tables
- Restart Mysql
- Now you will be able to login with the new password
mysql -u root -p
便捷安装
yum -y install mysql
\ && yum -y install mysql-devel
\ && yum -y install wget
\ && wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
\ && rpm -ivh mysql-community-release-el7-5.noarch.rpm
\ && yum -y install mysql-community-server
# 设置mysql密码及开启远程连接
[root@localhost ~] service mysql start
# Redirecting to /bin/systemctl start mysql.service
[root@localhost ~] mysql -u root
# Welcome to the MySQL monitor. Commands end with ; or \g.
# Your MySQL connection id is 2
# Server version: 5.6.38 MySQL Community Server (GPL)
# Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.
# Oracle is a registered trademark of Oracle Corporation and/or its
# affiliates. Other names may be trademarks of their respective owners.
# Type 'help;'or'\h' for help. Type '\c' to clear the current input statement.
mysql> set password for 'root'@'localhost' =password('newpasswd');
# Query OK, 0 rows affected (0.00 sec)
mysql> grant all privileges on *.* to root@'%'identified by 'newpasswd';
# Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
# Query OK, 0 rows affected (0.00 sec)
mysql> quit
# Bye
# 防火墙关闭测试下
[root@localhost ~] systemctl stop firewalld.service
[root@localhost ~] mysql -V
# mysql Ver 14.14 Distrib 5.6.38, for Linux (x86_64) using EditLine wrapper
复制代码