У меня периодически возникали проблемы между drupal 7.14 и MediaTemple. В частности, я получаю эту ошибку:
PDOException: SQLSTATE [HY000]: общая ошибка: 1205 Превышено время ожидания блокировки; попробуйте перезапустить транзакцию: SELECT revision.order_number AS order_number, revision.revision_id AS revision_id, revision.revision_uid AS revision_uid, revision.mail AS mail, revision.status AS status, revision.log AS log, revision.revision_timestamp AS revision_timestamp, revision.revision_uid AS revision_hostname, revision.data Данные AS, base.order_id AS order_id, base.type Тип AS, base.uid AS uid, base.created AS создан, base.changed AS изменен, base.hostname AS имя хоста FROM {commerce_order} base INNER ПРИСОЕДИНЯЙТЕСЬ к ревизии {commerce_order_revision} НА revision.revision_id = base.revision_id WHERE (base.order_id IN (: db_condition_placeholder_0)) ДЛЯ ОБНОВЛЕНИЯ; Массив ([: db_condition_placeholder_0] => 75) в DrupalDefaultEntityController-> load () (строка 196 в /nfs/c03/h01/mnt/81976/domains/wgsource.com/html/includes/entity.inc).
Мне сказали, чтобы мой MT изменил тип таблицы на MyISAM, и что между ними и drupal возникла проблема. (см. комментарий №23 Вот). Это не устранило мою проблему. У меня есть контейнер с сеткой, а также отчет и конфигурация. В частности, меня беспокоит строка номер 39 отчета MySQL. Что я могу сделать, чтобы это исправить?
Отчет MySQL
1 MySQL 5.1.26-rc-5.1.26r uptime 0 0:9:1 Tue May 8 14:50:04 2012
2
3 __ Key _________________________________________________________________
4 Buffer used 0 of 24.00M %Used: 0.00
5 Current 4.49M %Usage: 18.71
6 Write hit 0.00%
7 Read hit 0.00%
8
9 __ Questions ___________________________________________________________
10 Total 23 0.0/s
11 Com_ 17 0.0/s %Total: 73.91
12 COM_QUIT 12 0.0/s 52.17
13 -Unknown 9 0.0/s 39.13
14 DMS 3 0.0/s 13.04
15 Slow 0 0/s 0.00 %DMS: 0.00
16 DMS 3 0.0/s 13.04
17 SELECT 3 0.0/s 13.04 100.00
18 REPLACE 0 0/s 0.00 0.00
19 DELETE 0 0/s 0.00 0.00
20 INSERT 0 0/s 0.00 0.00
21 UPDATE 0 0/s 0.00 0.00
22 Com_ 17 0.0/s 73.91
23 show_status 9 0.0/s 39.13
24 show_variab 3 0.0/s 13.04
25 admin_comma 2 0.0/s 8.70
26
27 __ SELECT and Sort _____________________________________________________
28 Scan 6 0.0/s %SELECT: 200.00
29 Range 0 0/s 0.00
30 Full join 0 0/s 0.00
31 Range check 0 0/s 0.00
32 Full rng join 0 0/s 0.00
33 Sort scan 0 0/s
34 Sort range 0 0/s
35 Sort mrg pass 0 0/s
36
37 __ Query Cache _________________________________________________________
38 Memory usage 17.07k of 12.00M %Used: 0.14
39 Block Fragmnt 100.00%
40 Hits 0 0/s
41 Inserts 1 0.0/s
42 Insrt:Prune 1:1 0/s
43 Hit:Insert 0.00:1
44
45 __ Table Locks _________________________________________________________
46 Waited 0 0/s %Total: 0.00
47 Immediate 19 0.0/s
48
49 __ Tables ______________________________________________________________
50 Open 8 of 1024 %Cache: 0.78
51 Opened 15 0.0/s
52
53 __ Connections _________________________________________________________
54 Max used 1 of 60 %Max: 1.67
55 Total 14 0.0/s
56
57 __ Created Temp ________________________________________________________
58 Disk table 2 0.0/s
59 Table 5 0.0/s
60 File 5 0.0/s
61
62 __ Threads _____________________________________________________________
63 Running 1 of 1
64 Cached 0 of 4 %Hit: 92.86
65 Created 1 0.0/s
66 Slow 0 0/s
67
68 __ Aborted _____________________________________________________________
69 Clients 0 0/s
70 Connects 0 0/s
71
72 __ Bytes _______________________________________________________________
73 Sent 18.31k 33.8/s
74 Received 1.49k 2.8/s
Моя конфигурация SQL
#
# Base Container
#
[mysqld_safe]
socket = /var/run/mysqld/mysqld.sock
nice = 0
[mysqld]
max_heap_table_size = 8M
skip-name-resolve
open_files_limit = 8000
#
# * Basic Settings
#
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
language = /usr/share/mysql/english
skip-external-locking
bind-address = 0.0.0.0
# For compatibility
old_passwords = 1
back_log=20
max_connections=60
# due to mysql internally considering connections from 'user@host1' as a separate user from 'user@host2', max_user_connections is largely irrelevant in a clustered situation
max_user_connections=16
max_connect_errors=100000
key_buffer_size=24M
max_heap_table_size=4M
read_buffer_size=128K
read_rnd_buffer_size=128K
sort_buffer_size=256K
table_cache=1024
thread_cache_size=4
tmp_table_size=4M
join_buffer_size=4M
wait_timeout=60
thread_concurrency=4
innodb_file_per_table
max_allowed_packet = 16M
thread_stack = 128K
# query cache
query_cache_limit = 1048576
query_cache_size = 12M
query_cache_type = 1
# slow query log
log-slow-queries = /var/log/mysql/mysql-slow.log
long_query_time = 1
[mysqldump]
quick
quote-names
max_allowed_packet = 16M
[mysql]
no-auto-rehash
[isamchk]
key_buffer = 16M
[client]
port = 3306
socket = /var/run/mysqld/mysqld.sock
Инженеры MT понимают, что это проблема, и предложили исправление, которое можно получить двумя способами. Первый и рекомендуемый метод:
1) Сделайте резервную копию ваших данных 2) Удалите Drupal из своей учетной записи 3) Переустановите Drupal, используя обновленную установку в 1 клик 4) Импортируйте ваши данные
Второй метод не обязательно является ЛУЧШИМ исправлением, но он был протестирован. Примечание: это не поддерживается (mt).
1) Дамп всей БД 2) Дамп таблицы переменных. "mysqldump -uUser -p db1234_drupal variable> db1234_drupal.variable.sql 3) Измените 'engine = INNODB' на 'engine = MyISAM' 3. Повторно импортируйте вашу таблицу
* Заявления, подобные приведенным ниже, теперь будут работать: идентификатор потока MySQL 323367, идентификатор запроса 16367943 205.186.184.26 статистика db94731_blair SELECT 1 AS выражение FROM переменная переменная WHERE ((name = 'icl_manager_role')) FOR UPDATE