myql Connect
mysql折腾笔记
经常吹嘘自己玩过各种数据库. redis, mysql, sqlite, mongodb..常用数据库都不在话下,不料今天却在远程连接mysql上栽了跟头,于是记一下这个教训
mysql默认是不开启远程连接的,要让mysql支持远程连接需要两个步骤
第一步
首先是打开/etc/mysql/my.cnf, 如果发现自己的mysql配置文件不是这个路径,强烈建议重装mysql(我就是因为装的mysql和别人不一样才鼓捣很久), 重装失败可以后面详解
将bind-address = 127.0.0.1那一行配置改为bind-address = 0.0.0.0
bind-address表示监听时绑定的IP地址,为什么要这么改呢?
因为网卡收到请求,会把每个socket的目标地址和端口解析出来,并对照进程监听的IP和端口,如果IP和端口吻合,就传给进程
端口我们都知道mysql是3306,错不了. 而IP默认是127.0.0.1,是一个环回地址,只有本机请求本机,目标地址才会是127.0.0.1,因此我们需要将绑定IP改为网卡地址, 也就是外网IP, 因为远程连接数据库目标IP肯定是公网IP. 不过还可以改成0.0.0.0,这样就表示监听所有IP, 只要端口一样, 网卡都会把请求传给进程
第二步
进入mysql
mysql -uroot -p, 输入密码
添加一个可以远程访问的用户
GRANT ALL PRIVILEGES ON *.* TO 'USERNAME'@'IP' IDENTIFIED BY 'PASSWORD';
FLUSH PRIVILEGES;
注意此处有三个变量, IP就是指远程client的ip地址,如果希望所有IP都可以访问, 就把IP改为%
重启mysql, service mysql restart
然后就可以通过navicat, 或者mysql --host ip地址 -uUSERNAME -p来访问了
如果你发现依然不能访问,首先确定是否打开了iptables(防火墙), (随便做个网页,用外网访问一下如果可以就不是iptables的问题)
这个时候就需要重装mysql了
千万不要以为精通mysql的安装(apt-get install mysql-server)就同样精通mysql的卸载了(apt-get remove mysql-server), (yum党退散
如果出现卸载不完全, 还出现了如下提示
Unable to set password for the MySQL “root” user An error occurred while setting the password for the MySQL administrative user. This may have happened because the account already has a password, or because of a communication problem with the MySQL server.
可以进行如下步骤:
dpkg --get-selections | grep mysql
libdbd-mysql-perl install
libmysqlclient18 install
mysql-client-5.5 install
mysql-client-core-5.5 install
mysql-common install
mysql-server install
mysql-server-5.5 install
mysql-server-core-5.5 install
把这些都删了
apt-get remove libdbd-mysql-perl libmysqlclient18 mysql-client-5.5 ... --purge
收尾清理垃圾
apt-get autoremove
apt-get autoclean
rm /etc/mysql/ -fr
rm /var/lib/mysql/ -fr
然后再执行
apt-get install mysql-server
就成功啦
myql Connect的更多相关文章
- Connect() 2016 大会的主题 ---微软大法好
文章首发于微信公众号"dotnet跨平台",欢迎关注,可以扫页面左面的二维码. 今年 Connect 大会的主题是 Big possibilities. Bold technolo ...
- IdentityServer4 使用OpenID Connect添加用户身份验证
使用IdentityServer4 实现OpenID Connect服务端,添加用户身份验证.客户端调用,实现授权. IdentityServer4 目前已更新至1.0 版,在之前的文章中有所介绍.I ...
- 2003-Can't connect to mysql server on localhost (10061)
mysql数据库出现2003-Can't connect to mysql server on localhost (10061)问题 解决办法:查看wampserver服务器是否启动,如果没有启动启 ...
- Error connecting to database [Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (13)]
参照 http://stackoverflow.com/questions/4448467/cant-connect-to-local-mysql-server-through-socket-var- ...
- HTTP Method详细解读(`GET` `HEAD` `POST` `OPTIONS` `PUT` `DELETE` `TRACE` `CONNECT`)
前言 HTTP Method的历史: HTTP 0.9 这个版本只有GET方法 HTTP 1.0 这个版本有GET HEAD POST这三个方法 HTTP 1.1 这个版本是当前版本,包含GET HE ...
- IdentityServer4 ASP.NET Core的OpenID Connect OAuth 2.0框架学习保护API
IdentityServer4 ASP.NET Core的OpenID Connect OAuth 2.0框架学习之保护API. 使用IdentityServer4 来实现使用客户端凭据保护ASP.N ...
- Connect to the DSP on C6A8168/DM8168/DM8148 using CCS
转自ti-wiki 这份wiki,我曾经就收藏过,但是没有加以重视,以至于绕了一大圈的ccs开发环境的配置,现在正式收藏于自己的博客中...总结良多啊 Connecting to DSP on C6 ...
- Action.c(58): Error -27796: Failed to connect to server "hostname"
分析: 因为负载生成器的性能太好发数据特别快,服务器响应也特别快,从而导致负载生成器的端口在没有timeout之前就全部占满了. 解决方案一: 在负载生成器的注册表HKEY_LOCAL_MACHI ...
- VNC connect:Connection refused(10061)
在Windows机器上使用VNC Viewer访问Linux服务器,有时候会遇到"connect:Connection refused(10061)"这个错误,导致这个错误出现的原 ...
随机推荐
- Android Support 包知识
Android Support Library包是一组代码库, 它提供了向后版本的framework API的兼容, 这些代码库实现的效果和只能在指定版本中使用的API一样好. 每个Support L ...
- React Native知识10-ListView组件
ListView - 一个核心组件,用于高效地显示一个可以垂直滚动的变化的数据列表.最基本的使用方式就是创建一个ListView.DataSource数据源,然后给它传递一个普通的数据数组,再使用数据 ...
- 巧用git bash
利用git base 实现的仿linux上面的命令,进行一些类linux的操作 .如 vim ls grep .. 例 : 利用grep递归查找当前文件夹中包含php5apache字样的文件
- javaweb项目jsp跳转servlet Error instantiating servlet class 问题
问题: HTTP Status 500 - Error instantiating servlet class RecommenderServlet type Exception report mes ...
- MySQL 索引
MySQL索引的建立对于MySQL的高效运行是很重要的,索引可以大大提高MySQL的检索速度. 打个比方,如果合理的设计且使用索引的MySQL是一辆兰博基尼的话,那么没有设计和使用索引的MySQL就是 ...
- 烂泥:利用awstats分析nginx日志
本文由ilanniweb提供友情赞助,首发于烂泥行天下 想要获得更多的文章,可以关注我的微信ilanniweb 昨天把nginx的日志进行了切割,关于如何切割nginx日志,可以查看<烂泥:切割 ...
- GDB 完全教程
一.简介 GDB是一个功能强大的调试器,它是一个自由软件,能够用在许多UNIX平台上.它同时也是Linux系统中的默认调试器.GDB已被移植到许多其他的计算机平台上,并且能够用于调试嵌入式实时系统.一 ...
- [转]OAuth 2.0 - Authorization Code授权方式详解
本文转自:http://www.cnblogs.com/highend/archive/2012/07/06/oautn2_authorization_code.html I:OAuth 2.0 开发 ...
- Linux多线程学习总结
线程是程序中完成一个独立任务的完整执行序列,即一个可调度的实体:进程相当于运行中程序的一种抽象.根据运行环境的调度者的身份,线程可分为内核线程和用户线程.内核线程,在有的系统上称为LWP(Light ...
- Hbase学习连接
http://blog.csdn.net/baolibin528/article/details/43672131 http://m.blog.csdn.net/article/details?id= ...