Articles of mysql

403尝试访问nginx的文档根目录中的文件夹时被禁止

当我访问index.php时,它工作正常。 但是在localhost / pset7上,它给了403。 这里是权限日志, -rw-r–r–. 1 root root 51 Jul 31 14:21 index.html -rw-r–r–. 1 root root 51 Jul 31 14:15 index.php drwxrwxr-x. 5 my_user my_user 4096 Jul 31 15:13 pset7 我需要在networking服务器上运行它,所以请告诉我如何设置正确的权限并解决此问题。 在CentOS上使用LEMP。 如果你需要任何其他信息/日志,只要问。 Edit1,nginx config- http://pastebin.com/K3fcWgec 谢谢。

没有做任何更改,但MySQL InnoDB重载CPU

我还没有改变任何脚本或设置。 现在我的CPU负载至less高出4倍。 根据TOP,Mysqld占据了360%左右的CPU。 这是Debian,我正在运行一些MyISAM表,但大多数是InnoDB。 我已经validation了使用InnoDB的站点上线时负载变得很高。 即使在现在的夜晚,当总体负荷通常在1以下时,也有12个。我不知道哪里出了问题。 我没有改变任何东西。 我已经尝试完全重新启动机器。 我改变了我的innodb_log_file_size为2047M,而不是512M,负载没有明显的改善。 其他的my.cnf微调部分: key_buffer = 4000M max_allowed_packet = 32M thread_stack = 256K thread_cache_size = 192 myisam-recover = BACKUP max_connections = 10000 query_cache_limit = 1M query_cache_size = 256M innodb_buffer_pool_size=8G innodb_additional_mem_pool_size=20M sort_buffer=2M thread_concurrency=16 record_buffer=2M tmp_table_size=128M max_heap_table_size=128M table_cache=1024 innodb_log_file_size = 2047M innodb_log_buffer_size = 16M innodb_flush_log_at_trx_commit = 2 innodb_file_per_table innodb_flush_method = O_DIRECT […]

Apache和MySQL的HAProxy平衡algorithm

就在最近,我对现有的使用Apache Web服务器和MySQL数据库的项目负责。 Web服务器位于HAProxy负载平衡器的后面,应用程序通过另一个HAProxy连接到MySQL从站。 10个networking服务器中的2个是最近添加的,比旧的更强大。 对于MySQL从站也是一样的:这5个从站中有2个有更多的RAM和CPU。 Apache服务器的平衡algorithm是最不安全的 ,而从服务器的平衡algorithm是源代码 。 至lessMySQL服务器的设置我觉得很奇怪,因为在最糟糕的情况下,“最好”的Apache(最重)总能挑选最差劲的MySQL服务器,如果我理解了HAProxy文档的话 。 我会select调整重量的roundrobin : 10个为三个普通的MySQL服务器 20为更强大的MySQL服务器 而且因为在20秒的超时时间后面的HAProxy,我宁愿使用roundrobin 。 10为八个正常的Apache服务器 20为更强大的Apache服务器 (我会用20来开始,我要去看监控,稍后会调整。) 因为这些服务器在主机托pipe(如:我没有root权限,更改请求需要一些时间),我只想对这个主题有第二个(或更多)的意见:改变平衡是一个好主意algorithm都为了循环 ? 如果最近没有任何性能问题,我不会考虑这个,这只是我觉得值得调整的一个地方。 感谢您的任何build议! 问候丹尼斯

对于MySQL性能而言,所有的事情都是一样的,单线程处理器的性能是否更重要或者整体性能如何

假设我有两台服务器,都使用相同的RAID 10固态硬盘,128GB内存等。我试图找出哪台服务器。 在以下两个设置之间存在显着的价格差异,我不希望支付可能不被MySQL使用的资源的价格的两倍,或者在技术上将其降级? 服务器1 :单处理器Intel Xeon E3-1270 v3 @ 3.50GHz,单线程PassMark得分为2212 与 服务器2 :四核英特尔至强E5-4650 @ 2.70GHz,单线程PassMark得分为1483 现在的4650是更昂贵的CPU,因为它是一个四核处理器Octocore与1270是单处理器四核。 我的直觉告诉我服务器2是更强大的方式,但是当看一个单线程的性能,服务器1实际上是更好的。 我想知道,对于MySQL的性能,我应该只看单线程性能,即。 select服务器1为双赢? 还是我看着这个错误的方式? 编辑:附加信息(这将在服务器1和2之间相等) 1)CentOS 7 64Bit 2)一个非常大的数据库 3)数据库几乎全是MyISAM

MySQL连接安全性

我有2台Windows 2003服务器。 一个是用微软的FastCGI扩展和PHP运行IIS。 另一台服务器正在运行MySQL 5.1。 我想在IIS服务器上设置一些PHP应用程序,让他们在第二台服务器上使用数据库。 在MySQL级别的服务器之间,我需要做什么来encryptionnetworking通道/协议? 这是MySQL的免费版本的内置function,还是我需要付费版本? 如果我从运行MySQL的Windows服务器迁移到Linux服务器,configuration是否相同? 我知道我可以在networking堆栈中的较低级别使用其他types的encryption和措施,但是想知道MySQL提供的是什么。

在xtrabackup上有什么合理的价值?

