二、客户端不能和进程 mysqld 通信如果 MySQL 服务器上的 mysqld 进程运行正常,我们再看看客户端能不能和 mysqld 进行通信,使用下面的命令进行网络连通的测试:telnet localhost 3306
如果本地能通,再到客户端的机器上把 localhost 换成 MySQL 服务器的 ip 地址进行测试。如果不能通,通常有两种原因,一种原因是 OS 或网络的问题,或者是防火墙;另一种原因是 mysqld 自身根本没有侦听客户端的连接请求, mysqld 启动后对于客户端的侦听是分三种情况。
第一种情况
是使用参数 --skip-networking 跳过侦听客户端的网络连接,用下面的命令我们可以看到 MySQL 根本没有侦听 3306 端口。
第二种情况
使用参数 --bind-address 后面增加对客户端访问 IP 地址的限制,例如只侦听本地的连接
三、账户密码的问题最后一种情况是账户密码的问题,应付这种情况我们有个有力的工具就是查看 MySQL 的 error log, error log 记载信息的详细程度上由参数 --log-error-verbosity 进行控制的
你创建账号的时候就可以限制在不允许外部登陆。每个数据库的 *** 作方法不同
mysql:用root账号登陆,然后创建账号的时候赋予权限指定本机localhost
create user 'admin'@'localhost' identified by '123456'
mssql:方法一:用防火墙,阻止对外服务,主要禁止1433端口的联入,并把它放到防火墙的规则的最前面。
方法二:关闭sql server2005 对外服务:
◆1.指向“开始->程序->Microsoft SQL Server 2005->配置工具->SQL Server 外围应用配置器”
◆2.在“SQL Server 2005 外围应用配置器”页, 单击“服务和连接的外围应用配置器”
◆3.然后单击展开“database engine"(数据库引擎), 选中“远程连接”,在右边选中“仅本地连接”。 单击“应用”,您会看到下消息: “直到重新启动数据库引擎服务后,对连接设置所做的更改才会生效。”,单击“确定”按钮返回。
◆4.展开“数据库引擎”, 选中“服务”,在右边单击“停止”,等到 MSSQLSERVER 服务停止,然后单击“启动”,重新启动MSSQLSERVER 服务。
错误1045(28000):用户'root'@'localhost'(使用密码:YES)拒绝访问
首先解析此英文:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES);解析的地方有两处:①Access denied(拒绝访问);②using password:NO/YES
出现access denied的原因有如下可能:
1)mysql的服务器停止
2)用户的端口号或者IP导致
3)mysql的配置文件错误----my.ini等文件
4)root用户的密码错误
若MySQL已经没有启动,重启MySQL服务器:net start mysql
若用户的端口号与IP(3306/3307)不一致,打开my.ini文件进行编辑。全部编辑替换为: port=X
my.ini文件误输入无效内容,不知道到何处。复制替换该文件;有人已经对my.ini文件进行解释以及注释
root用户密码错误, 解决方案见下文
出现 using password的原因如下是:
不键入密码:
错误的密码:
解决方案:
到安装的MySQL的目录下,找my.ini文件;
在[mysqld]后添加skip-grant-tables(使用 set password for设置密码无效,且此后登录无需键入密码)
skip-grant-tables #在my.ini,[mysqld]下添加一行,使其登录时跳过权限检查
尽量少 *** 作
重启MySQL服务器。
登录mysql,键入mysql –uroot –p;直接回车(Enter)
键入无效set password for ‘root’@‘localhost’=password(‘123456’)
在my.ini文件添加从此后无需键入密码
再把my.ini的skip-grant-tables删除,然后重启MySQL服务器:net stop mysql net start mysql
再次进行设置密码:set password for ‘root’@‘localhost’=password(‘123456’)
设置密码成功。。。
注:skip-name-resolv #禁止MySQL对外部连接进行DNS解析,使用这一选项可以消除MySQL进行DNS解析的时候。但是需要注意的是,如果开启该选项,则所有远程主机连接授权都要使用IP地址方式了,否则MySQL将无法正常处理连接请求!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)