我在两台服务器(db1和db2)上build立master-master mysql复制。 我开始设置db2作为db1的奴隶,并且工作正常。 但是,当我将db1设置为db2的从属服务器时,它不会复制。 表面看来一切都很好,但数据并没有复制。 在任何一个错误日志中都没有错误。 从站状态正在更新bin日志位置。 我已经使用mysqlbinlog来检查db2上的二进制日志和db1上的中继日志,并且所有的查询都在那里,但是没有被执行到db1。 两台服务器上的“显示从站状态”显示从站io和sql线程都是“是”,并且由sql线程更新了中继日志的位置。 同样在两台服务器上: >echo "show processlist" | mysql | grep "system user" 166819 system user NULL Connect 3655 Waiting for master to send event NULL 166820 system user NULL Connect 3507 Has read all relay log; waiting for the slave I/O thread to update it NULL db1的相关configuration: server-id […]
我正在考虑如何平衡我们的MySQL基础设施的负载,似乎无法find一个适合我的答案… 🙂 所以,我有一个大的,胖的服务器,处理一切。 许多数据库,许多读取,许多写入等,它处理得很好,但它是一个单一的故障点。 我们build立了一些奴隶来redirect读取它们,但是却遇到了两个问题:重build所有程序来分割读取和写入需要花费很多的精力; 有时候奴隶会落后,这会导致应用程序中非常有趣的文物。 奴隶们陷入困境的问题:因为许多数据库是混合在一起的 – 在数据挖掘方面有十到二十分钟的重复查询,以及没有时间的primefaces查询。 但是Slave一次只运行一个查询,所以所有的primefaces查询必须等到重写完成。 为了解决这两个问题,我在考虑像代理这样的东西, 自动分割读/写 充当单个入口点,然后将请求redirect到具有所需数据库的相应服务器(例如,在后端将db1和db2分开,但对应用程序具有透明性) 知道奴隶滞后,并发送读取到主时,奴隶滞后发生(如果这可以做,比如说,每个数据库是理想的;但服务器范围也将非常好) 所有合格的从站之间的负载均衡读取(通过简单循环或通过监视LA) 一个仍然存在的问题,但我想考虑的是故障切换。 如果主人失败了 – 如果奴隶要承担主人的责任,而主人又回来了 – 那么奴隶会变成奴隶。 任何指向RTFM或关于这个问题的案例研究的指针将是值得欢迎的=) 编辑:谷歌search了一些,除了钨企业 – 发现dbShards和Schooner。 在深入研究的同时,有没有人有这些解决scheme的经验? 任何反馈?
我在64位CentOS 5服务器上通过yum安装了mysql和服务器。 它启动正常,但当我试图阻止它失速,然后我必须“Ctrl-C”它。 然后我运行一个“服务mysqld状态”,它显示: mysqld dead but subsys locked 我运行ps aux和mysql无处可查。 通过“服务mysqld启动”再次启动mysqld工作正常。 试图阻止它会产生同样的问题。 然后我意识到/var/lock/subsys/mysqld仍然存在。 当运行mysqld时,我检查了/var/run/mysqld/mysqld.pid ,并且与正在运行的服务的pid相匹配。 我试图重新安装MySQL和删除所有文件和configuration,但无济于事。 该怎么办? 编辑: 我在/etc/init.d/mysqld文件中添加了一些echo语句,特别是在stop函数中: stop(){ if [ ! -f "$mypidfile" ]; then # not running; per LSB standards this is "ok" action $"Stopping $prog: " /bin/true return 0 fi echo "beginning stop sequence" MYSQLPID=`cat "$mypidfile"` if [ -n "$MYSQLPID" […]
据我所知,MySQL正在吃掉大约80%的CPU。 现在这个服务器很less被使用,更多的是我设置的一个testing网站,一旦我解决了这样的小问题,最终会被用于生产。 我运行3个MySQL实例,但似乎我的第一个实例占用了所有的CPU。 当我closures第一个实例,并让其他两个在一切运行良好。 有什么build议么? 我试过Show Processlist ,除了“睡眠”和查询“显示进程列表”(显然)在使用所有这些CPU时,没有任何语句正在运行。 my.cnf是基本的。 我没有优化或更改任何MySQL设置。 你觉得这会造成这种奇怪的行为吗? 该机器正在运行Linux Centos 5.7 64位和MySQL 5.0.95。 谢谢
我试图创build一个与MariaDB自动部署的Galera集群,在CoreOS上运行Docker容器。 使用的软件: – MariaDB官方Docker镜像 ,版本10.1.10 – CoreOS 899.5.0,Docker 1.9.1 一切运行在2个独立的虚拟机上:10.2.0.4和10.2.0.5 我可以成功启动第一个节点(10.2.0.4)并引导集群。 但是,当我启动第二个节点时,我收到了mysql.time_zone_transition_type和mysql.time_zone_name表的复制错误。 之后, mysqld守护程序不会崩溃,所以我的Docker容器继续运行(运行几分钟没有问题),但似乎没有join集群(查询第一个节点上的状态只显示1个节点已join)它不接受任何连接(试图连接到该节点失败)。 奇怪的是,如果我重新启动Docker容器(保留数据文件夹),它就会join节点并且完美地工作。 以下是MySQLconfiguration文件(添加到Docker容器中的/etc/mysql/conf.d): # this is read by the standalone daemon and embedded servers [server] # this is only for the mysqld standalone daemon [mysqld] # # * Galera-related settings # [galera] # Mandatory settings wsrep_on=ON wsrep_provider="/usr/lib/galera/libgalera_smm.so" wsrep_cluster_address="gcomm://10.2.0.4,10.2.0.5" binlog_format=row default_storage_engine=InnoDB innodb_autoinc_lock_mode=2 innodb_locks_unsafe_for_binlog=1 […]
我的意图是将Outlook / Thunderbird客户端的“客户联系信息”MySQL表格作为地址簿(通过LDAP)提供。 我知道OpenLDAP有一个MySQL后端选项,但是我一直没有find任何清晰,可靠的文档来说明如何configuration它。 我需要设置哪些OpenLDAP选项,以及在哪里设置它们? 我正在运行Ubuntu 9.04。 更新 : 我已经设置了ODBC文件,并将testing数据导入到数据库,但是仍然不知道如何configurationslapd来使用数据库。 某处,在一些configuration文件中,我不得不说“slapd,使用称为'LDAP2MySQL'的ODBC资源”。 但是哪里? 如何? 其他更新 : 我没有得到这个: Ubuntu软件包版本毕竟没有SQL支持,所以我删除了它,我试图从源代码安装。 我认为它安装好了,但“make test”会产生错误“比较失败./scripts/test003-search失败(exit 1)”。 无论如何,我做了一个“make install”,因为Google似乎没有解释如何解决“比较失败”的问题。 现在我什至不能开始愚蠢的事情。 与Ubuntu的包一起工作的“/etc/init.d/slapd start”不起作用。 openLDAP手册说“/ usr / local / libexec / slapd”是启动它的命令。 …但是这个命令没有输出。 我甚至不知道它是否在运行。 我放弃。 其他更新 : 好吧,我运行“顶部| grep slapd”,我什么也没有得到,所以我猜测它没有运行。 但没有错误消息。 所以呢? 我必须猜测为什么它不会启动? 更新 : 我已经重新安装了操作系统,并从一个干净的石板开始。 现在我甚至不能./configure openldap,因为它找不到db.h. 安装了“db4.7-util”软件包。 我越努力做这个工作,就越less。 我不能相信没有人知道如何做到这一点。 更新 : 我刚刚从源代码安装了BerkeleyDB,但OpenLDAP编译器仍然说: […]
有没有办法把超时发送到发送到MySQL服务器的查询? 预期的行为 如果查询在调用者提供的时间T之后未完成,则MySQL服务器将触发超时 没有结果将返回给调用者 一个错误会被触发,而被调用者捕获。 没有在MySQL文档中find这个。 然而,这似乎是相关的:如果缺less某些索引或出于某种其他原因,超时将阻止服务器崩溃(某些查询可能需要几小时才能完成,并会累积到服务器堆栈中)。
我一直在使用mysql进行开发。 我不使用复制,但我想我已经有一段时间在我以前的计算机上启用二进制日志logging,我已经在不知不觉中积累了数百个二进制日志文件。 我现在在使用Linux,实际上我需要开始使用二进制日志logging。 当我尝试启用my.cnf中的二进制日志 – mysql服务器不启动,这是我在错误日志中find: 1 110314 14:39:40 [Note] Plugin 'FEDERATED' is disabled. 2 110314 14:39:40 InnoDB: Started; log sequence number 0 36669358 3 ^G/usr/sbin/mysqld: File '.\mysql-bin.000179' not found (Errcode: 2) 4 110314 14:39:40 [ERROR] Failed to open log (file '.\mysql-bin.000179', errno 2) 5 110314 14:39:40 [ERROR] Could not open log file 6 110314 […]
有什么技术可以使用mysqldump(或类似命令)为MySQL进行增量备份或差异备份吗?
我有一个专用的16核12 GB的RAM的Mysql服务器,performance相当不好,因为我configuration了一个16 GB的服务器,我想这解释了为什么在世界上该网站现在需要超过500秒来呈现一个页面。 我使用memcachedcachingquires和使用InnoDB作为数据库引擎。 #8 core/16GB config stolen from http://groups.drupal.org/node/28830 back_log = 50 max_connect_errors = 9999999 table_cache = 5000 binlog_cache_size = 1M max_heap_table_size = 128M sort_buffer_size = 500K join_buffer_size = 500K thread_cache_size = 100 thread_concurrency = 16 query_cache_size = 512M query_cache_limit = 8M query_cache_min_res_unit = 2K thread_stack = 192K tmp_table_size = 384M long_query_time = 2 […]