打开服务器的时候 遇到这种连接不上mysql是什么情况
这个错误提示是确认账号密码
首先考虑的是密码是否正确;
第二个考虑的是账号是否存在,即你那个'root'@'localhost',因为没有账号存在也是报这个错误;
第三,如果你的程序连的不是本地mysql,那你的这个账号是肯定行不通的,因为'localhost'只允许本地访问,你可以添加一个'root'@'%'的管理员用户,当然也可以直接把'localhost'改成'%',改完刷新一下数据库就生效了
由于服务器没有对外开放mysql的默认端口3306导致
CnetOs7开启方式
2未设置远程用户访问权限导致
在服务器上连接mysql
3设置安全组
这样就OK了
mysql宕机主要有两个原因:
1内存被其它进程大量占用,或数据库本身数据量太大导致mysql宕机
2程序访问mysql后没有执行mysqlclose,大量占用资源导致宕机。
群里提出的这个问题主要是mysql55以上的,基本上不是mysql宕机。因为55以上的数据库会有个链接超时配置。
默认是28800秒也就是8个小时,会断开连接。
解决方案:
1修改mysql配置。
如果是linux服务器编辑mysqlcnf 执行vi /etc/mysqlcnf
找到[mysqld] 在底下添加
interactive_timeout=28800000
wait_timeout=28800000
多加了三个0 也就是8000个小时。基本就不用考虑连接超时
修改完配置后,记得重启mysql服务。
2程序方面。
以java程序为例(抱歉只会java)
打开Spring配置文件,修改applicationContextxml
在datasource bean底下添加
用来指定测试连接所使用的SQL语句。
如果测试发现连接已经close,那么将自动重建连接。
<property name="houseKeepingTestSql">
<value>SELECT 1</value>
</property>
用来指定在使用连接之前要进行测试。
<property name="testBeforeUse">
<value>true</value>
</property>
MySQL我用的是apt安装的,有很多问题,建议大家用二进制程序安装。
问题描述
在服务器上登录MySQL只能用本地的127001地址,用服务器本身地址会提示拒绝访问
尝试修改MySQL远程访问权限
修改后发现没有用,MySQL依然拒绝远程访问
查看3306端口
root@sfpql:~# netstat -an|grep 3306
修改MySQL服务地址:
尝试远程连接
telnet sfpql 3306
结语
MySQL远程连接不上是常见问题,一般设置好MySQL的远程访问权限就可以了。
apt安装的MySQL会自己将启动地址设置在本地,同时apt安装的MySQL的服务查看命令是 systemctl status mysql 其他安装方式的常看命令是 systemctl status mysqld
刚接触Mysql Workbench方面的知识时,总会碰到这样或那样的问题,那么今天就遇到了Mysql workbench连接不上Mysql 服务器的问题。连接时出现如图所示的界面:那么该怎么办呢?
单击电脑桌面上的“计算机”;
按鼠标右键并选择“管理”选项,便进入了计算机管理界面了;
在计算机管理界面找到并双击:服务和应用程序,如图所示
点击服务,再在右边的服务界面找到Mysql选项,如图所示
选中Mysql项并按鼠标右键,选择”重新启动“即可。
好了,Mysql重新启动了,基本就可以解决连接服务器的问题了。
是网站服务器的问题,不是你能解决的,mysql服务不能访问,说明
你访问的主机的数据库是用的Mysql,可能他们正在升级,所以先关掉了数据库服务,这个不是你电脑的问题是网站服务器的问题!
你还可以找一些稳定一点的网站。
1。改表法。
请使用mysql管理工具,如:SQLyog Enterprise
可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑使用mysql管理工具登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"
2 授权法。
A:你想mysql账户myuser使用密码mypassword从任何主机连接到mysql服务器的话,那就在mySQL命令行下输入:
GRANT ALL PRIVILEGES ON TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
若上面那条命令还没有奏效,那就使用下面的命令,一定成功!
如果你想允许想mysql账户myuser从ip为19216813的主机连接到mysql服务器,并使用mypassword作为密码,那就在mySQL命令行下输入:
GRANT ALL PRIVILEGES ON TO 'myuser'@'19216813' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
0条评论