mysql连接数据库失败,请确定数据库用户名,密码设置正确

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql连接数据库失败,请确定数据库用户名,密码设置正确相关的知识,希望对你有一定的参考价值。

mysql 连接数据库失败,请确定数据库用户名,密码设置正确
Can't connect to MySQL server on ’localhost’(10061)2003
那个大侠教我怎么解决呀
我就在服务器上装了个魔域SF 然后把那SF删了就变成这样了 是不是数据共享了?哪位大侠最好留个电话下来 我电话过去 也最好是浙江台州 也可以来我单位帮我搞下·····
汗。。。你服务开了没呀。。Can't connect to MySQL server on ’localhost’(10061)2003
就告诉你无法连接到 localhost(主机) 服务器开了
能不能详细点

现象
一线的工程师反映了一个奇怪的现象,刚刚从 MySQL 官网上下载了一个 MySQL 5.7.31。安装完成后,发现使用任何密码都能登陆 MySQL,修改密码也不管用,重新启动 MySQL 也不能解决。

分析
怀疑使用了 --skip-grant-tables 使用 mysqld --print-defaults 检查,没有发现。
检查登陆用户,都是 root@localhost,说明和 proxy user 没有关系。
使用 mysql --print-defaults 检查客户端是否设置默认的用户和密码,没有发现。
检查数据库中的用户和密码的相关字段:
发现一切都正常,再检查 plugin 字段,发现只有 root 用户是 auth_socket ,其它的用户都是 mysql_native_password,问题可能就出在这儿。

对 auth_socket 验证插件不了解,感觉是这个插件不安全,使用下面的命令修改后,问题解决:
update user set plugin="mysql_native_password" where user='root';
auth_socket 验证插件的使用场景
问题解决后,又仔细研究了一下 auth_socket 这个插件,发现这种验证方式有以下特点:
首先,这种验证方式不要求输入密码,即使输入了密码也不验证。这个特点让很多人觉得很不安全,实际仔细研究一下这种方式,发现还是相当安全的,因为它有另外两个限制;
只能用 UNIX 的 socket 方式登陆,这就保证了只能本地登陆,用户在使用这种登陆方式时已经通过了操作系统的安全验证;
操作系统的用户和 MySQL 数据库的用户名必须一致,例如你要登陆MySQL 的 root 用户,必须用操作系统的 root用户登陆。
auth_socket 这个插件因为有这些特点,它很适合我们在系统投产前进行安装调试的时候使用,而且也有相当的安全性,因为系统投产前通常经常同时使用操作系统的 root 用户和 MySQL 的 root 用户。当我们在系统投产后,操作系统的 root 用户和 MySQL 的 root 用户就不能随便使用了,这时可以换成其它的验证方式,可以使用下面的命令进行切换:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'test';
参考技术A 如果本地或网络服务器启动了的话,请尝试检查代码$conn=@connect("localhost","root","passowrd")or
die
("worng")
参考技术B Can't connect to MySQL server on ’localhost’(10061)
---------------------------
很常见的“10061”socket错误,请作如下排查:
1、请检查你的mysql服务是否已经启动(当然mysql已经安装且还存在啦)?
2、如果已经启动是否端口是默认的3306端口?
3、localhost是表示连接本地的,你确认你是在服务器本地连的吗?如果是,确定localhost是否存在域名解析的问题?或换ip 127.0.0.1来连看看?
参考技术C 你连接的是本地,,不是服务器,,’localhost’改为服务器IP 参考技术D 你先用试一下用命令行连数据库,看一下能不能数据库。

如果不行,你看进程里面有没有Mysql的进程。

如果是Mysql启动不了,就有点问题了。

WDCP打开网页时报错:无法连接mysql,请检查mysql是否已启动及用户密码是否配置正确

今天公司很久以前的一台WDCP集成的Web服务出现了问题,打开网页显示“无法连接mysql,请检查mysql是否已启动及用户密码是否配置正确”

????技术分享图片

?????????????????(上图为服务器故障时Web访问报错信息)

????

????在网上找了三个小时的资料,找到了很多遇到该问题的朋友,并且只要是数据库连接不正常的或者数据库无法正常启动的,全都会报这个错误,下面是我的解决方法:


1、检查服务运行状态

[[email protected] etc]# service mysqld status

?mysql is not running.

#mysql服务并未运行


[[email protected] etc]# service mysqld restart

?ERROR! MySQL manager or server PID file could not be found!

