解决 mysql 本地无法登陆 | 便捷安装

327 阅读1分钟

解决步骤

  1. Open & Edit /etc/my.cnf
  2. Add skip-grant-tables under [mysqld]
  3. Restart Mysql
  4. You should be able to login to mysql now using the below command mysql -u root -p
  5. Run mysql> flush privileges;
  6. Set new password by ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword';
  7. Go back to /etc/my.cnfand remove/comment skip-grant-tables
  8. Restart Mysql
  9. 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