Articles of mysql

MySQL和多核处理器

我在多核心xeon处理器的win2008服务器上运行MySQL。 看起来它只使用一个核心。 有什么我需要configuration,使其使用所有内核? 服务器支持多个电话的加载网站。 我确信同时有一个以上的调用,但是数据库却在一个核心中处理任何事情。 我能做些什么来改善它?

如何启用MySQL慢查询日志(5.5.15)

需要一些帮助。 我已经在堆栈和mysql的网站上浏览过这些主题,而且没有任何configuration可以为我工作。 我需要启用MySQL慢查询日志以及一般查询日志。 我想在我的configuration文件,而不是作为一个SET语句,因为我认为这将重置每当MySQL重新启动? 我错过了什么? 每个网站都说一些完全不同的东西…我正在使用MySQL 5.5.15。 这是我目前的configuration: [mysqld] local-infile=0 datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock user=mysql skip-external-locking query_cache_limit=8M query_cache_size=64M query_cache_type=1 long_query_time=2 slow_query_log_file=/var/log/mysqld.slow.log max_connections=100 max_user_connections=10 interactive_timeout=20 wait_timeout=20 connect_timeout=6 thread_cache_size=128 key_buffer=16M key_buffer_size=256M join_buffer=1M max_allowed_packet=16M table_cache=1024 read_buffer_size=2M sort_buffer_size=2M max_connect_errors=10 # Try number of CPU's*2 for thread_concurrency thread_concurrency=4 myisam_sort_buffer_size=64M [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid

从JDBC池连接时,HAProxy,客户端超时

我有一个Web应用程序(Tomcat的/hibernate/ DBCP 1.4),运行MySQL的查询,这对一定的负载工作正常,说50秒的查询。 当我通过HAProxy(仍然只使用一个数据库)传递相同的中等负载时,我得到一个失败,也许每500个查询就有一个失败。 我的应用报告: Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure The last packet successfully received from the server was 196,898 milliseconds ago. The last packet sent successfully to the server was 0 milliseconds ago. at sun.reflect.GeneratedConstructorAccessor210.newInstance(Unknown Source) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:513) at com.mysql.jdbc.Util.handleNewInstance(Util.java:411) at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1117) at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:3567) … Caused by: java.io.EOFException: Can not read […]

是否可以使用EC2 RDS MySQL实例作为外部主设备的从设备?

我有一个主要的MySQL实例在我们的本地networking上运行,但我想知道如果我可以得到一个EC2 RDS实例复制主或被亚马逊locking?

Mysql服务器不会启动 – 没有日志

重新启动后,mysql将不会启动。 sudo service mysql start给出start: Job failed to start日志为空,所以我不知道从哪里开始。 我很确定权限问题是照顾。 编辑: 所有的磁盘至less有1G的空间, sh -x /etc/init.d/mysql start给了我: + set -e + basename /etc/init.d/mysql + INITSCRIPT=mysql + JOB=mysql + [ mysql = upstart-job ] + [ -z start ] + COMMAND=start + shift + [ -z ] + ECHO=echo + echo Rather than invoking init scripts through […]

max_binlog_size&log-bin大小

我有一个完整的磁盘的问题 -rw-rw—- 1 mysql mysql 1073741982 2012-07-03 18:14 mysql-bin.000034 -rw-rw—- 1 mysql mysql 1073741890 2012-07-04 14:39 mysql-bin.000035 -rw-rw—- 1 mysql mysql 1073741988 2012-07-05 09:16 mysql-bin.000036 -rw-rw—- 1 mysql mysql 1073741964 2012-07-06 00:04 mysql-bin.000037 -rw-rw—- 1 mysql mysql 1073741974 2012-07-06 21:45 mysql-bin.000038 -rw-rw—- 1 mysql mysql 1073741923 2012-07-07 19:05 mysql-bin.000039 -rw-rw—- 1 mysql mysql 356167680 2012-07-07 […]

