MySQL不是我的事情,但我需要微调我们的服务器之一。 这是要求/规格: MySQL服务器只有一个重要的数据库 我们只有一个“types”的应用程序连接到它,并没有太多的同时连接到它的实例:最多15.(这些应用程序是XMPP机器人) 这些应用程序有一个非阻塞的IO,这意味着他们从不“等待”在数据库服务器上,并在数据库查询处理过程中继续处理传入的请求。 这意味着某个时候,这个应用程序的一个实例可以有几个(很多!)连接到数据库服务器(特别是如果一些查询很慢) 所有的查询都使用索引 我们的主机只运行MySQL。 这是一个2GB内存的Xen实例(@slicehost)。 我们使用InnoDB表,因为我们需要一些基本的事务,但是如果这对性能有真正的影响,我们可能会切换到MyISAM。 现在configuration好了,我们的MySQL服务器慢慢地开始吃所有可用的内存(我们使用collectd,这里是一张图)。 在某个时间点(几天/几周之后),它停止执行查询(它今天晚上停了2个小时,我不得不重新启动MySQL服务器:见第二张图): (对不起,新的用户不能发布图片,只有1个超链接:/) 每周: http : //i27.tinypic.com/6ticyv.jpg 今天:i31.tinypic.com/ir53yg.png 这是我们目前的my.cnf # # The MySQL database server configuration file. # # This will be passed to all mysql clients # It has been reported that passwords should be enclosed with ticks/quotes # escpecially if they contain "#" […]
在启动我的CentOS VPS(由其他人设置)时,MySQL在启动时启动两个进程: mysql:/ usr / libexec / mysqld –basedir = / usr –datadir = / var / lib / mysql –user = mysql root:/ bin / sh / usr / bin / mysqld_safe –datadir = / var / lib / mysql –socket = / var / lib / mysql / mysql。 这是正常的/正确的方式来设置MySQL(即根运行mysqld_safe?) 谢谢!
几个月来,我一直通过SSH隧道连接到运行在本地testing服务器上的MySQL实例,没有任何问题。 突然之间,没有任何变化,我可以想到,服务器已经开始拒绝来自Sequel Pro的login尝试,错误是: 无法连接到主机127.0.0.1,因为访问被拒绝。 仔细检查您的用户名和密码,并确保您的当前位置的访问是允许的。 MySQL说:拒绝访问用户'root'@'localhost'(使用密码:是) 当通过SSH直接连接到服务器时,我可以通过terminallogin,而不是通过SSH隧道。 这个问题并不是特定于Sequel Pro或者仅仅是我自己,当通过MySQL Workbench连接时,和其他人一样,我也遇到同样的错误。 为了理智,我已经用mysqladmin重置了密码,这绝对不是问题。 当我开始研究它时,我发现错误是将服务器报告为“localhost”,而不是我在Sequel Pro中input的“127.0.0.1”。 一个朋友build议这可能只是错误的处理,但似乎很奇怪,因为本地主机和MySQL中的127.0.0.1之间的显着差异。 为了解决隧道问题,我授予对root @%的访问权限,以便我可以直接连接。 这大部分工作,我可以查看表数据,创build新的数据库等。唯一的问题是,当我来创build用户我得到的错误: 访问拒绝用户“root”@“%”(使用密码:是) 奇怪的是用户实际上是创build的,我认为这只是一个授权问题。 虽然如此,从terminal我可以做任何事情,当以root身份login。 任何人都可以帮助揭示为什么隧道连接和(可能)授予命令正在接收拒绝访问错误? 为了参考,MySQ版本是5.6.16,主要是默认设置,通过MAC OS X Server机器上的Homebrew安装。 更新 以下是根目前被授予访问权限的主机列表: mysql> select host,user from mysql.user where user='root'; +—————-+——+ | host | user | +—————-+——+ | % | root | | 127.0.0.1 | root | | ::1 | root […]
突然间,我的本地MySQL 5.5服务器在我的Windows XP SP3上停止运行。 我也安装了WAMP Apache和WAMP MySQL,但是WAMP MySQL没有运行。 错误日志显示: 无法启动服务器:绑定TCP / IP端口:没有这样的文件或目录 你已经有另一个mysqld服务器在端口上运行:3306? 我尝试将端口从3306更改为3307,但该服务仍然无法启动,出现错误: 事件查看器显示: 致命错误:无法打开和locking权限表:表'mysql.host'不存在 无法打开mysql.plugin表。 请运行mysql_upgrade来创build它。 显然,如果服务器正在运行,我只能运行mysql_upgrade。 如果服务无法启动,如何创build“mysql.host”? 我卸载了MySQL服务器并重新安装了它,在安装后的configuration向导期间,我收到一个错误:服务无法启动。 错误:0。 我怎么从这里开始?
我想使用shell脚本定期在远程托pipe的站点上转储数据库。 不幸的是,服务器被locking得非常紧密,没有安装mysqldump ,二进制文件不能被普通用户/主目录执行(所以我不能自己“安装”),数据库驻留在一个单独的服务器上,所以我无法直接抓取文件。 我能做的唯一事情就是通过SSHlogin到networking服务器,并使用mysql命令行客户端build立到数据库服务器的连接。 如何将内容转储到一个SQL格式的文件? mysqldump ? 奖励:如果可能的话,我如何直接将内容转储到SSH连接的结尾? 我喜欢下面提出的SSH隧道的想法,但是,我需要双隧道。 localhost -> remote web server -> remote database server 这工作正常: $ ssh -f -L 3306:mysql.example.com:3306 [email protected] -N 但是,试图login到MySQL失败: $ mysqldump -P 3306 -h localhost -u user -p db Enter password: mysqldump: Got error: 1045: Access denied for user 'user'@'localhost' (using password: YES) when trying to connect […]
我正在使用MySQL Workbench工具来导出数据库。 但是,数据库数据也包含触发数据。 我怎样才能忽略触发器,不包括他们在生成的SQL转储文件?
我已经安装了Debian Lenny,PHPmyadmin和postfix。 当使用PHPmyadmin的GUI和访问任何表与我得到的数据: 无法创build/写入文件“/tmp/#sql_xxxx.MYI”(Errcode:13) 做错事13说: OS error code 13: Permission denied 我find了这样的tmpdir: mysqladmin -p variables | grep -w tmpdir | tmpdir | /tmp 这意味着mysql不能写入/ tmp。 将权限设置为:777修复了这个问题。 但我不觉得我必须这样做。 有更好的方法/修复吗? 我应该更改/etc/mysql/my.cnf中的值tmpdir吗?
当他告诉我他的MySQL使用了太多的内存后,我试图帮助他的服务器的朋友…事实certificate,它不仅使用大量的内存,但有太多的mysql进程运行的方式! 这里是ps auxww|grep mysql的结果: http : //pastebin.com/kYrHLXVW 所以基本上有13个MySQL进程,根据mysqladmin只有一个客户端连接… 过了一会儿,这些过程中的每一个都吃掉了50MB的内存,所以最终消耗了大量的内存。 我直接从/ usr / share / mysql使用my-medium.cnfconfiguration模板…我重新启动了mysql服务器,但是一旦启动,13个进程就回来了…我不知道是什么问题可能是…任何想法/build议将非常感激!
我们决定转移到使用(MySQL)数据库作为我们的应用程序日志(这是一个使用logback lib的Java应用程序)。 我希望能find像tail -f这样的东西,我可以使用该数据库中的特定表格,这些表格会在添加新行时向我显示新行(类似于tail -f在日志文件上的工作方式)。
我的ibdata文件非常大,至less在我看来非常大。 这是过度还是不好? -rw-rw—- 1 mysql mysql 15G Apr 18 10:11 ibdata1