我在Debian Wheezy( apt-get install mysql-server mysql-client )上安装了一个非常标准的MySQL安装apt-get install mysql-server mysql-client ,我已经成功完成了很多次。 当我尝试通过localhost连接,一切正常。 但是通过127.0.0.1连接给出了一个错误信息: $ mysql -h localhost -P 3306 -u xxx -p — works $ mysql -h 127.0.0.1 -P 3306 -u xxx -p ERROR 2013 (HY000): Lost connection to MySQL server at 'reading initial communication packet', system error: 0 当我尝试从Java应用程序进行连接时,出现类似的错误,尽pipe我使用localhost作为主机名: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure. The […]
我们的数据库服务器(主要基于Debian稳定软件包(当前为Wheezy))似乎在内核3.2.0-4-amd64的相同工作负载的情况下比在之前的2.6.32-5-amd64内核中的负载大约多4倍。如果所有的软件包都是相同的,并且在另一个内核中启动,我们可以清楚地看到它们之间的差异,而且我为什么会感到不知所措。问题是,我没有看到太多的IO或CPU负载差异。 将默认的kernel.sched_min_granularity_ns和kernel.sched_latency_ns设置回2.6.32值会有所帮助(三次加载而不是四次),但是不会达到我们想要的水平。 当很多内核设置发生变化时,我们几乎不能盲目地将新内核设置为2.6的旧内核值。 有没有其他人有这方面的经验? 如果是这样,是什么造成了这一点(理想的情况是:怎么解决的)? 由于它与内核深层有关,所以在sysctl值上的区别也许是有意义的: 这里是2的区别 (为了防止过长的问题,pastebinned)。 编辑 :目前我们正在调查这个答案 ,看看是否适用。
新手Linuxpipe理员问题在这里。 在过去的6个月左右,我已经升级了Fedora服务器上的大部分默认安装软件。 过去几个星期左右,我意识到在这个文件系统上有很多同样的软件实例,有些还在使用,有些则没有。 例如,我已经升级/重新安装MySQL至less3次,一次从rpm,两次从源代码tarball。 我刚刚意识到在/sbin , /usr/bin , /usr/local/bin和/usr/local/mysql/bin中有mysql二进制文件。 更糟糕的是, which命令指向/sbin ,(感谢命令ENV的PATH被写入,可能是),但init.d脚本使用/usr/local/bin ,以及所有的共享库和头文件来自另一个安装。 一团糟。 这与目前安装PHP和Python的情况相似。 我的问题是这个 – 我怎样清理这个? 我是否: select一个安装,指向适当的path,并删除其余的。 重新编译指向(现在删除的)其他安装的所有依赖项,如果它们因为它们的依赖path被写入而失败。 平衡一切,从头开始。 还有其他解决scheme吗? 谢谢你的build议!
我刚刚在Debian上升级了我的MySQL服务器。 但是,现在当我启动服务器,并尝试连接到它,我得到的错误: ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) 我该如何解决这个问题?
我一直在按照这些说明忠实地设置MySQL主复制(在Debian 6.0.1上): http : //www.neocodesoftware.com/replication/ 我还有: mysql > show master status; 但不幸的是产生了以下结果,而不是任何有用的结果: Empty set (0.00 sec) /var/log/mysql.err的错误日志只是一个空文件,所以没有给我任何线索。 有任何想法吗? 这是我在/etc/mysql/my.cnf在一台服务器(适当地修改了其他服务器): server-id = 1 replicate-same-server-id = 0 auto-increment-increment = 2 auto-increment-offset = 1 master-host = 10.0.0.3 master-user = <myusername> master-password = <mypass> master-connect-retry = 60 replicate-do-db = fruit log-bin = /var/log/mysql-replication.log binlog-do-db = fruit 我已经build立了用户,可以使用上面的用户名/密码/ ipaddress从服务器A上的MySQL连接到服务器B上的数据库。
我很难设置MySql InnoDB的缓冲池大小和日志文件大小。 我远离MySql的专家,但一直在阅读,似乎要改变这一点,我只是将这些行添加到我的/etc/mysql/my.cnf # Set buffer pool size to 50-80% of your computer's memory innodb_buffer_pool_size=2048M innodb_additional_mem_pool_size=512M # # Set the log file size to about 25% of the buffer pool size innodb_log_file_size=256M innodb_log_buffer_size=128M 服务器有大约7GB的内存,也运行一个Web服务器,所以我认为这些数字应该是一个好的起点。 保存并重新启动服务器后,但似乎并没有变化已经生效。 我试着运行Mysqltuner,报告缓冲池仍然在16.0M。 任何想法我做错了什么? 让我知道如果你想看到更多的configuration文件。 谢谢!
当我尝试在Percona服务器5.7.17-12上运行mysqldump时,出现这个错误: # mysqldump -u backups -pxxxx -h 127.0.0.1 –single-transaction –quick dbname mysqldump: [Warning] Using a password on the command line interface can be insecure. — MySQL dump 10.13 Distrib 5.7.17-12, for debian-linux-gnu (x86_64) — — Host: 127.0.0.1 Database: dbname — —————————————————— — Server version 5.7.17-12 /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET […]
我只是重新安装我的系统,我没有做转储备份,但我仍然有我以前的MySQL安装的物理文件夹。 有可能使用它来恢复和更新我目前的configuration?
我的问题可能是相当常见的,但是我仍想问这个问题。 在为大规模应用(例如社交networking)select数据库types时,MySQL能够处理它吗? 我的意思是,数十万,如果不是数百万的用户… 如果没有,我无法想象每个人都将使用微软服务器和SQL。 什么是合适的替代者?
我们正试图诊断MySQL 5.0的死锁问题。 目前所有的表都是MyISAM表,所以所有的锁都是表锁。 我们有一个很好的table_locks_waited到table_locks_immediate比(低于1:1000),但在几分钟内,我们得到了一些死锁。 这只发生在亚马逊EC2上,而不是我们其他的服务器上。 有没有办法logging所有无法立即获取表锁的查询? 我们希望看到所有对table_locks_waited编号有贡献的查询。