MySQL拒绝接受远程连接

我刚安装了一个新的Ubuntu的服务器与MySQL(percona 5.5),但它拒绝接受来自远程主机的连接 这是如果我尝试远程连接到此服务器会发生什么情况: mysql -h10.0.0.2 -uroot -pmypassowrd ERROR 2003 (HY000): Can't connect to MySQL server on '10.0.0.2' (111) telnet 10.0.0.2 3306 Trying 10.0.0.2… telnet: Unable to connect to remote host: Connection refused 当我检查如果mysql监听远程连接,我看到了这一点: sudo netstat -ntlup | grep mysql tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 127018/mysqld 正如你可以看到它说127.0.0.1:3306这意味着“我只接受本地连接”。 我检查了我的skip_networking和bind-addressvariables – 一切都被closures: mysql> show variables like '%skip_networking%'; […]

中止连接(读取通信数据包时出错)

mysql error.log显示 [Warning] Aborted connection 320935 to db: '…' user: '…' host: '…' (Got an error reading communication packets) 客户端得到的是: Lost connection to MySQL server at 'reading initial communication packet', system error: 111 Lost connection to MySQL server at 'reading authorization packet', system error: 0 and after a while: Host '…' is blocked because of […]

如何自动扩展MySQL服务器?

我运行的网站stream量激增,因为这种情况下,自动缩放解决scheme是非常有利可图的。 目前Web服务器能够水平自动扩展,但瓶颈在MySQL服务器上。 我曾尝试使用Amazon RDS多可用区,但是12 GB数据库需要15分钟才能升级,并且需要几分钟的停机时间。 当我已经知道在某个特定时刻将会发生交通高峰的时候,这已经有了很大的帮助。 我也考虑过Xeround。 这可能是最好的解决scheme,虽然对于这个大小的数据库来说是相当昂贵的。 无论如何,这不是一种select,因为我依法需要数据库在欧盟。 我已经阅读了关于Scalr,但不知道这可能是有益的,如何。 我已经看到,许多云托pipe提供商提供垂直扩展解决scheme,我认为它有0停机时间(不知道这是否真的有可能,据我所知,他们使用Xenpipe理程序)。 这可能是一个解决scheme,但我不知道它是否没有宕机,以及MySQLconfiguration(以及操作系统上的其他许多东西)如何能够在没有停机的情况下升级。 我已经尝试过使用MySQL从服务器,但是根本没有帮助。 我正在使用帮助很多,但这是不够的memcache。 我需要升级是因为写入,而不仅仅是因为读取。 有什么build议么? 先谢谢你

为什么Apache运行野生和杀死MySQL?

在过去的几天中,Apache已经失去控制,并使MySQL崩溃了两次。 这一切都开始时,我迁移了一个WordPress的网站,其中还包含一个phpbb论坛。 我不是非常有经验的服务器pipe理员,所以我很难找出是什么原因造成的问题。 当我注意到mysql已经closures时,我跑了TOP,看到我的系统负载峰值达到了98.00。 服务器运行10个V-HOSTS,所有这些都可以接收到一定数量的stream量,所以我显然看到很多apache-2进程在运行。 高服务器负载持续10分钟,然后恢复到正常状态。 在这一点上,我没有看到networkingstream量的高峰。 不幸的是,mysql错误日志logging被禁用(现在重新启用),所以没有线索。 但我很确定这是因为Apache耗用所有资源,所以mysql进程ID被杀死。 我的问题是: 下一次发生这种情况 – 如何识别导致系统负载峰值的原因? 难道这是一个疯狂的PHP脚本? 这可能是一个ddos攻击? 有没有办法自动重新启动的时候崩溃的MySQL? 我现在已经安装了htop 。 这可能比top更有用吗? 在这里我的服务器统计: m1.xlarge (8 ECUs, 4 vCPUs, 15 GiB memory, 4 x 420 GiB Storage Capacity) Ubuntu Server 12.04.3 LTS 提前致谢!