Percona的xtrabackup实用程序有一个–throttle选项来减less备份作业的IO负载。 文档说传递的值是每秒读/写对的数量。 1000 /秒是现代硬件上合适的价值吗? 怎么样5? 我无法find这些值的任何有意义的参考框架。 作为参考 – 我正在读取和写入相同的驱动器arrays(10k SAS)。 –throttle = 20的55gb备份作业在大约一个小时内运行,在非高峰时段系统没有明显的压力。 但是我真的不知道这个油门是高还是低。

(本地)networking上的MySQL性能比我预期的要慢得多

我的生产环境中的MySQL查询花费的时间比我期望的要长得多。 有问题的网站是一个相当大的Drupal站点,安装了许多模块。 networking服务器(Nginx)和数据库服务器(mysql)托pipe在分离的机器上,通过100mbps的LAN连接(由Rackspace托pipe)连接。 我有我的笔记本电脑上运行完全相同的网站进行开发。 显然,在我的笔记本电脑上,networking服务器和数据库服务器在同一个盒子上。 这里是我的数据库查询时间的结果: 生产: 在320.33毫秒内执行了291次查询。 (主页) 在999.81毫秒内执行了517个查询。 (内容页) 发展: 在46.28毫秒内执行了316次查​​询。 (主页) 在79.09毫秒内执行了586次查询。 (内容页) 从这些结果可以清楚地看出,在我的笔记本电脑上查询MySQL数据库的时间要短得多,在这台笔记本电脑上,MySQL服务器和Web服务器在同一个数据库上运行。 为什么是这样?! 一个因素必须是networking延迟。 平均而言,从Web服务器到数据库服务器的往返时间为0.16ms(以ping显示)。 必须添加到每个单独的MySQL查询。 因此,以上面的内容页面示例为例,执行517个查询。 networking延迟本身将增加总查询时间82毫秒。 但是,这并不能解释我所看到的差异(我的笔记本电脑上79ms与生产盒上的999ms)。 我还应该考虑哪些其他因素? 我曾想过将网卡升级为千兆连接,但显然还有其他一些问题。 我已经从http://www.day32.com/MySQL/运行MySQL性能调优脚本,它告诉我,我的数据库服务器configuration好(显然比我的笔记本电脑好)。 唯一报告的问题是“在4394个临时表中,48%是在磁盘上创build的”。 这是真的在这两个环境和生产环境我甚至尝试增加max_heap_table_size和当前tmp_table_size到1GB,没有任何改变(我认为这是因为我有一些BLOB和TEXT列)。

重载LAMP应用的最佳硬件configuration是什么?

我需要为大量的并发用户运行Linux-Apache-PHP-MySQL应用程序(Moodle电子学习平台) – 我瞄准了5000个用户。 同时我的意思是5000人应该能够同时使用应用程序。 “工作”不仅意味着数据库读取,而且也写入。 应用程序不是很典型,因为它在数据库上做了很多插入/更新,所以caching技术并没有多大帮助。 我们正在使用InnoDB存储引擎。 另外应用程序不是在考虑性能的情况下编写的。 例如,一个Apache线程通常占用大约30-50 MB的RAM。 我将非常乐意了解需要哪些硬件来构build可以处理这种负载的可伸缩configuration。 我们现在正在使用两个带有两个4核心处理器的HP DLG 380,它们能够处理更低的负载(通常为300-500个并发用户)。 投资这种机箱和使用它们来构build集群是合理的还是采用更高端的硬件更好? 我特别好奇 需要多lessfunction强大的服务器(处理器/内核的数量,RAM的大小) 什么networking设备应该使用(什么样的交换机,网卡) 任何其他硬件,如特定的磁盘存储解决scheme等,都是需要的 另一件事是如何把所有的东西放在一起,那就是最优化的架构。 使用MySQL进行集群相当困难(人们抱怨MySQL集群,即使在Stackoverflow也是如此)。

多个文件系统的MySQL

MySQL是否支持MyISAM中大多数表的多个文件系统? 上下文:我们有一个1.5TB的mysql数据库,每月增加200GB。 存储是直接连接,其插槽几乎满。 我可以添加另一个DAS,并增加文件系统。 但是resize,调整文件系统大小等等都是一团糟。 在MySql世界中有没有“tablespace,datafile”的概念(如在oracle中)? 或者你们如何pipe理这些types的约束MySQL数据库?

在单个FreeBSD主机上安装多个版本的Apache,PHP和MySQL的最佳方法

我想要一个使用Apache,PHP和MySQL的Webtesting和开发环境。 我需要能够testing多个版本的PHP(5.2,5.3等)和多个版本的MySQL(5.0,5.1,5.5等)的单个Web应用程序。 它应该放在FreeBSD服务器上。 我的想法是将每个版本编译成一个目录结构并在不同的portnumbers上运行它们。 例如: opt/apache2.2-php5.2-mysql-5.0 (httpd on port 8801, mysql on port 8802) (directory contains each software, compiled and linked towards eachother) opt/apache2.2-php5.3-mysql-5.1 (httpd on port 8803, mysql on port 8804) (and so on) 任何想法或build议的最佳方式来设置这种types的环境? 更新 (背景信息):环境将用于教育。 我有X00学生开发Web应用程序,他们有一个目录,他们存储所有的代码(HTML,CSS,PHP,SQL等)。 我想给他们一个简单的方法来testing他们在不同版本的PHP和MySQL上的应用程序。 在这个阶段,不需要有不同版本的Apache httpd-server。 更新 (不能使用端口进行安装):我不能使用端口来保持软件更新。 我可能需要安装一个非常特定的版本,例如MySQL,以使用这个特定的版本来执行一些详细的testing。 似乎从源头编译将是唯一的select。