原文 http://www.php-note.com/article/detail/383 举个例子来说: 有个文章表里面有个type字段,它存储的是文章类型,有 1头条.2推荐.3热点.4图文...1,12,13 等等 . 现在有篇文章他既是 头条,又是热点,还是图文, type中以 1,3,4 的格式存储. 那我们如何用sql查找所有type中有4图文标准的文章呢?? 这就要我们的 find_in_set 出马的时候到了. 以下为引用的内容: select * from article wh…
mysql有个表的字段的存储是以逗号分隔的,如domain字段login.s01.yy.com,s01.yy.com,s02.yy.com.现在要查找s01.yy.com这个.我们用like查找好像不是非常准确.那就试试mysql中的find_in_set函数吧. SELECT find_in_set('a','a,b,c,d') as test…
MySQL- IN , FIND_IN_SET , LIKE SELECT * FROM test where area IN (1, 2, 3); SELECT * FROM test where FIND_IN_SET('1', area); SELECT * FROM test where area LIKE '%,1,%'; LIKE 是广泛的模糊匹配,字符串中没有分隔符Find_IN_SET 是精确匹配,字段值以英文”,”分隔Find_IN_SET 查询的结果要小于 LIKE 查询的结…
MySql 中的 FIND_IN_SET 的使用和相关问题 QQ 群里有人讨论如果在 category_ids 中打开 12 的分类,而 category_ids 中的 ID 是以 逗号分开的. 使用 LIKE 一定是不行的. 于是我找了一下,发一个 FIND_IN_SET 的函数1,可以在 SQL 中找到相关对应的 ID. SELECT * FROM `fa_test` WHERE FIND_IN_SET(12,`category_ids` ) LIMIT 0, 1000 而且 FastAdm…
Mysql查询优化汇总 order by优化例子,group by优化例子,limit优化例子,优化建议 索引 索引是一种存储引擎快速查询记录的一种数据结构. 注意 MYSQL一次查询只能使用一个索引,这个说法是不正确的,MYSQL会在两个索引列中,使用OR查询的时候,进行索引合并(index_merge;Using union(col1,col2);),但这种建立索引会使得索引数据的膨胀,不建议使用.如果对多个字段使用索引,建立使用复合索引.   冗余和重复索引 Mysql需要单独维护重复的索…
有时候,当我们使用"mysql"."mysqladmin"."mysqldump"等命令管理数据库时,服务器抛出类似如下错误: 一.错误现场还原:下面我们通过三种方式来连接,然后观察提示的错误信息: 1.直接使用"mysql"命令,不带主机名参数: 2.使用带了主机名"localhost"参数的"mysql -h localhost"命令: 3.使用带了主机名"127.0.0.…
从供应商手中接手一个云平台(Windwos Azure)上的MySQL数据库,登录数据库时遇到错误: $mysql -uroot -p Enter password: ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) 检查配置文件/etc/my.cnf发现供应商修改了mysql数据库的数据存储目录,另外mysql.sock文件位置也变更为了/…
之前装了mysql,今天打开mysql的时候报了个Can't connect to local MySQL server through socket '/var/lib /mysql/mysql.sock' 这样的错误 在网上查了一下貌似要改什么mysql.sock的配置路径 我想了一下自己都没有改过这个路径 应该不是这个问题,突然发现mysql服务器没有打开于是在偏好设置里面看了一下果然状态是红色的,于是在偏好设置里面start了一下,果然就好了. 如果不是因为没有start的话那就去配置m…
服务器上的mysql默认数据目录为/var/lib/mysql/,同时服务器的/空间不是很大,而近期又有大量的日志需要导入进行分析,时常搞得/的空间捉襟见肘,晚上一狠心就想把mysql的数据目录转移到另外一块硬盘/data中. 于是关闭mysql服务: service mysqld stop 转移mysql数据目录 mv /var/lib/mysql/ /data/ 编辑my.cnf vi /etc/my.cnf 修改其中的datadir和socket到新的路径 [mysqld] datadir…
ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2) 1.先查看 /etc/rc.d/init.d/mysqld status 看看m y s q l 是否已经启动.另外看看是不是权限问题. 2.确定你的mysql.sock是不是在那个位置,mysql -u 你的mysql用户名 -p -S /var/lib/mysql/mysql.sock 3…
MySQL错误整理: 错误一: ERROR (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) 2.解决方法(摘自:http://wenda.haosou.com/q/1364099334067193?src=150) .先查看 /etc/rc.d/init.d/mysqld status 看看mysql是否已经启动. 另外看看是不是权限问题. .确定你的mysql…
启动mysql 报错: ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2) 1.先查看 /etc/rc.d/init.d/mysqld status 看看m y s q l 是否已经启动.另外看看是不是权限问题. 2.确定你的mysql.sock是不是在那个位置,mysql -u 你的mysql用户名 -p -S /var/lib/mysql/…
Can 't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock '(2) ; 如果你在网上search这个错误的解决方案,你会看到很多解决办法和错误原因,总结为一条就是因为各种原因找不到mysql.sock这个文件,我是整个系统目录中都搜索不到这个文件.我是由于升级MAC系统导致mysql不能正常使用,提示如title所示错误,各种解决无果,怀疑是mysql下面文件的权限问题.折腾了一番之后决定重装My…
今天在搬瓦工上使用mysql 命令行,总报一个这样的错:Can't connect to local MySQL server through socket '/xxxxx/mysql.sock',一开始很郁闷,回来经过查找资料,解决了这个问题. 当在本地系统连接到mysql服务器的时候,mysql 客户端通过一个叫做"socket"的本地文件进行连接,而不是通过本地环回接口(loopback)127.0.0.1进行连接.这个文件,默认情况下,客户端会去/var/lib/mysql/m…
1.修改MySQL的登录设置: vi /etc/my.cnf 在[mysqld]的段中加上一句:skip-grant-tables 保存并且退出vi. 2.重新启动mysqld # /etc/init.d/mysqld restart ( service mysqld restart ) 3.登录并修改MySQL的root密码 mysql> USE mysql ; mysql> UPDATE user SET Password = password ( 'new-password' ) WHE…
错误原因:/var/lib/mysql目录中socket文件不存在.连接mysql服务器有两种方式:tcp连接,通过socket文件连接.通过socket文件,启动mysql服务,mysql服务会自动生成一个sock文件,生成的sock文件默认放在 --datadir=/var/lib/mysql,mysql默认从/var/lib/mysql目录读取sock文件. 解决办法:1.看看/var/lib/mysql/mysql 有没有mysql.sock文件2.没有mysql.sock,重启mysq…
慢查询日志 一篇好文章,学习保存.... 打开慢查询日志 慢查询日志,顾名思义就是记录执行比较慢查询的日志. 查看是否开启慢查询日志: show variables like '%slow%'; 打开慢查询日志.修改MySQL的配置文件my.cn一般是在/etc目录下面,加上下面三行配置后重启MySQL. slow_query_log = ON slow_launch_time = 2 slow_query_log_file = /usr/local/mysql/data/slow_query.…
mariadb同样适用 首先检查mysql状态 linux-6yo1:~ # /etc/init.d/mysql status Checking for service MySQL: unused mysql.service - LSB: Start the MySQL database server Loaded: loaded (/etc/init.d/mysql) Active: inactive (dead) CGroup: name=systemd:/system/mysql.serv…
部署mysql版本信息 version: 5.6.21 具体现象: mysql服务能够正常启动如下: [root@localhost ~]# service mysqld restart Shutting down MySQL.. SUCCESS! Starting MySQL.. SUCCESS! 登陆mysql库出现如下错误: [root@localhost ~]# mysql ERROR 2002 (HY000): Can't connect to local MySQL server t…
1.kill掉列出的进程: [root@localhost mysql]# ps -a | grep -i mysql pts/ :: mysqld_safe pts/ :: mysqld <defunct> [root@localhost mysql]# kill - [root@localhost mysql]# kill - 2.重启启动mysql [root@localhost mysql]# service mysql start Starting MySQL.. [确定] [roo…
有过MySQL运维的人应该都清楚,线上的MySQL一般都採用源代码编译,由于这样才干够依据企业的各自须要选择要编译的功能,尽管MySQL的源代码编译挺简单的,可是试想一下,假设你有几百台server同一时候要安装MySQL,难道你还一台台去手动编译.编写配置文件吗?这显然太低效了,本文讨论MySQL的自己主动化安装部署. 1.制作符合自己需求的RPM包 我们要依据MySQL的源代码编译符合企业需求的RPM包,源代码获取命令例如以下: wget http://downloads.mysql.com…
登陆mysql的时候,出现了这个问题: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (111) 解决办法: 1.先删除mysql.sock cd /var/lib/mysqlmv  mysql.sock  mysql.sock.bak 2.再次登陆 mysql -uroot -p123456 会出现下面的问题: 报了:Can't connect to local MySQL serv…
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) 据说这个问题的原因很多,当然,我自己这个问题我是清楚的,就是mysql.sock的位置所致,一个是PHP要求的,一个是MYSQLD定义的,一个是MY.CONF指定的...SO.... 暂时不能统一的话,用软链接LN -S命令解决吧.. 方案5      摘要:解决不能通过mysql.sock连…
MySQL :: MySQL 5.0 Reference Manual :: 14.4 The MEMORY (HEAP) Storage Engine The MEMORY (HEAP) Storage Engine…
在连接数据库时,报这个错误,是/var/lib/mysql/ 目录下没有mysql.sock文件,在服务器搜索myslq.sock文件,我的是在/tmp/mysql.sock 解决方法是加一个软链: ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock 搞定,收工!…
问题描述: 使用mysql -uroot -p登录出现找不到 /var/lib/mysql/mysql.sock或者被使用的问题. 可以用如下命令登录:mysql -p --socket=/tmp/mysql.sock 解决方法: 1.大多数mysql都是rpm方式安装的.它会自动寻找/var/lib/mysql/mysql.sock这个文件. 检查mysql.sock的位置. 通过/etc/my.cnf中的socket的字段. 如果socket如下所示: socket=/tmp/mysql.s…
在linux上新安装的mysql数据库远程连接速度很慢,用Navicate可以正常连接但是时间很长:使用toad连接提示Mysql mysql lost connection to server during query.通过百度使用以下方案,使用后Navicate连接速度明显加快,toad可以正常连接速度也很快. 方案1.在mysql配置文件[myslqd]下面添加一行设置skip-name-resolve.需要重启mysql服务. ps.度娘还告诉了一些其他方案,没有尝试,在此处列出来后续如…
刚刚遇到这个报错,我无语了,我这么个菜逼,咋解决,还好师兄(付付)解决了,付付真棒,在此记录一下,以供学习 Can 't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock '(2) "; 1.查日志(首先还是看error.log),我看了一遍,继续急,师兄看了一遍   2. can't create /write to file 'tmp'  ,fk,就是/tmp的权限问题,害我干着急   3.报这个错…
此种解决方案使用场景: 1,mysql单独可以启动而且远程工具也可以连接 2,php无法连接. 3,find / -name mysql.sock 可以找到文件路径 4,报错 Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) 只需如下操作: 第一步:find / -name mysql.sock 我的如下 :   第二步:创建报错目录 mkdir -p  /var/lib/mysq…
之前在安装天兔数据库监控工具lepus的时候,运行时一直报perl: symbol lookup error: /usr/local/lib64/perl5/auto/DBD/mysql/mysql.so: undefined symbol: mysql_init. 自己检查了下perl下是有mysql模块的,而且mysql.so文件也存在,mysql_init在mysql.so也存在,后来才发现自己安装了两个perl. 1 问题原因:系统中存在多个perl[/usr/local/lib64/p…