python数据库-MySQL安装问题总结(48)
2019-07-24 09:02:04来源:博客园 阅读 ()
一、ERROR 1698(28000):Access denied for user root@localhost错误
我的操作系统是ubuntu:
我的MySQL版本是:
安装完成后,登录mysql的时候就出现了如下错误:
因为安装的过程中没让设置密码,可能密码为空,但无论如何都进不去mysql。那么该怎么做呢
第一步
在ubuntu的terminal(也即终端)上输入
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
进入到配置文件,然后在这个配置文件中的[mysqld]这一块中加入skip-grant-tables这句话。
作用:就是让你可以不用密码登录进去mysql。
保存:wq,退出。输入:service mysql restart,重新启动mysql。
第二步
在终端上输入mysql -u root -p,遇见输入密码的提示直接回车即可,进入mysql
然后分别执行下面四句话:
1 use mysql; 然后敲回车 2 update user set authentication_string=password("你的密码") where user="root"; 然后敲回车 3 flush privileges; 然后敲回车
4 quit;
第三步
重新进入到mysqld.cnf文件中去把刚开始加的skip-grant-tables这条语句给注释掉。
再返回终端输入mysql -u root -p,应该就可以进入数据库了。
二、ERROR 1524 (HY000): Plugin 'auth_socket' is not loaded
如果出现这个问题,还是需要像上个问题一样,先把MySQL设置成无密码状态,也就是把上个问题中的第三步注释的
skip-grant-tables
这句话在去掉注释,让它重新起效,并且还要重启MySQL服务
service mysql restart
起效后输入下面这两行命令
1、use mysql; 2、select user,plugin from user;
从图中可以看到在执行了select user,plugin from user;后,错误原因是因为plugin root的字段是auth_socket,那我们改掉它为下面的mysql_native_password就行了。输入:
update user set authentication_string=password("123456"),plugin='mysql_native_password' where user='root';
然后回车执行以下,再输入select user,plugin from user;回车,我们能看到root用户的字段改成功了。
最后quit退出。再把 skip-grant-tables这句话注释上
:
这个问题就解决了
三、ERROR 2003 - Can't connect to MySQL server on '192.168.100.109' (61 "Connection refused")
问题分析:
1、可能是网络连接问题。
解决方案:如果能ping 192.168.100.109,能ping通,则排除此情况。
2. 可能由于192.168.100.109主机上的my.cnf里配置了skip_networking。
如果配置了skip_networking,这就意味着MySQL只能通过本机Socket连接(socket连接也是本地连接的默认方式),放弃对TCP/IP的监听 当然也不让本地程序连接MySQL(Connector/只能通过TCP/IP来连接)。
解决方案:还是使用命令 sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf 进入到mysqld.cnf文件中,如果有skip_networking,注释掉就行了
3、可能由于192.168.100.109主机上的my.cnf里配置了bind_address=127.0.0.1,只允许本地socket连接
解决方案:也是使用命令 sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf 进入到mysqld.cnf文件中,如果有bind_address=127.0.0.1,注释掉就行了
4、还有可能是用户名和密码输入错误
解决方案:重新输入一下用户名和密码
5、还有可能是port端口的问题
解决方案:有可能192.168.100.109的主机上的MySQL port不是默认3306, 这样我远程连接时,没有指定--port,用的是3306, 而192.168.100.109上没有对3306进行监听。
四、ERROR 1045 - Access denied for user 'root'@'localhost' (using password: YES)
出现access denied的原因有如下可能:
- mysql的服务器停止
- 用户的端口号或者IP导致
- mysql的配置文件错误----my.ini等文件
- root用户的密码错误
1、若MySQL已经没有启动,重启MySQL服务器即可
2、若用户的端口号与IP(3306/3307)不一致:
3、要是mysql的配置文件错误,只需要将init文件停止,在重启一下即可
sudo /etc/init.d/mysql stop
sudo /etc/init.d/mysql start
4、还有就是密码错误,重新输入密码试试
五、ERROR 1130 (HY000): Host '192.168.100.102' is not allowed to connect to this MySQL server
问题原因:mysql服务器出于安全考虑,默认只允许本地登录数据库服务器。
问题解决:登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%",然后重启mysql这样就允许所有的远程机器进行访问了。
步骤1:修改mysql表
mysql -u root -p mysql>use mysql; mysql>update user set host = '%' where user = 'root'; mysql>flush privileges; mysql>select host, user from user; mysql>quit
步骤2:重启mysql
service mysql restart
这个问题就解决了
原文链接:https://www.cnblogs.com/Se7eN-HOU/p/11161053.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- MySQL性能优化的20条经验 2019-09-23
- 一份非常完整的MySQL规范 2019-09-17
- 数据库读写分离提高性能详解,原理是什么 2019-08-26
- 我们日常使用的数据库的数据都储存在哪里呢? 2019-08-23
- MySQL在并发场景下的问题及解决思路 2019-08-23
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash