博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MySQL使用总结(持续更新中 …)
阅读量:7218 次
发布时间:2019-06-29

本文共 987 字,大约阅读时间需要 3 分钟。

本文目的

使用mysql遇到并解决了一些问题,在这里记录与分享。

 

问题1:Linux源代码安装mysql时,默认不安装innodb存储引擎,需要手动安装

如果忘记手动安装innodb,那么任何表创建时,如果存储引擎指定为innodb,mysql会默认选择myisam作为存储引擎,并且不报错也不警告,这样就有可能将问题掩饰了。因为有些业务逻辑,可能是依赖外键约束实现的,myisam存储引擎不支持外键约束,那么这些业务逻辑实现起来就会有问题。

手动安装innodb参考链接:

 

问题2:mysqldump导出的sql文件是按照表的字母顺序排序而不是依赖关系排序

由于按照字母顺序排序,很容易破环数据库表之间原有的依赖顺序,那么在导入数据时会破坏外键依赖约束而报错。所以,在导入数据时,需要关闭外键约束,导入完毕后再开启。这样导入的速度也会更快。如下面的列子:

 

set FOREIGN_KEY = 0; // close foreign key constraint// import your dataset FOREIGN_KEY = 1;// open foreign key constraint

此问题解答参考链接:

 

问题3:mysql全文检索不支持特殊字符,如“C++”,“C#”

根据官方论坛解释,mysql全文检索不支持特殊字符的索引,可以参考下面两个链接的内容:

  
解决方案:
1 搜索和检索时,对特殊字符转换成可以作为缩影的字符串,如“+”转成”_plus“等。工作量较大
2 将ft_min_word_len设置为1,然后修复索引,参见 。这样通过检索”C“就可以检索到”C#“和”C++“,工作量较小,但是结果不准确。
 
问题4:Can't connect to local MySQL server through socket '/tmp/mysql.sock'
原因:由于启用了另一个mysqld实例,但是配置没有写正确,导致对原来的mysqld实例造成了影响
解决方法:找到mysqld(我的是/etc/init.d/init.d/mysqld),kill掉当前所有myslqd进程,启动mysqld,问题解决!

转载于:https://www.cnblogs.com/bourneli/archive/2012/10/09/2716978.html

你可能感兴趣的文章
Silverlight LoaderException错误
查看>>
qt5.4.1的imx6编译
查看>>
我的window10
查看>>
【转载】jQuery的.live()和.die()
查看>>
函数式编程--函数式接口
查看>>
python--常用模块calendar
查看>>
register form
查看>>
Java中的clone
查看>>
Lucene基础(2)
查看>>
Oracle 存储过程
查看>>
java基础 静态 static 问在多态中,子类静态方法覆盖父类静态方法时,父类引用调用的是哪个方法?...
查看>>
FlasCC发布说明
查看>>
如何在macOS Sierra中运行CORE Keygen破解程序
查看>>
终极解决方案:windows10资源管理器假死
查看>>
【java】一维数组循环位移方阵
查看>>
Essential Studio for mobile MVC中创建Razor应用程序平台教程
查看>>
java主函数的含义
查看>>
中国大学MOOC —— 学习笔记(四)
查看>>
访问,ringbtn,
查看>>
致橡树
查看>>