Starting MySQL. ERROR! Manager of pid-file quit without updating file.

#试图重启服务,结果报错


[[email protected] etc]# cat /www/wdlinux/mysql-5.1.69/var/WDCP.err

查看WDCP的错误日志


? ? 171209 16:10:02 mysqld_safe mysqld from pid file /www/wdlinux/mysql-5.1.69/var/WDCP.pid ended

????171209 16:12:25 mysqld_safe Starting mysqld daemon with databases from /www/wdlinux/mysql-5.1.69/var

????171209 16:12:25 [ERROR] /www/wdlinux/mysql-5.1.69/libexec/mysqld: unknown variable ‘innodb_additional_mem_pool_size=16M

????171209 16:12:25 [ERROR] Aborting

????#从日志看为止的innodb我觉定把innodb的选项注释掉看一下,结果重启服务报了一个新的错误。


????171209 16:10:02 mysqld_safe mysqld from pid file /www/wdlinux/mysql-5.1.69/var/WDCP.pid ended

????171209 16:12:25 mysqld_safe Starting mysqld daemon with databases from /www/wdlinux/mysql-5.1.69/var

????171209 16:12:25 [ERROR] /www/wdlinux/mysql-5.1.69/libexec/mysqld: unknown variable ‘innodb_additional_mem_pool_size=16M‘

????171209 16:12:25 [ERROR] Aborting

????

????171209 16:12:25 [Note] /www/wdlinux/mysql-5.1.69/libexec/mysqld: Shutdown complete

????

????171209 16:12:25 mysqld_safe mysqld from pid file /www/wdlinux/mysql-5.1.69/var/WDCP.pid ended

????171209 16:13:32 mysqld_safe Starting mysqld daemon with databases from /www/wdlinux/mysql-5.1.69/var

????171209 16:13:32 [ERROR] /www/wdlinux/mysql-5.1.69/libexec/mysqld: unknown variable ‘innodb_buffer_pool_size=2G

????171209 16:13:32 [ERROR] Aborting

????#还是和innodb有关系,决定吧所有的innodb都注销掉!!!? ??


????171209 16:13:32 [Note] /www/wdlinux/mysql-5.1.69/libexec/mysqld: Shutdown complete

????

????171209 16:13:32 mysqld_safe mysqld from pid file /www/wdlinux/mysql-5.1.69/var/WDCP.pid ended

????171209 16:14:34 mysqld_safe Starting mysqld daemon with databases from /www/wdlinux/mysql-5.1.69/var

????171209 16:14:35 [ERROR] /www/wdlinux/mysql-5.1.69/libexec/mysqld: unknown variable ‘innodb_buffer_pool_size=2G‘

????171209 16:14:35 [ERROR] Aborting

????

????171209 16:14:35 [Note] /www/wdlinux/mysql-5.1.69/libexec/mysqld: Shutdown complete

????

????171209 16:14:35 mysqld_safe mysqld from pid file /www/wdlinux/mysql-5.1.69/var/WDCP.pid ended


? ? #在/www/wdlinux/etc/my.cnf有关innodb的选项全部注释掉

????#innodb_buffer_pool_size = 2G

????#innodb_data_file_path = ibdata1:10M:autoextend

????#innodb_file_io_threads = 4

????#innodb_thread_concurrency = 16

????#innodb_flush_log_at_trx_commit = 1

????#innodb_log_buffer_size = 8M

????#innodb_log_file_size = 256M

????#innodb_log_files_in_group = 3

????#innodb_max_dirty_pages_pct = 90

????#innodb_lock_wait_timeout = 120


????启动mysql服务进行测试:

????

????[[email protected] ~]# service mysqld start

????Starting MySQL. SUCCESS!

? ? #mysql启动成功


????具体原因暂时还没找到,主要是因为这不是主要的业务系统,以及该系统是前期开发人员搭建的,所以存在一些问题,此文档仅作为简单记录,查出具体问题后会整理详细文档。

以上是关于mysql连接数据库失败,请确定数据库用户名,密码设置正确的主要内容,如果未能解决你的问题,请参考以下文章

数据库连接不成功,请检查配置!怎么办?怎么处理?

“连接数据库失败,数据库用户名或密码错误”?

如何用SQLyog实现远程连接MySQL

如何用sqlyog实现远程连接mysql

Mysql 数据库偶尔连接不上 怎么回事?

安装易优cms提示 数据库连接失败,请重新设定