处理一些vBulletin性能问题,我遇到了这种情况,一切都卡在等级的表级锁: Id Command Time State Info 83 Query 47 Writing to net SELECT /*!40001 SQL_NO_CACHE */ * FROM `post` 87 Query 117 Waiting for table level lock UPDATE session SET lastactivity = 1362132185, location = '/for 89 Query 116 Waiting for table level lock SELECT * FROM session WHERE userid = 0 AND host = […]
我今晚要迁移一个LAMP服务器,它使用php和MySQL与apache在centos上。 我想阻止人们访问网站/数据库,而我备份。 停止httpd是否足以阻止人们访问数据库,并且在这段时间内能够执行mysqldump吗? 有没有其他的数据库连接器连接到这个mysql,而不是作为一个Apache模块运行的PHP。
我在我的/etc/my.cnf更改了我的MySQL数据集和套接字位置,如下所示: [mysqld] #–default datadir #datadir=/var/lib/mysql #–new datadir datadir=/data/lib/mysql #–default socket #socket=/var/lib/mysql/mysql.sock #–new socket socket=/data/lib/mysql/mysql.sock # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 # slow log log-slow-queries=/var/log/mysqld-slow.log long-query-time=1 [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid [client] #–default socket #socket=/var/lib/mysql/mysql.sock #–new socket socket=/data/lib/mysql/mysql.sock 如上所述写mymyf之后,我用/etc/init.d/mysqld restart启动了mysqld。 我能够通过我的terminal使用mysql -uroot -ppassword连接到我的MySQL,并且我的数据一直存在,所以这里没有问题。 但是当我尝试连接到一个简单的index.php如下MySQL: <? $link = mysql_connect('localhost', 'root', 'password', TRUE); echo $link; […]
我为MySQL运行一个Ubuntu服务器。 服务器信息 Ubuntu 12.10 MySQL通过apt安装 内存:512M innodb_buffer_pool_size :300M 在这个盒子上没有运行其他内存密集型应用程序。 问题 每天早上,在大约。 上午6:40有些事情会引起记忆的显着变化: https://dl.dropbox.com/u/12520837/mem.s.png 与此同时,似乎正在发生一个系统的“杀死”正在运行的进程,导致MySQL重新启动。 4月10日06:43:40 mysql-01内核:[1866472.511966] select 1(init),adj 0,size 41,kill 4月10日06:43:40 mysql-01内核:[1866472.511973]select385(dbus-daemon),adj 0,大小44,杀 Apr 10 06:43:40 mysql-01 kernel:[1866472.511975] select 389(rsyslogd),adj 0,size 124,kill Apr 10 06:43:40 mysql-01 kernel:[1866472.511982] select 4578(snmpd),adj 0,size 160,kill 4月10日06:43:40 mysql-01内核:[1866472.514157] select 1(init),adj 0,size 41,kill 4月10日06:43:40 mysql-01内核:[1866472.514164]select385(dbus-daemon),adj 0,大小44,杀 Apr 10 06:43:40 mysql-01 kernel:[1866472.514166] […]
我很抱歉,如果标题不完全描述我在找什么。 请尽可能编辑。 我有一个bash脚本,执行以下操作: serveruser="root" serverip=1.2.3.4 serverpath="/var/www" ssh "$serveruser"@"$serverip" /bin/bash <<\EOF mkdir -p "$serverpath/mysqldumps/" cd "$serverpath/mysqldumps/" domainname=somedomain.com mysqldump -h 192.168.1.4 -udba -ppassword -c –add-drop-table –add-locks –create-options –databases –quick –lock-tables $domainname > $domainname.sql EOF 我的问题是,我“喂”给ssh多行不parsing我设置的variables。 这显然是因为variables没有在远程机器上设置,只能在我的本地shell中设置。 我怎么能通过这些variables或可能传递多个线路以不同的方式ssh?
在我的主人,我做了: GRANT REPLICATION SLAVE ON *.* TO 'repluser'@'%' IDENTIFIED BY 'mypassword'; 在我的奴隶身上,我看到: mysql> show slave status \G; *************************** 1. row *************************** Slave_IO_State: Connecting to master Master_Host: 12.34.56.78 Master_User: repluser Master_Port: 6666 Connect_Retry: 60 Master_Log_File: Read_Master_Log_Pos: 4 Relay_Log_File: mysqld-relay-bin.000002 Relay_Log_Pos: 4 Relay_Master_Log_File: Slave_IO_Running: Connecting Slave_SQL_Running: Yes Replicate_Do_DB: mydb Replicate_Ignore_DB: Replicate_Do_Table: Replicate_Ignore_Table: Replicate_Wild_Do_Table: Replicate_Wild_Ignore_Table: Last_Errno: 0 Last_Error: […]
正如标题所示,我需要build立可由两个(或多个)不同站点访问的MySQL数据库。 唯一的障碍是我们需要运行一个Windows服务(这是一个第三方应用程序,不能被重写)。 我们有一些野心,随着时间的推移将更多的内部服务转移到云中,所以我们把这个作为一个机会采取一些第一步,但我不确定哪些选项是可用或可行的。 据我所知,我们可以使用Windows Azure , Amazon EC2或简单的虚拟主机提供商(例如http://bigv.io/ )。 从我读到的每一个,因为我们需要运行MySQL,我们最终将不得不运行一个完整的虚拟机,即使在Azure / EC2上。 有没有另外一种方法来做到这一点? 我是否大量误解了什么是可能的甚至是必要的? 如果不是,Azure / EC2可以提供VM主机(甚至是共置盒)的好处吗? (反之亦然?)
在mysql(mysql,mysqladmin)的手册页中,选项以'?'出现。 而不是'-a,-p等',其他命令不受影响 Centos 6.4分钟安装
因为我在我的testing环境(Fedora 18运行mysql-server.x86_64 5.5.31-1.fc18 )几个查询得到errno=24 ,我试图增加mysqld打开的文件限制。 我已经改变了/etc/security/limits.conf的操作系统限制,并切换到MySQL用户,我可以用ulimit -atesting它们是否生效。 我还将以下内容添加到/etc/my.cnf [mysqld] #… open_files_limit = 10000 并重新启动服务(甚至是物理机)多次,但在服务器运行时检查variables, open_files_limit始终为1024.我也试过open-files-limit ,因为我在网上发现的一些例子冲突或模棱两可,但结果相同。 也许这个文件没有被读取,我尝试添加另一个variables,果然,如果我添加和更改其他variables,它们将在运行时variables值中更新,但不会更新open_files_limit 。 所以我的下一个想法是,也许my.cnf文件被另一个在系统上的其他地方取代,但是 [root@host /]# find . -name "*y.cnf" ./etc/my.cnf 所以我不认为还有其他的cnf文件(另外,在dev站点列出的位置没有)。 我无所适从 – 可能会导致mysql不接受open_file_limit的值?
我试图连接到这里提供的卸载的SQL服务器。 它说,我应该连接使用内部IP 172.16.0.51 。 我在我的VPS上安装了nginx和PHP(php5-fpm,php5-mysql)。 phpinfo()也适用。 但是,当我尝试连接到服务器时,出现以下错误。 我试图使用其外部IP连接到服务器,但我仍然得到相同的错误。 SQLSTATE[28000] [1045] Access denied for user 'myuser'@'AAA.BBB.CCC.DDD' (using password: YES) AAA.BBB.CCC.DDD是我的VPS的IP,而不是服务器的IP。 这很奇怪,因为在连接服务器时我没有指定这个IP。 这里是我使用的PHP代码。 try { $dsn = 'mysql:host=172.16.0.51;dbname=myuser_mydatabase;charset=utf8'; $db = new PDO($dsn,'myuser','mypassword'); $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $db->setAttribute(PDO::ATTR_EMULATE_PREPARES, false); } catch (PDOException $e) { echo 'PDO error: ' . $e->getMessage(); exit; } 我在这里做错了什么? 编辑:仅供参考,用户myuser是我注册卸载的SQL时给予的默认用户。 我查了一下,它已经把所有的资助都给了所有的数据库。 我还通过cPanel创build了一个新的数据库和用户,并授予适当的访问权限。 我仍然无法得到这个工作。 我犯了同样的错误。 EDIT2:我将我的vps的IP地址添加到cPanel允许的主机列表中,但是这也没有解决问题。 编辑3:请看我的答案。