标签: mysql-5.6

MySQL 5.6全文搜索与ElasticSearch for ASP.NET 4.5 Web App

我正在ASP.NET 4.5 C#中构建一个Web应用程序.我的应用程序将在很大程度上依赖于搜索功能.我正在为我的项目寻找一个高性能的搜索解决方案.我正在研究一种高效/快速且易于实施的方法.

经过一些解决方案后,我发现ElasticSearch提供了出色的搜索功能,如果我决定在那里部署我的项目,它也会得到Amazon Web Services的支持.

但是,我已经读过MySQL 5.6现在具有InnoDB表的全文搜索功能.我想知道每种方法的不同,缺点和优点,以便决定在我的下一个项目中使用哪一种方法.

我的主要目标是:能够对我的数据库进行非常快速的搜索,并享受自然语言搜索,评分等的好处.对于我的可搜索文本字段,我实际上会有非常小的100个字符的文本字段.

我的问题摘要:

  1. MySQL 5.6全文搜索和ElasticSearch之间的基本区别是什么?(的优点和缺点)
  2. 使用MySQL全文搜索,我是否需要将搜索索引/功能与数据库分开(例如,使用ElasticSearch我使用的ELasticSearch服务器可以部署在不同的服务器上.我想知道它是否与MySQL Full一样文字搜索呢?
  3. 哪一个更容易实现?
  4. 在ASP.NET项目中使用它们是否有任何优点(如支持的客户端库等)

谢谢.

mysql asp.net full-text-search elasticsearch mysql-5.6

3
推荐指数
1
解决办法
4181
查看次数

对my.cnf的更改不生效(Ubuntu 16.04,mysql 5.6)

我对my.cnf所做的更改似乎对mysql环境没有任何影响.这里是发生了什么的总结......

我在Ubuntu 16.04上安装了mysql 5.7但后来意识到由于不兼容问题我需要降级到mysql 5.6.

我apt清除了相关的应用程序,然后删除了/ etc/mysql和/ var/lib/mysql中的所有剩余目录

然后我安装了mysql-5.6(服务器和客户端)和相关的软件包.

我能够从运行mysql 5.6的服务器从转储加载一个数据库但是当我尝试从同一服务器的第二个转储加载第二个数据库时,我收到此错误:

ERROR 2006 (HY000) at line 1721: MySQL server has gone away
Run Code Online (Sandbox Code Playgroud)

当我用Google搜索时,我看到结果说要通过my.cnf文件设置各种选项.

当我跑...

updatedb && locate my.cnf
Run Code Online (Sandbox Code Playgroud)

...我只看到四个结果,这些结果都链接回同一个文件:/etc/mysql/my.cnf.fallback.例如/etc/mysql/my.cnf.fallback == /etc/mysql/my.cnf

根主目录或用户的主目录中没有.my.cnf文件.我把一个拼写错误输入my.cnf文件并重新加载mysql只是为了查看预期的错误并知道文件正在加载.然后我删除了错误的代码并添加了以下内容:

[mysqld]
max_allowed_packet=1073741824
Run Code Online (Sandbox Code Playgroud)

然后我通过各种方式运行重新加载mysql:

service mysql restart
Run Code Online (Sandbox Code Playgroud)

要么

service mysql stop
service mysql start
Run Code Online (Sandbox Code Playgroud)

要么

/etc/init.d/mysql stop
/etc/init.d/mysql start
Run Code Online (Sandbox Code Playgroud)

然后我继续得到这个默认值,表明它没有从my.cnf设置:

mysql> SHOW VARIABLES LIKE 'max_allowed_packet';
+--------------------+---------+
| Variable_name      | Value   |
+--------------------+---------+
| max_allowed_packet | 4194304 |
+--------------------+---------+
Run Code Online (Sandbox Code Playgroud)

如果我这样做:

mysql> SET GLOBAL max_allowed_packet=1073741824;
Run Code Online (Sandbox Code Playgroud)

并注销并返回到mysql客户端,我看到了正确的值:

mysql> SHOW VARIABLES LIKE 'max_allowed_packet'; …
Run Code Online (Sandbox Code Playgroud)

mysql my.cnf mysql-5.6 ubuntu-16.04

3
推荐指数
2
解决办法
1万
查看次数

如何在 MySQL 5.6 中获取大写字母的表名

我想在 MySQL 5.6 版本中创建名称以大写字母开头的表。在5.0版本中,我们可以lower_case_table_names=0在my.ini文件中使用并重新启动MySQL,它就可以工作了。

但在 5.6 版本中我无法让它工作。

database-create mysql-5.6

2
推荐指数
1
解决办法
1万
查看次数

更改"选项文件"my.ini的MySQL路径

我已将MySQL服务器从5.0升级到5.6.

除了选项文件之外,一切都很好用.

当我尝试通过Workbench 6.1创建一个新的my.ini文件时,系统说它无法在Program Files/MySQL/MySQL Server 5.0下创建一个my.ini文件

我已经卸载了5.0,现在我想告诉系统在5.6文件夹上工作.

进入"管理 - 服务器状态"页面时,我可以看到所有内容都定义为5.6文件夹.

我该怎么办?

提前致谢

mysql mysql-5.6

2
推荐指数
1
解决办法
8084
查看次数

表MYSQL 5.6.10中的最大分区数

我想在我的一个表上做一个范围分区,这将是范围分区.我想知道我们在表中可以拥有的最大分区数是多少.我正在运行MYSQL 5.6.10.

理想情况下,我希望创建大约8000个分区.也有人可以建议,如果这么多分区会影响性能或某些方式伤害数据库.我也在用innodb_file_per_table=ON

谢谢

mysql mysql-5.6

2
推荐指数
1
解决办法
3452
查看次数

#1215 - 无法添加外键约束

我有这个奇怪的问题,创建外键.

给出2个表格:

CREATE TABLE IF NOT EXISTS `groupdeals` (
  `groupdeals_id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `product_id` int(10) NOT NULL,
  `merchant_id` int(11) NOT NULL,
  `minimum_qty` int(11) NOT NULL,
  `maximum_qty` int(11) NOT NULL,
  `target_met_email` int(11) NOT NULL,
  `coupon_barcode` text NOT NULL,
  `coupon_merchant_address` int(11) NOT NULL,
  `coupon_merchant_contact` int(11) NOT NULL,
  `coupon_expiration_date` date DEFAULT NULL,
  `coupon_price` int(11) NOT NULL,
  `coupon_fine_print` int(11) NOT NULL,
  `coupon_highlights` int(11) NOT NULL,
  `coupon_merchant_description` int(11) NOT NULL,
  `coupon_business_hours` int(11) NOT NULL,
  `coupon_merchant_logo` int(11) NOT NULL,
  `coupon_additional_info` text NOT NULL,
  `position` …
Run Code Online (Sandbox Code Playgroud)

mysql foreign-keys mysql-5.6

1
推荐指数
1
解决办法
7677
查看次数

MySQL Workbench无法连接到本地服务器(OS X Yosemite 10.10)

MySQL工作台无法连接到本地服务.该服务正在运行,因为我可以使用mysql命令设置root密码等.我是OS X和MySQL的新手.

我尝试过的事情:

  • 该服务正在根据prefs页面运行
  • 在MySQL Workbench重新扫描本地mysql实例(找不到任何东西)
  • 尝试使用标准TCP/IP和本地套接字管道从MySQL工作台连接找不到任何内容(127.0.0.1)
  • 我通过从示例配置中复制它创建了一个my.cnf文件,但是所有内容都被注释掉了,因为我不知道该放什么.
  • 我去了这个页面,但我不确定如何使用这些设置,因为他们承担了比我更多的知识(https://dev.mysql.com/doc/refman/5.1/en/problems-connecting.html).我能找到mysql.sock,但我不知道该怎么做...

mysql macos mysql-workbench mysql-5.6 osx-yosemite

1
推荐指数
1
解决办法
4830
查看次数

将 st_distance 结果转换为公里或米

我需要找到离地铁站最近的街区。我使用St_distance本主题中的函数: link 。如何将st_distance结果转换为公里或米?我有mysql 5.6,所以我不能使用st_distance_sphere或其他新功能。

mysql sql mysql-5.6

1
推荐指数
1
解决办法
5631
查看次数

OPTIMIZE 表和 ANALYZE 表 MySQL 5.6 的查询性能

该网站上有很多与optimize table和相关的问题/答案analyze table.

问题:如果我们想快速执行 DDL/DML/SELECT,即使表上有碎片,也不考虑空间,我们可以只执行analyze table命令吗?因为我们有 500GB 大小的表和存储引擎,所以innodb它需要时间来optimize table指挥。

根据 MySQL 文档,优化表分析表

  1. Optimize table重新组织表数据和关联索引数据的物理存储,以减少存储空间并提高访问表时的I/O效率。
  2. Analyze table执行键分布分析并存储指定表的分布

我认为,如果我们不关心空块使用的空间,表统计信息是最新的,则无需优化表。

innodb mysql-5.6

1
推荐指数
1
解决办法
5681
查看次数