Articles of mysql

Nginx负载平衡器最佳规格

我有3个Nginx服务器,每个服务器都应该处理大约2k个用户(并发连接)。 在他们面前我有Nginx负载均衡器。 这是4个虚拟机,共享相同的子网和相同的物理机器。 我想知道,我应该使用什么VM规格负载均衡器? 我没有负载平衡的经验,从来没有做过任何testing,所以当我知道我的应用服务器需要什么样的规格时,我不知道我应该使用什么样的nginx负载平衡器。 现在我正在考虑4核/ 4GB内存/ 4GB硬盘。 这对于负载均衡器来说足够了吗? Offtopic queston:是否有可能configurationMySQL,以便当一个MySQL数据库更新时,另一个。 有点像主/从configuration或类似的东西?

如何解释一个摇摇欲坠的MySQL服务器的iostat

我们有一个组合的应用程序/ MySQL服务器已经开始崩溃。 现在,它被困在复制一个1.25亿行MySQL MyISAM表( INSERT INTO a_copy SELECT * FROM a with INSERT INTO a_copy SELECT * FROM a a_copy KEYS DISABLED on a_copy )。 我们已经将这个查询所涉及的工作作为一个小时,对克隆的生产虚拟机中的生产数据进行了基准testing。 但是,在生产中运行此作业时,复制查询已经运行了12个多小时,没有完成,随机地使每个MySQL查询比蜜糖慢(60秒以上,没有任何锁)。 从iostat输出 yyyy@xxxx:~$ iostat -mxdc 10 Linux 2.6.32-5-686 (xxxx) 12/24/14 _i686_ (4 CPU) avg-cpu: %user %nice %system %iowait %steal %idle 5.24 0.00 1.34 13.43 0.00 80.00 Device: rrqm/s wrqm/sr/sw/s […]

在启用严格模式后,MySQL允许使用零date(0000-00-00 00:00:00)

我想configuration一个MySQL数据库实例不接受零date(0000-00-00 00:00:00),因为如果遇到这样的字段,运行在其上的软件无法运行。 该服务器正在运行MySQL版本5.5.40。 我在my.cnf文件的[mysqld]部分添加了以下几行: sql-mode="NO_ZERO_DATE,NO_ZERO_IN_DATE" innodb_strict_mode="ON" 重新启动后,如果我从命令行检查,我得到以下内容: mysql> SELECT @@GLOBAL.sql_mode; +——————————+ | @@GLOBAL.sql_mode | +——————————+ | NO_ZERO_IN_DATE,NO_ZERO_DATE | +——————————+ 1 row in set (0.00 sec) mysql> SELECT @@GLOBAL.innodb_strict_mode; +—————————–+ | @@GLOBAL.innodb_strict_mode | +—————————–+ | 1 | +—————————–+ 1 row in set (0.00 sec) 但是,如果我连接到数据库的客户端应用程序,并尝试填写零date,它仍然工作。 我试图重新创build数据库,仍然没有运气。 任何想法,为什么这是? 谢谢。

如何从Ubuntu 14.04中删除MySQL?

我试图移动我的datadir在一个工作的MySql安装,显然我搞砸了。 我试图卸载/重新安装无数次,只有在重新安装时得到相同的错误。 mysql / error.log给我这个: 150118 11:54:44 [Note] Plugin 'FEDERATED' is disabled. 150118 11:54:44 InnoDB: The InnoDB memory heap is disabled 150118 11:54:44 InnoDB: Mutexes and rw_locks use GCC atomic builtins 150118 11:54:44 InnoDB: Compressed tables use zlib 1.2.8 150118 11:54:44 InnoDB: Using Linux native AIO 150118 11:54:44 InnoDB: Initializing buffer pool, size = 128.0M […]

为什么我的mysql代理总是在主人select?

我的select总是要掌握,如果我停止主人,我得到了一些'无法连接,所有的后端都closures了。 [read_query] 89.216.31.228:64166 current backend = 0 client default db = nivo client username = remote query = SELECT option_value FROM wp_options WHERE option_name = 'siteurl' LIMIT 1 sending to backend : 172.30.1.149:3306 is_slave : false server default db: nivo server username : remote in_trans : false in_calc_found : false COM_QUERY : true 这是我的开始脚本: MASTERDB=172.30.1.149 […]

从服务器上MYI索引的大小较小

我最近通过在枚举字段中添加一个新值来更改一个巨大的MyISAM表(8000万条)。 在我这样做之后,我检查了用于复制主服务器的2个从服务器上的表的健康状况。 我注意到,在一台从服务器上MYI文件要小得多。 我已经用myisamchk和REPAIR修复了表,但索引的大小没有改变。 请在下面看到在这3台服务器上运行myisamchk -dvv返回的结果为“Keyfile length”: Master Server Auto increment key: 1 Last value: 80098340 Data records: 79375556 Deleted blocks: 0 Datafile parts: 79375556 Deleted data: 0 Datafile pointer (bytes): 6 Keyfile pointer (bytes): 6 Datafile length: 9635014668 **Keyfile length: 18945252352** Max datafile length: 281474976710654 Max keyfile length: 288230376151710719 Recordlength: 1110 Slave Server 1 […]

MySQL 5.6在没有停机时间的情况下复制live master

在复制现有服务器的步骤之后,似乎大多数方法依赖于完全停止主服务器或者至less防止使用flush tables with read lock;来写入flush tables with read lock; 这有效地造成停机时间,因为许多应用程序在无法写入数据库时​​无法正确响应。 有没有一个安全的方法来复制主从机,确保零停机时间和完整的数据库信息同步? 在我们的情况下,我们有一个主人,一个奴隶,他们都工作得很好。 从5.5升级到5.6时出现的一个MySQL错误使得slave变得稍微不同步,现在我们想要完全重新创build它的数据库。 现在,当我们得到一些零星的错误时,我们使用STOP SLAVE; SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1; START SLAVE;跳过它们STOP SLAVE; SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1; START SLAVE; STOP SLAVE; SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1; START SLAVE; 但这只意味着复制不是100%的主人。 谢谢

尝试从命令行导入数据库后,MySQL服务器无法重新启动

我的服务器是CentOS 6.5 64bit,由Remi运行MySQL 5.5.42社区服务器。 我试图通过运行从命令行导入数据库 mysql -u root -p website_database < website_database.sql input密码并启动SQL后,将显示以下消息: ERROR 2013 (HY000) at line 288: Lost connection to MySQL server during query 我尝试以超级用户身份重新启动MySQL服务器,但显示以下消息: # service mysqld restart Stopping mysqld: [ OK ] MySQL Daemon failed to start. Starting mysqld: [FAILED] 所以我validation了mysql错误日志文件,这里是内容: 150214 20:51:41 mysqld_safe Number of processes running now: 0 150214 […]

Mysql未logging选项文件中sort_buffer_size的默认设置

从最近安装的MySQL Workbench V.5.2(MySQL 5.6),在检查选项文件(Edit> Preferences> General)时,我看到256k\n256k被设置为256k\n256k 。 这个设置的\n256k部分是什么意思?

mysql密码中使用mysqldump的特殊字符

我有以下的SSH脚本: #Here I am getting the mysql password for the root user password=$(cat /root/.my.cnf | grep "password" | awk -F\" '{print $2}') #here I am trying to dump the database remotely mysqldump -uroot -p$password $db | ssh root@$destination_server "cat > /backup/mysql/$db.sql" 问题是,我收到以下错误: /bin/bash: -c: line 0: syntax error near unexpected token `)' /bin/bash: -c: line […]