解决阿里云登录mysql出现的1045错误

1.centos 系统中使用yum工具安装 mysql.

[root@localhost ~]#yum install -y mysql

2.yum install -y mysql后,启动mysql报错如下

ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2)

解决办法:缺少组件,安装mysql-server包。

3.安装组件mysql-server

[root@localhost ~]#yum install -y mysql-server

4.启动mysql

[root@localhost ~]#service mysqld start

5.使用mysql报错

[root@localhost ~]# mysql

ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password: NO)

6.报错解决办法

(1)service mysqld stop

(2)/usr/bin/mysqld_safe --skip-grant-tables

(3)另外开个SSH连接
[root@localhost ~]# mysql
mysql> GRANT ALL PRIVILEGES ON . TO ‘root’@’%’ IDENTIFIED BY ‘123456’ WITH GRANT OPTION;
mysql>use mysql
mysql>update user set password=password(“123456”) where user=“root”;
mysql>flush privileges;
mysql>exit

如果出现错误

mysql> GRANT ALL PRIVILEGES ON . TO root@"%" IDENTIFIED BY “root”;
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement

解决办法:先输入flush privileges; 再执行 GRANT ALL PRIVILEGES ON . TO root@"%" IDENTIFIED BY “root”;其他步骤不要忘记。

(4)[root@localhost ~]#pkill -KILL -t pts/0 可将pts为0的**用户(之前运行mysqld_safe的用户 窗口)强制踢出
(5)正常启动 mysql:service mysqld start

如果没启动mysqld服务就使用mysql,会报错:

[root@localhost ~]# mysql -u root -p
Enter password:
ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (111)

7.成功进入mysql

[root@localhost ~]# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 5
Server version: 5.1.73 Source distribution

Copyright © 2000, 2013, 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> show databases;
±---------------------+
| Database |
±---------------------+
| information_schema |
| dbname |
| mysql |
| test |
±---------------------+
4 rows in set (0.00 sec)

mysql>

安全提示:

GRANT ALL PRIVILEGES ON . TO root@"%" IDENTIFIED BY “root”;

这里最后要做一下IP或网段的限制,否则有安全隐患。

本文转自 枫叶云 51CTO博客,原文链接:http://blog.51cto.com/fengyunshan911/1747502

你可能感兴趣的:(解决阿里云登录mysql出现的1045错误)