Это приложение перечисляет типичные проблемы и ошибки, которые могут произойти и потенциальные решения, в дополнение к перечислению ошибок, которые могут появиться, когда Вы вызываете MySQL из любого языка. Первый раздел покрывает проблемы и решения. Подробная информация об ошибках обеспечена: один список включает сообщения об ошибках сервера. Другой список включает сообщения программы клиента.
Есть несколько источников информации об ошибке в MySQL:
Каждый запрос SQL выдает результаты в коде ошибки, значении SQLSTATE и сообщении об ошибке, как описано в разделе B.2. Эти ошибки возвращены с сервера, см. раздел B.3.
SHOW WARNINGS
и
SHOW ERRORS
. Системная
переменная warning_count
указывает на число ошибок, предупреждений и примечаний.
Системная переменная
error_count
указывает на число ошибок.
Ее значение исключает предупреждения и примечания.GET DIAGNOSTICS
может использоваться, чтобы осмотреть диагностическую информацию в области
диагностики. См. раздел 14.6.7.3.SHOW SLAVE STATUS
выводит информацию об ошибках репликации, происходящих
на ведомой стороне.SHOW ENGINE INNODB STATUS
включает информацию о новой ошибке внешнего ключа, если запрос
CREATE TABLE
для таблицы
InnoDB
терпит неудачу.Описания ошибок сервера и клиента обеспечены позже в этом Приложении.
Для информации об ошибках, связанных с
InnoDB
, см.
раздел 16.20.4.
Когда ошибка происходит в MySQL, сервер возвращает два типа значений:
MySQL-код ошибки. Это значение является числовым. Это не аналогично другим системам баз данных.
'42S02'
). Значения взяты из ANSI SQL и ODBC и
более-менее стандартизированы.Строка сообщения, которая обеспечивает текстовое описание ошибки, также доступна.
Когда ошибка происходит, код ошибки MySQL, значение SQLSTATE и строка сообщения доступны через функции C API:
Код ошибки MySQL: вызовите
mysql_errno()
.
mysql_sqlstate()
.mysql_error()
.Для готовых запросов соответствующие функции ошибок
mysql_stmt_errno()
,
mysql_stmt_sqlstate()
и mysql_stmt_error()
. Все функции ошибок описаны в разделе 25.8
.
Число ошибок, предупреждений и примечаний для предыдущего запроса может
быть получено вызовом
mysql_warning_count()
. См. раздел 25.8.7.77.
Первые два символа значения SQLSTATE указывают на класс ошибки:
'00'
указывает на успех.
'01'
указывает на предупреждение.'02'
указывает на "не найдено found".
Это релевантно в пределах контекста курсоров и используется, чтобы управлять
тем, что происходит, когда курсор достигает конца набора данных. Это условие
также происходит для запроса SELECT ... INTO var_list
, который не получает строк.'02'
указывает на исключение.У программ MySQL есть доступ к нескольким типам информации об ошибке, когда сервер возвращает ошибку. Например, клиент mysql выводит на экран ошибки, используя следующий формат:
shell> SELECT * FROM no_such_table; ERROR 1146 (42S02): Table 'test.no_such_table' doesn't existВыведенное на экран сообщение содержит три типа информации:
Числовой код ошибки (1146
). Это число является
MySQL-определенным и не является переносимым к другим системам баз данных.
'42S02'
). Значения взяты
из ANSI SQL и ODBC и более-менее стандартизированы. Не у всех кодов ошибки
MySQL есть соответствующие значения SQLSTATE. В этих случаях используется
'HY000'
(общая ошибка).Для проверки на ошибки, используйте коды ошибки, а не сообщения об ошибках. Сообщения об ошибках часто не изменяются, но это возможно. Также если администратор базы данных изменяет языковые настройки, которые затрагивают язык сообщений об ошибках, возможны проблемы.
Коды ошибки устойчивы во всех релизах GA данного ряда MySQL. Прежде, чем ряд достигает состояния GA, новые коды могут все еще разрабатываться и подвержены изменениям.
Информация об ошибке сервера прибывает из следующих исходных файлов. Для деталей о способе, которым определена информация об ошибке, см. MySQL Internals Manual.
Информация о сообщении об ошибке перечислена в файле
share/errmsg-utf8.txt
. %d
и %s
представляют числа и строки, соответственно, которые заменяются значениями
в сообщениии, когда оно выведено на экран.
share/errmsg-utf8.txt
,
используются, чтобы произвести определения в исходных файлах
include/mysqld_error.h
и include/mysqld_ername.h
.
share/errmsg-utf8.txt
используются, чтобы произвести определения в исходном файле
include/sql_state.h
MySQL.Поскольку обновления бывают часто, возможно, что те файлы будут содержать дополнительную информацию об ошибках, не перечисленную здесь.
Ошибка: 1002
SQLSTATE: HY000
(ER_NO
)
Сообщение: Нет.
Используется в конструкции других сообщений.
1003
SQLSTATE: HY000
(ER_YES
)
Сообщение: Да.
Используется в конструкции других сообщений.
Расширенный формат EXPLAIN
производит сообщения примечаний.
ER_YES
используется в
столбце Code
для этих сообщений в последующем выводе
SHOW WARNINGS
.
1004
SQLSTATE: HY000
(ER_CANT_CREATE_FILE
)
Сообщение: Can't create file '%s' (errno: %d - %s)
Происходит при отказе создать или скопировать файл, необходимый для некоторой работы.
Возможные причины: проблема разрешений для исходного файла, целевой файл уже существует, но не является записываемым.
1005
SQLSTATE: HY000
(ER_CANT_CREATE_TABLE
)
Сообщение: Can't create table '%s' (errno: %d - %s)
InnoDB
выдает эту ошибку, когда таблица не может быть
составлена. Если сообщение об ошибке относится к ошибке 150, создание таблицы
провалилось из-за того, что ограничение внешнего ключа не было правильно
сформировано. Если сообщение об ошибке относится к ошибке 1, создание таблицы
провалилось потому, что таблица включает имя столбца, которое соответствует
названию внутренней таблицы InnoDB
.
1006
SQLSTATE: HY000
(ER_CANT_CREATE_DB
)
Сообщение: Can't create database '%s' (errno: %d - %s)
1007
SQLSTATE: HY000
(ER_DB_CREATE_EXISTS
)
Сообщение: Can't create database '%s'; database exists
Попытка создать базу данных провалилась, потому что база данных уже
существует. Удалите базу данных сначала, если Вы действительно хотите
заменить существующую базу данных, или добавьте предложение IF NOT
EXISTS
в CREATE DATABASE
для обхода ошибки.
1008
SQLSTATE: HY000
(ER_DB_DROP_EXISTS
)
Сообщение: Can't drop database '%s'; database doesn't exist
1010
SQLSTATE: HY000
(ER_DB_DROP_RMDIR
)
Сообщение: Error dropping database (can't rmdir '%s', errno: %d - %s)
1012
SQLSTATE: HY000
(
ER_CANT_FIND_SYSTEM_REC
)
Сообщение: Can't read record in system table
Возвращена InnoDB
для попыток получить доступ к
InnoDB
-таблицам INFORMATION_SCHEMA
,
когда InnoDB
недоступно.
1013
SQLSTATE: HY000
(ER_CANT_GET_STAT
)
Сообщение: Can't get status of '%s' (errno: %d - %s)
1015
SQLSTATE: HY000
(ER_CANT_LOCK
)
Сообщение: Can't lock file (errno: %d - %s)
1016
SQLSTATE: HY000
(ER_CANT_OPEN_FILE
)
Сообщение: Can't open file: '%s' (errno: %d - %s)
InnoDB
возвращает эту ошибку, когда
файлы данных таблицы
InnoDB
не могут быть найдены.
1017
SQLSTATE: HY000
(ER_FILE_NOT_FOUND
)
Сообщение: Can't find file: '%s' (errno: %d - %s)
1018
SQLSTATE: HY000
(ER_CANT_READ_DIR
)
Сообщение: Can't read dir of '%s' (errno: %d - %s)
1020
SQLSTATE: HY000
(ER_CHECKREAD
)
Сообщение: Record has changed since last read in table '%s'
1022
SQLSTATE: 23000
(ER_DUP_KEY
)
Сообщение: Can't write; duplicate key in table '%s'
1024
SQLSTATE: HY000
(ER_ERROR_ON_READ
)
Сообщение: Error reading file '%s' (errno: %d - %s)
1025
SQLSTATE: HY000
(ER_ERROR_ON_RENAME
)
Сообщение: Error on rename of '%s' to '%s' (errno: %d - %s)
1026
SQLSTATE: HY000
(ER_ERROR_ON_WRITE
)
Сообщение: Error writing file '%s' (errno: %d - %s)
1027
SQLSTATE: HY000
(ER_FILE_USED
)
Сообщение: '%s' is locked against change
1028
SQLSTATE: HY000
(ER_FILSORT_ABORT
)
Сообщение: Sort aborted
1030
SQLSTATE: HY000
(ER_GET_ERRNO
)
Сообщение: Got error %d - '%s' from storage engine
Проверьте значение %d
, чтобы видеть, что означает ошибка в
Вашей OS. Например, 28 указывает, что Вы исчерпали дисковое пространство.
1031
SQLSTATE: HY000
(ER_ILLEGAL_HA
)
Сообщение: Table storage engine for '%s' doesn't have this option
1032
SQLSTATE: HY000
(ER_KEY_NOT_FOUND
)
Сообщение: Can't find record in '%s'
1033
SQLSTATE: HY000
(ER_NOT_FORM_FILE
)
Сообщение: Incorrect information in file: '%s'
1034
SQLSTATE: HY000
(ER_NOT_KEYFILE
)
Сообщение: Incorrect key file for table '%s'; try to repair it
1035
SQLSTATE: HY000
(ER_OLD_KEYFILE
)
Сообщение: Old key file for table '%s'; repair it!
1036
SQLSTATE: HY000
(ER_OPEN_AS_READONLY
)
Сообщение: Table '%s' is read only
1037
SQLSTATE: HY001
(ER_OUTOFMEMORY
)
Сообщение: Out of memory; restart server and try again (needed %d bytes)
1038
SQLSTATE: HY001
(ER_OUT_OF_SORTMEMORY
)
Сообщение: Out of sort memory, consider increasing server sort buffer size
1040
SQLSTATE: 08004
(ER_CON_COUNT_ERROR
)
Сообщение: Too many connections
1041
SQLSTATE: HY000
(ER_OUT_OF_RESOURCES
)
Сообщение: Out of memory; check if mysqld or some other process uses all available memory; if not, you may have to use 'ulimit' to allow mysqld to use more memory or you can add more swap space
1042
SQLSTATE: 08S01
(ER_BAD_HOST_ERROR
)
Сообщение: Can't get hostname for your address
1043
SQLSTATE: 08S01
(ER_HANDSHAKE_ERROR
)
Сообщение: Bad handshake
1044
SQLSTATE: 42000
(
ER_DBACCESS_DENIED_ERROR
)
Сообщение: Access denied for user '%s'@'%s' to database '%s'
1045
SQLSTATE: 28000
(
ER_ACCESS_DENIED_ERROR
)
Сообщение: Access denied for user '%s'@'%s' (using password: %s)
1046
SQLSTATE: 3D000
(ER_NO_DB_ERROR
)
Сообщение: No database selected
1047
SQLSTATE: 08S01
(ER_UNKNOWN_COM_ERROR
)
Сообщение: Unknown command
1048
SQLSTATE: 23000
(ER_BAD_NULL_ERROR
)
Сообщение: Column '%s' cannot be null
1049
SQLSTATE: 42000
(ER_BAD_DB_ERROR
)
Сообщение: Unknown database '%s'
1050
SQLSTATE: 42S01
(ER_TABLE_EXISTS_ERROR
)
Сообщение: Table '%s' already exists
1051
SQLSTATE: 42S02
(ER_BAD_TABLE_ERROR
)
Сообщение: Unknown table '%s'
1052
SQLSTATE: 23000
(ER_NON_UNIQ_ERROR
)
Сообщение: Column '%s' in %s is ambiguous. %s = имя столбца. %s = местоположение столбца (например, "список полей"). Вероятная причина: столбец появляется в запросе без соответствующей квалификации, такой как в списке select или предложении ON.
Примеры:
mysql> SELECT i FROM t INNER JOIN t AS t2; ERROR 1052 (23000): Column 'i' in field list is ambiguous mysql> SELECT * FROM t LEFT JOIN t AS t2 ON i = i; ERROR 1052 (23000): Column 'i' in on clause is ambiguousРешения:
Квалифицируйте столбец с соответствующим именем таблицы:
mysql> SELECT t2.i FROM t INNER JOIN t AS t2;
mysql> SELECT * FROM t LEFT JOIN t AS t2 USING (i);
Ошибка: 1053
SQLSTATE: 08S01
(ER_SERVER_SHUTDOWN
)
Сообщение: Server shutdown in progress
1054
SQLSTATE: 42S22
(ER_BAD_FIELD_ERROR
)
Сообщение: Unknown column '%s' in '%s'
1055
SQLSTATE: 42000
(
ER_WRONG_FIELD_WITH_GROUP
)
Сообщение: '%s' isn't in GROUP BY
1056
SQLSTATE: 42000
(ER_WRONG_GROUP_FIELD
)
Сообщение: Can't group on '%s'
1057
SQLSTATE: 42000
(ER_WRONG_SUM_SELECT
)
Сообщение: Statement has sum functions and columns in same statement
1058
SQLSTATE: 21S01
(ER_WRONG_VALUE_COUNT
)
Сообщение: Column count doesn't match value count
1059
SQLSTATE: 42000
(ER_TOO_LONG_IDENT
)
Сообщение: Identifier name '%s' is too long
1060
SQLSTATE: 42S21
(ER_DUP_FIELDNAME
)
Сообщение: Duplicate column name '%s'
1061
SQLSTATE: 42000
(ER_DUP_KEYNAME
)
Сообщение: Duplicate key name '%s'
1062
SQLSTATE: 23000
(ER_DUP_ENTRY
)
Сообщение: Duplicate entry '%s' for key %d
Сообщение, возвращенное с этой ошибкой, использует строку формата для
ER_DUP_ENTRY_WITH_KEY_NAME
.
1063
SQLSTATE: 42000
(ER_WRONG_FIELD_SPEC
)
Сообщение: Incorrect column specifier for column '%s'
1064
SQLSTATE: 42000
(ER_PARSE_ERROR
)
Сообщение: %s near '%s' at line %d
1065
SQLSTATE: 42000
(ER_EMPTY_QUERY
)
Сообщение: Query was empty
1066
SQLSTATE: 42000
(ER_NONUNIQ_TABLE
)
Сообщение: Not unique table/alias: '%s'
1067
SQLSTATE: 42000
(ER_INVALID_DEFAULT
)
Сообщение: Invalid default value for '%s'
1068
SQLSTATE: 42000
(ER_MULTIPLE_PRI_KEY
)
Сообщение: Multiple primary key defined
1069
SQLSTATE: 42000
(ER_TOO_MANY_KEYS
)
Сообщение: Too many keys specified; max %d keys allowed
1070
SQLSTATE: 42000
(ER_TOO_MANY_KEY_PARTS
)
Сообщение: Too many key parts specified; max %d parts allowed
1071
SQLSTATE: 42000
(ER_TOO_LONG_KEY
)
Сообщение: Specified key was too long; max key length is %d bytes
1072
SQLSTATE: 42000
(
ER_KEY_COLUMN_DOES_NOT_EXITS
)
Сообщение: Key column '%s' doesn't exist in table
1073
SQLSTATE: 42000
(ER_BLOB_USED_AS_KEY
)
Сообщение: BLOB column '%s' can't be used in key specification with the used table type
1074
SQLSTATE: 42000
(
ER_TOO_BIG_FIELDLENGTH
)
Сообщение: Column length too big for column '%s' (max = %lu); use BLOB or TEXT instead
1075
SQLSTATE: 42000
(ER_WRONG_AUTO_KEY
)
Сообщение: Incorrect table definition; there can be only one auto column and it must be defined as a key
1076
SQLSTATE: HY000
(ER_READY
)
Сообщение: %s: ready for connections. Version: '%s' socket: '%s' port: %d
1077
SQLSTATE: HY000
(ER_NORMAL_SHUTDOWN
)
Сообщение: %s: Normal shutdown
1079
SQLSTATE: HY000
(ER_SHUTDOWN_COMPLETE
)
Сообщение: %s: Shutdown complete
1080
SQLSTATE: 08S01
(ER_FORCING_CLOSE
)
Сообщение: %s: Forcing close of thread %ld user: '%s'
1081
SQLSTATE: 08S01
(ER_IPSOCK_ERROR
)
Сообщение: Can't create IP socket
1082
SQLSTATE: 42S12
(ER_NO_SUCH_INDEX
)
Сообщение: Table '%s' has no index like the one used in CREATE INDEX; recreate the table
1083
SQLSTATE: 42000
(
ER_WRONG_FIELD_TERMINATORS
)
Сообщение: Field separator argument is not what is expected; check the manual
1084
SQLSTATE: 42000
(ER_BLOBS_AND_NO_TERMINATED
)
Сообщение: You can't use fixed rowlength with BLOBs; please use 'fields terminated by'
1085
SQLSTATE: HY000
(ER_TEXTFILE_NOT_READABLE
)
Сообщение: The file '%s' must be in the database directory or be readable by all
1086
SQLSTATE: HY000
(ER_FILE_EXISTS_ERROR
)
Сообщение: File '%s' already exists
1087
SQLSTATE: HY000
(ER_LOAD_INFO
)
Сообщение: Records: %ld Deleted: %ld Skipped: %ld Warnings: %ld
1088
SQLSTATE: HY000
(ER_ALTER_INFO
)
Сообщение: Records: %ld Duplicates: %ld
1089
SQLSTATE: HY000
(ER_WRONG_SUB_KEY
)
Сообщение: Incorrect prefix key; the used key part isn't a string, the used length is longer than the key part, or the storage engine doesn't support unique prefix keys
1090
SQLSTATE: 42000
(ER_CANT_REMOVE_ALL_FIELDS
)
Сообщение: You can't delete all columns with ALTER TABLE; use DROP TABLE instead
1091
SQLSTATE: 42000
(ER_CANT_DROP_FIELD_OR_KEY
)
Сообщение: Can't DROP '%s'; check that column/key exists
1092
SQLSTATE: HY000
(ER_INSERT_INFO
)
Сообщение: Records: %ld Duplicates: %ld Warnings: %ld
1093
SQLSTATE: HY000
(ER_UPDATE_TABLE_USED
)
Сообщение: You can't specify target table '%s' for update in FROM clause
Эта ошибка происходит для попыток выбрать из и изменить ту же самую
таблицу в пределах единственного запроса. Если попытка происходит в пределах
полученной таблицы, Вы можете избежать этой ошибки, устанавливая флаг
derived_merge
в системной переменной
optimizer_switch
, чтобы вынудить подзапрос использовать временную таблицу, которая точно
будет не той таблицей, которая меняется. См.
раздел 9.2.1.18.3.
1094
SQLSTATE: HY000
(ER_NO_SUCH_THREAD
)
Сообщение: Unknown thread id: %lu
1095
SQLSTATE: HY000
(ER_KILL_DENIED_ERROR
)
Сообщение: You are not owner of thread %lu
1096
SQLSTATE: HY000
(ER_NO_TABLES_USED
)
Сообщение: No tables used
1097
SQLSTATE: HY000
(ER_TOO_BIG_SET
)
Сообщение: Too many strings for column %s and SET
1098
SQLSTATE: HY000
(ER_NO_UNIQUE_LOGFILE
)
Сообщение: Can't generate a unique log-filename %s.(1-999)
1099
SQLSTATE: HY000
(
ER_TABLE_NOT_LOCKED_FOR_WRITE
)
Сообщение: Table '%s' was locked with a READ lock and can't be updated
1100
SQLSTATE: HY000
(ER_TABLE_NOT_LOCKED
)
Сообщение: Table '%s' was not locked with LOCK TABLES
1101
SQLSTATE: 42000
(
ER_BLOB_CANT_HAVE_DEFAULT
)
Сообщение: BLOB, TEXT, GEOMETRY or JSON column '%s' can't have a default value
1102
SQLSTATE: 42000
(ER_WRONG_DB_NAME
)
Сообщение: Incorrect database name '%s'
1103
SQLSTATE: 42000
(ER_WRONG_TABLE_NAME
)
Сообщение: Incorrect table name '%s'
1104
SQLSTATE: 42000
(ER_TOO_BIG_SELECT
)
Сообщение: The SELECT would examine more than MAX_JOIN_SIZE rows; check your WHERE and use SET SQL_BIG_SELECTS=1 or SET MAX_JOIN_SIZE=# if the SELECT is okay
1105
SQLSTATE: HY000
(ER_UNKNOWN_ERROR
)
Сообщение: Unknown error
1106
SQLSTATE: 42000
(ER_UNKNOWN_PROCEDURE
)
Сообщение: Unknown procedure '%s'
1107
SQLSTATE: 42000
(
ER_WRONG_PARAMCOUNT_TO_PROCEDURE
)
Сообщение: Incorrect parameter count to procedure '%s'
1108
SQLSTATE: HY000
(
ER_WRONG_PARAMETERS_TO_PROCEDURE
)
Сообщение: Incorrect parameters to procedure '%s'
1109
SQLSTATE: 42S02
(ER_UNKNOWN_TABLE
)
Сообщение: Unknown table '%s' in %s
1110
SQLSTATE: 42000
(
ER_FIELD_SPECIFIED_TWICE
)
Сообщение: Column '%s' specified twice
1111
SQLSTATE: HY000
(
ER_INVALID_GROUP_FUNC_USE
)
Сообщение: Invalid use of group function
1112
SQLSTATE: 42000
(
ER_UNSUPPORTED_EXTENSION
)
Сообщение: Table '%s' uses an extension that doesn't exist in this MySQL version
1113
SQLSTATE: 42000
(
ER_TABLE_MUST_HAVE_COLUMNS
)
Сообщение: A table must have at least 1 column
1114
SQLSTATE: HY000
(ER_RECORD_FILE_FULL
)
Сообщение: The table '%s' is full
InnoDB
возвращает эту ошибку, когда системное табличное
пространство исчерпывает свободное пространство. Реконфигурируйте системное
табличное пространство, чтобы добавить новый файл с данными.
1115
SQLSTATE: 42000
(
ER_UNKNOWN_CHARACTER_SET
)
Сообщение: Unknown character set: '%s'
1116
SQLSTATE: HY000
(ER_TOO_MANY_TABLES
)
Сообщение: Too many tables; MySQL can only use %d tables in a join
1117
SQLSTATE: HY000
(ER_TOO_MANY_FIELDS
)
Сообщение: Too many columns
1118
SQLSTATE: 42000
(ER_TOO_BIG_ROWSIZE
)
Сообщение: Row size too large. The maximum row size for the used table type, not counting BLOBs, is %ld. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs
1119
SQLSTATE: HY000
(ER_STACK_OVERRUN
)
Сообщение: Thread stack overrun: Used: %ld of a %ld stack. Use 'mysqld --thread_stack=#' to specify a bigger stack if needed
1120
SQLSTATE: 42000
(ER_WRONG_OUTER_JOIN
)
Сообщение: Cross dependency found in OUTER JOIN; examine your ON conditions
1121
SQLSTATE: 42000
(
ER_NULL_COLUMN_IN_INDEX
)
Сообщение: Table handler doesn't support NULL in given index. Please change column '%s' to be NOT NULL or use another handler
1122
SQLSTATE: HY000
(ER_CANT_FIND_UDF
)
Сообщение: Can't load function '%s'
1123
SQLSTATE: HY000
(
ER_CANT_INITIALIZE_UDF
)
Сообщение: Can't initialize function '%s'; %s
1124
SQLSTATE: HY000
(ER_UDF_NO_PATHS
)
Сообщение: No paths allowed for shared library
1125
SQLSTATE: HY000
(ER_UDF_EXISTS
)
Сообщение: Function '%s' already exists
1126
SQLSTATE: HY000
(ER_CANT_OPEN_LIBRARY
)
Сообщение: Can't open shared library '%s' (errno: %d %s)
1127
SQLSTATE: HY000
(ER_CANT_FIND_DL_ENTRY
)
Сообщение: Can't find symbol '%s' in library
1128
SQLSTATE: HY000
(
ER_FUNCTION_NOT_DEFINED
)
Сообщение: Function '%s' is not defined
1129
SQLSTATE: HY000
(ER_HOST_IS_BLOCKED
)
Сообщение: Host '%s' is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts'
1130
SQLSTATE: HY000
(
ER_HOST_NOT_PRIVILEGED
)
Сообщение: Host '%s' is not allowed to connect to this MySQL server
1131
SQLSTATE: 42000
(
ER_PASSWORD_ANONYMOUS_USER
)
Сообщение: You are using MySQL as an anonymous user and anonymous users are not allowed to change passwords
1132
SQLSTATE: 42000
(
ER_PASSWORD_NOT_ALLOWED
)
Сообщение: You must have privileges to update tables in the mysql database to be able to change passwords for others
1133
SQLSTATE: 42000
(ER_PASSWORD_NO_MATCH
)
Сообщение: Can't find any matching row in the user table
1134
SQLSTATE: HY000
(ER_UPDATE_INFO
)
Сообщение: Rows matched: %ld Changed: %ld Warnings: %ld
1135
SQLSTATE: HY000
(ER_CANT_CREATE_THREAD
)
Сообщение: Can't create a new thread (errno %d); if you are not out of available memory, you can consult the manual for a possible OS-dependent bug
1136
SQLSTATE: 21S01
(
ER_WRONG_VALUE_COUNT_ON_ROW
)
Сообщение: Column count doesn't match value count at row %ld
1137
SQLSTATE: HY000
(ER_CANT_REOPEN_TABLE
)
Сообщение: Can't reopen table: '%s'
1138
SQLSTATE: 22004
(
ER_INVALID_USE_OF_NULL
)
Сообщение: Invalid use of NULL value
1139
SQLSTATE: 42000
(ER_REGEXP_ERROR
)
Сообщение: Got error '%s' from regexp
1140
SQLSTATE: 42000
(
ER_MIX_OF_GROUP_FUNC_AND_FIELDS
)
Сообщение: Mixing of GROUP columns (MIN(),MAX(),COUNT(),...) with no GROUP columns is illegal if there is no GROUP BY clause
1141
SQLSTATE: 42000
(ER_NONEXISTING_GRANT
)
Сообщение: There is no such grant defined for user '%s' on host '%s'
1142
SQLSTATE: 42000
(
ER_TABLEACCESS_DENIED_ERROR
)
Сообщение: %s command denied to user '%s'@'%s' for table '%s'
1143
SQLSTATE: 42000
(
ER_COLUMNACCESS_DENIED_ERROR
)
Сообщение: %s command denied to user '%s'@'%s' for column '%s' in table '%s'
1144
SQLSTATE: 42000
(
ER_ILLEGAL_GRANT_FOR_TABLE
)
Сообщение: Illegal GRANT/REVOKE command; please consult the manual to see which privileges can be used
1145
SQLSTATE: 42000
(
ER_GRANT_WRONG_HOST_OR_USER
)
Сообщение: The host or user argument to GRANT is too long
1146
SQLSTATE: 42S02
(ER_NO_SUCH_TABLE
)
Сообщение: Table '%s.%s' doesn't exist
1147
SQLSTATE: 42000
(
ER_NONEXISTING_TABLE_GRANT
)
Сообщение: There is no such grant defined for user '%s' on host '%s' on table '%s'
1148
SQLSTATE: 42000
(
ER_NOT_ALLOWED_COMMAND
)
Сообщение: The used command is not allowed with this MySQL version
1149
SQLSTATE: 42000
(ER_SYNTAX_ERROR
)
Сообщение: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use
1152
SQLSTATE: 08S01
(
ER_ABORTING_CONNECTION
)
Сообщение: Aborted connection %ld to db: '%s' user: '%s' (%s)
1153
SQLSTATE: 08S01
(
ER_NET_PACKET_TOO_LARGE
)
Сообщение: Got a packet bigger than 'max_allowed_packet' bytes
1154
SQLSTATE: 08S01
(
ER_NET_READ_ERROR_FROM_PIPE
)
Сообщение: Got a read error from the connection pipe
1155
SQLSTATE: 08S01
(ER_NET_FCNTL_ERROR
)
Сообщение: Got an error from fcntl()
1156
SQLSTATE: 08S01
(
ER_NET_PACKETS_OUT_OF_ORDER
)
Сообщение: Got packets out of order
1157
SQLSTATE: 08S01
(
ER_NET_UNCOMPRESS_ERROR
)
Сообщение: Couldn't uncompress communication packet
1158
SQLSTATE: 08S01
(ER_NET_READ_ERROR
)
Сообщение: Got an error reading communication packets
1159
SQLSTATE: 08S01
(
ER_NET_READ_INTERRUPTED
)
Сообщение: Got timeout reading communication packets
1160
SQLSTATE: 08S01
(ER_NET_ERROR_ON_WRITE
)
Сообщение: Got an error writing communication packets
1161
SQLSTATE: 08S01
(
ER_NET_WRITE_INTERRUPTED
)
Сообщение: Got timeout writing communication packets
1162
SQLSTATE: 42000
(ER_TOO_LONG_STRING
)
Сообщение: Result string is longer than 'max_allowed_packet' bytes
1163
SQLSTATE: 42000
(
ER_TABLE_CANT_HANDLE_BLOB
)
Сообщение: The used table type doesn't support BLOB/TEXT columns
1164
SQLSTATE: 42000
(
ER_TABLE_CANT_HANDLE_AUTO_INCREMENT
)
Сообщение: The used table type doesn't support AUTO_INCREMENT columns
1166
SQLSTATE: 42000
(ER_WRONG_COLUMN_NAME
)
Сообщение: Incorrect column name '%s'
1167
SQLSTATE: 42000
(ER_WRONG_KEY_COLUMN
)
Сообщение: The used storage engine can't index column '%s'
1168
SQLSTATE: HY000
(ER_WRONG_MRG_TABLE
)
Сообщение: Unable to open underlying table which is differently defined or of non-MyISAM type or doesn't exist
1169
SQLSTATE: 23000
(ER_DUP_UNIQUE
)
Сообщение: Can't write, because of unique constraint, to table '%s'
1170
SQLSTATE: 42000
(
ER_BLOB_KEY_WITHOUT_LENGTH
)
Сообщение: BLOB/TEXT column '%s' used in key specification without a key length
1171
SQLSTATE: 42000
(
ER_PRIMARY_CANT_HAVE_NULL
)
Сообщение: All parts of a PRIMARY KEY must be NOT NULL; if you need NULL in a key, use UNIQUE instead
1172
SQLSTATE: 42000
(ER_TOO_MANY_ROWS
)
Сообщение: Result consisted of more than one row
1173
SQLSTATE: 42000
(
ER_REQUIRES_PRIMARY_KEY
)
Сообщение: This table type requires a primary key
1175
SQLSTATE: HY000
(
ER_UPDATE_WITHOUT_KEY_IN_SAFE_MODE
)
Сообщение: You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column
1176
SQLSTATE: 42000
(ER_KEY_DOES_NOT_EXITS
)
Сообщение: Key '%s' doesn't exist in table '%s'
1177
SQLSTATE: 42000
(
ER_CHECK_NO_SUCH_TABLE
)
Сообщение: Can't open table
1178
SQLSTATE: 42000
(
ER_CHECK_NOT_IMPLEMENTED
)
Сообщение: The storage engine for the table doesn't support %s
1179
SQLSTATE: 25000
(
ER_CANT_DO_THIS_DURING_AN_TRANSACTION
)
Сообщение: You are not allowed to execute this command in a transaction
1180
SQLSTATE: HY000
(
ER_ERROR_DURING_COMMIT
)
Сообщение: Got error %d - '%s' during COMMIT
1181
SQLSTATE: HY000
(
ER_ERROR_DURING_ROLLBACK
)
Сообщение: Got error %d - '%s' during ROLLBACK
1182
SQLSTATE: HY000
(
ER_ERROR_DURING_FLUSH_LOGS
)
Сообщение: Got error %d during FLUSH_LOGS
1184
SQLSTATE: 08S01
(
ER_NEW_ABORTING_CONNECTION
)
Сообщение: Aborted connection %u to db: '%s' user: '%s' host: '%s' (%s)
1188
SQLSTATE: HY000
(ER_MASTER
)
Сообщение: Error from master: '%s'
1189
SQLSTATE: 08S01
(ER_MASTER_NET_READ
)
Сообщение: Net error reading from master
1190
SQLSTATE: 08S01
(ER_MASTER_NET_WRITE
)
Сообщение: Net error writing to master
1191
SQLSTATE: HY000
(
ER_FT_MATCHING_KEY_NOT_FOUND
)
Сообщение: Can't find FULLTEXT index matching the column list
1192
SQLSTATE: HY000
(
ER_LOCK_OR_ACTIVE_TRANSACTION
)
Сообщение: Can't execute the given command because you have active locked tables or an active transaction
1193
SQLSTATE: HY000
(
ER_UNKNOWN_SYSTEM_VARIABLE
)
Сообщение: Unknown system variable '%s'
1194
SQLSTATE: HY000
(ER_CRASHED_ON_USAGE
)
Сообщение: Table '%s' is marked as crashed and should be repaired
1195
SQLSTATE: HY000
(ER_CRASHED_ON_REPAIR
)
Сообщение: Table '%s' is marked as crashed and last (automatic?) repair failed
1196
SQLSTATE: HY000
(ER_WARNING_NOT_COMPLETE_ROLLBACK
)
Сообщение: Some non-transactional changed tables couldn't be rolled back
1197
SQLSTATE: HY000
(ER_TRANS_CACHE_FULL
)
Сообщение: Multi-statement transaction required more than 'max_binlog_cache_size' bytes of storage; increase this mysqld variable and try again
1199
SQLSTATE: HY000
(ER_SLAVE_NOT_RUNNING
)
Сообщение: This operation requires a running slave; configure slave and do START SLAVE
1200
SQLSTATE: HY000
(ER_BAD_SLAVE
)
Сообщение: The server is not configured as slave; fix in config file or with CHANGE MASTER TO
1201
SQLSTATE: HY000
(ER_MASTER_INFO
)
Сообщение: Could not initialize master info structure; more error messages can be found in the MySQL error log
1202
SQLSTATE: HY000
(ER_SLAVE_THREAD
)
Сообщение: Could not create slave thread; check system resources
1203
SQLSTATE: 42000
(ER_TOO_MANY_USER_CONNECTIONS
)
Сообщение: User %s already has more than 'max_user_connections' active connections
1204
SQLSTATE: HY000
(ER_SET_CONSTANTS_ONLY
)
Сообщение: You may only use constant expressions with SET
1205
SQLSTATE: HY000
(ER_LOCK_WAIT_TIMEOUT
)
Сообщение: Lock wait timeout exceeded; try restarting transaction
InnoDB
выдает эту ошибку, когда блокировка ждет тайм-аут.
Запрос, который ждал слишком долго,
откатывается (не вся
транзакция).
Вы можете увеличить значение параметра конфигурации
innodb_lock_wait_timeout
, если запросы SQL должны ждать дольше
других транзакций, чтобы завершиться, или уменьшить это, если слишком много
продолжительных транзакций вызывают проблемы
блокировки и сокращают
параллелизм
на занятой системе.
1206
SQLSTATE: HY000
(ER_LOCK_TABLE_FULL
)
Сообщение: The total number of locks exceeds the lock table size
InnoDB
выдает эту ошибку, когда общее количество блокировок
превышает объем памяти, посвященный управлению блокировками. Чтобы избежать
этой ошибки, увеличьте значение
innodb_buffer_pool_size
. В пределах отдельного приложения обходное
решение может быть в том, чтобы разделить большую работу на мелкие кусочки.
Например, если ошибка происходит для большого
INSERT
, выполните несколько меньших операций
INSERT
.
1207
SQLSTATE: 25000
(
ER_READ_ONLY_TRANSACTION
)
Сообщение: Update locks cannot be acquired during a READ UNCOMMITTED transaction
1210
SQLSTATE: HY000
(ER_WRONG_ARGUMENTS
)
Сообщение: Incorrect arguments to %s
1211
SQLSTATE: 42000
(
ER_NO_PERMISSION_TO_CREATE_USER
)
Сообщение: '%s'@'%s' is not allowed to create new users
1213
SQLSTATE: 40001
(ER_LOCK_DEADLOCK
)
Сообщение: Deadlock found when trying to get lock; try restarting transaction
InnoDB
выдает эту ошибку, когда
транзакция сталкивается с
тупиком и автоматически
откатывается так, чтобы Ваше
приложение могло принять меры по ликвидации последствий. Чтобы оправиться от
этой ошибки, выполните все операции в этой транзакции снова. Тупик
происходит, когда запросы о блокировках прибывают в непоследовательном
порядке между транзакциями. Отмененная транзакция выпустила все свои
блокировки, и другая может теперь получить все блокировки, которые просила.
Таким образом, когда Вы запускаете повторно транзакцию, которая была
отменена, ей, возможно, придется ждать других транзакций, чтобы завершиться,
но как правило тупик не возвращается. Если Вы сталкиваетесь с частыми
тупиками, сделайте последовательность из блокировки операций
(LOCK TABLES
, SELECT ... FOR UPDATE
и т. п.)
последовательно между различными транзакциями или приложениями, которые
испытывают проблему. См.
раздел 16.5.5.
1214
SQLSTATE: HY000
(
ER_TABLE_CANT_HANDLE_FT
)
Сообщение: The used table type doesn't support FULLTEXT indexes
1215
SQLSTATE: HY000
(ER_CANNOT_ADD_FOREIGN
)
Сообщение: Cannot add foreign key constraint
1216
SQLSTATE: 23000
(ER_NO_REFERENCED_ROW
)
Сообщение: Cannot add or update a child row: a foreign key constraint fails
InnoDB
выдает эту ошибку, когда Вы пытаетесь добавить строку,
но нет никакой родительской строки, и
ограничения внешнего
ключа терпят неудачу. Добавьте родительскую строку сначала.
1217
SQLSTATE: 23000
(
ER_ROW_IS_REFERENCED
)
Сообщение: Cannot delete or update a parent row: a foreign key constraint fails
InnoDB
выдает эту ошибку, когда Вы пытаетесь удалить
родительскую строку, у которой есть дочерние элементы, и
ограничения внешнего
ключа терпят неудачу. Удалите дочерние элементы сначала.
1218
SQLSTATE: 08S01
(ER_CONNECT_TO_MASTER
)
Сообщение: Error connecting to master: %s
1220
SQLSTATE: HY000
(
ER_ERROR_WHEN_EXECUTING_COMMAND
)
Сообщение: Error when executing command %s: %s
1221
SQLSTATE: HY000
(ER_WRONG_USAGE
)
Сообщение: Incorrect usage of %s and %s
1222
SQLSTATE: 21000
(
ER_WRONG_NUMBER_OF_COLUMNS_IN_SELECT
)
Сообщение: The used SELECT statements have a different number of columns
1223
SQLSTATE: HY000
(
ER_CANT_UPDATE_WITH_READLOCK
)
Сообщение: Can't execute the query because you have a conflicting read lock
1224
SQLSTATE: HY000
(ER_MIXING_NOT_ALLOWED
)
Сообщение: Mixing of transactional and non-transactional tables is disabled
1225
SQLSTATE: HY000
(ER_DUP_ARGUMENT
)
Сообщение: Option '%s' used twice in statement
1226
SQLSTATE: 42000
(ER_USER_LIMIT_REACHED
)
Сообщение: User '%s' has exceeded the '%s' resource (current value: %ld)
1227
SQLSTATE: 42000
(ER_SPECIFIC_ACCESS_DENIED_ERROR
)
Сообщение: Access denied; you need (at least one of) the %s privilege(s) for this operation
1228
SQLSTATE: HY000
(ER_LOCAL_VARIABLE
)
Сообщение: Variable '%s' is a SESSION variable and can't be used with SET GLOBAL
1229
SQLSTATE: HY000
(ER_GLOBAL_VARIABLE
)
Сообщение: Variable '%s' is a GLOBAL variable and should be set with SET GLOBAL
1230
SQLSTATE: 42000
(ER_NO_DEFAULT
)
Сообщение: Variable '%s' doesn't have a default value
1231
SQLSTATE: 42000
(ER_WRONG_VALUE_FOR_VAR
)
Сообщение: Variable '%s' can't be set to the value of '%s'
1232
SQLSTATE: 42000
(ER_WRONG_TYPE_FOR_VAR
)
Сообщение: Incorrect argument type to variable '%s'
1233
SQLSTATE: HY000
(ER_VAR_CANT_BE_READ
)
Сообщение: Variable '%s' can only be set, not read
1234
SQLSTATE: 42000
(ER_CANT_USE_OPTION_HERE
)
Сообщение: Incorrect usage/placement of '%s'
1235
SQLSTATE: 42000
(ER_NOT_SUPPORTED_YET
)
Сообщение: This version of MySQL doesn't yet support '%s'
1236
SQLSTATE: HY000
(ER_MASTER_FATAL_ERROR_READING_BINLOG
)
Сообщение: Got fatal error %d from master when reading data from binary log: '%s'
1237
SQLSTATE: HY000
(ER_SLAVE_IGNORED_TABLE
)
Сообщение: Slave SQL thread ignored the query because of replicate-*-table rules
1238
SQLSTATE: HY000
(ER_INCORRECT_GLOBAL_LOCAL_VAR
)
Сообщение: Variable '%s' is a %s variable
1239
SQLSTATE: 42000
(ER_WRONG_FK_DEF
)
Сообщение: Incorrect foreign key definition for '%s': %s
1240
SQLSTATE: HY000
(ER_KEY_REF_DO_NOT_MATCH_TABLE_REF
)
Сообщение: Key reference and table reference don't match
1241
SQLSTATE: 21000
(ER_OPERAND_COLUMNS
)
Сообщение: Operand should contain %d column(s)
1242
SQLSTATE: 21000
(ER_SUBQUERY_NO_1_ROW
)
Сообщение: Subquery returns more than 1 row
1243
SQLSTATE: HY000
(ER_UNKNOWN_STMT_HANDLER
)
Сообщение: Unknown prepared statement handler (%.*s) given to %s
1244
SQLSTATE: HY000
(ER_CORRUPT_HELP_DB
)
Сообщение: Help database is corrupt or does not exist
1246
SQLSTATE: HY000
(ER_AUTO_CONVERT
)
Сообщение: Converting column '%s' from %s to %s
1247
SQLSTATE: 42S22
(ER_ILLEGAL_REFERENCE
)
Сообщение: Reference '%s' not supported (%s)
1248
SQLSTATE: 42000
(ER_DERIVED_MUST_HAVE_ALIAS
)
Сообщение: Every derived table must have its own alias
1249
SQLSTATE: 01000
(ER_SELECT_REDUCED
)
Сообщение: Select %u was reduced during optimization
1250
SQLSTATE: 42000
(ER_TABLENAME_NOT_ALLOWED_HERE
)
Сообщение: Table '%s' from one of the SELECTs cannot be used in %s
1251
SQLSTATE: 08004
(ER_NOT_SUPPORTED_AUTH_MODE
)
Сообщение: Client does not support authentication protocol requested by server; consider upgrading MySQL client
1252
SQLSTATE: 42000
(ER_SPATIAL_CANT_HAVE_NULL
)
Сообщение: All parts of a SPATIAL index must be NOT NULL
1253
SQLSTATE: 42000
(ER_COLLATION_CHARSET_MISMATCH
)
Сообщение: COLLATION '%s' is not valid for CHARACTER SET '%s'
1256
SQLSTATE: HY000
(ER_TOO_BIG_FOR_UNCOMPRESS
)
Сообщение: Uncompressed data size too large; the maximum size is %d (probably, length of uncompressed data was corrupted)
1257
SQLSTATE: HY000
(ER_ZLIB_Z_MEM_ERROR
)
Сообщение: ZLIB: Not enough memory
1258
SQLSTATE: HY000
(ER_ZLIB_Z_BUF_ERROR
)
Сообщение: ZLIB: Not enough room in the output buffer (probably, length of uncompressed data was corrupted)
1259
SQLSTATE: HY000
(ER_ZLIB_Z_DATA_ERROR
)
Сообщение: ZLIB: Input data corrupted
1260
SQLSTATE: HY000
(ER_CUT_VALUE_GROUP_CONCAT
)
Сообщение: Row %u was cut by GROUP_CONCAT()
1261
SQLSTATE: 01000
(ER_WARN_TOO_FEW_RECORDS
)
Сообщение: Row %ld doesn't contain data for all columns
1262
SQLSTATE: 01000
(ER_WARN_TOO_MANY_RECORDS
)
Сообщение: Row %ld was truncated; it contained more data than there were input columns
1263
SQLSTATE: 22004
(ER_WARN_NULL_TO_NOTNULL
)
Сообщение: Column set to default value; NULL supplied to NOT NULL column '%s' at row %ld
1264
SQLSTATE: 22003
(ER_WARN_DATA_OUT_OF_RANGE
)
Сообщение: Out of range value for column '%s' at row %ld
1265
SQLSTATE: 01000
(WARN_DATA_TRUNCATED
)
Сообщение: Data truncated for column '%s' at row %ld
1266
SQLSTATE: HY000
(ER_WARN_USING_OTHER_HANDLER
)
Сообщение: Using storage engine %s for table '%s'
1267
SQLSTATE: HY000
(ER_CANT_AGGREGATE_2COLLATIONS
)
Сообщение: Illegal mix of collations (%s,%s) and (%s,%s) for operation '%s'
1269
SQLSTATE: HY000
(ER_REVOKE_GRANTS
)
Сообщение: Can't revoke all privileges for one or more of the requested users
1270
SQLSTATE: HY000
(ER_CANT_AGGREGATE_3COLLATIONS
)
Сообщение: Illegal mix of collations (%s,%s), (%s,%s), (%s,%s) for operation '%s'
1271
SQLSTATE: HY000
(ER_CANT_AGGREGATE_NCOLLATIONS
)
Сообщение: Illegal mix of collations for operation '%s'
1272
SQLSTATE: HY000
(ER_VARIABLE_IS_NOT_STRUCT
)
Сообщение: Variable '%s' is not a variable component (can't be used as XXXX.variable_name)
1273
SQLSTATE: HY000
(ER_UNKNOWN_COLLATION
)
Сообщение: Unknown collation: '%s'
1274
SQLSTATE: HY000
(ER_SLAVE_IGNORED_SSL_PARAMS
)
Сообщение: SSL parameters in CHANGE MASTER are ignored because this MySQL slave was compiled without SSL support; they can be used later if MySQL slave with SSL is started
1275
SQLSTATE: HY000
(ER_SERVER_IS_IN_SECURE_AUTH_MODE
)
Сообщение: Server is running in --secure-auth mode, but '%s'@'%s' has a password in the old format; please change the password to the new format
1276
SQLSTATE: HY000
(ER_WARN_FIELD_RESOLVED
)
Сообщение: Field or reference '%s%s%s%s%s' of SELECT #%d was resolved in SELECT #%d
1277
SQLSTATE: HY000
(ER_BAD_SLAVE_UNTIL_COND
)
Сообщение: Incorrect parameter or combination of parameters for START SLAVE UNTIL
1278
SQLSTATE: HY000
(ER_MISSING_SKIP_SLAVE
)
Сообщение: It is recommended to use --skip-slave-start when doing step-by-step replication with START SLAVE UNTIL; otherwise, you will get problems if you get an unexpected slave's mysqld restart
1279
SQLSTATE: HY000
(ER_UNTIL_COND_IGNORED
)
Сообщение: SQL thread is not to be started so UNTIL options are ignored
1280
SQLSTATE: 42000
(ER_WRONG_NAME_FOR_INDEX
)
Сообщение: Incorrect index name '%s'
1281
SQLSTATE: 42000
(ER_WRONG_NAME_FOR_CATALOG
)
Сообщение: Incorrect catalog name '%s'
1282
SQLSTATE: HY000
(ER_WARN_QC_RESIZE
)
Сообщение: Query cache failed to set size %lu; new query cache size is %lu
1283
SQLSTATE: HY000
(ER_BAD_FT_COLUMN
)
Сообщение: Column '%s' cannot be part of FULLTEXT index
1284
SQLSTATE: HY000
(ER_UNKNOWN_KEY_CACHE
)
Сообщение: Unknown key cache '%s'
1285
SQLSTATE: HY000
(ER_WARN_HOSTNAME_WONT_WORK
)
Сообщение: MySQL is started in --skip-name-resolve mode; you must restart it without this switch for this grant to work
1286
SQLSTATE: 42000
(ER_UNKNOWN_STORAGE_ENGINE
)
Сообщение: Unknown storage engine '%s'
1287
SQLSTATE: HY000
(ER_WARN_DEPRECATED_SYNTAX
)
Сообщение: '%s' is deprecated and will be removed in a future release. Please use %s instead
1288
SQLSTATE: HY000
(ER_NON_UPDATABLE_TABLE
)
Сообщение: The target table %s of the %s is not updatable
1289
SQLSTATE: HY000
(ER_FEATURE_DISABLED
)
Сообщение: The '%s' feature is disabled; you need MySQL built with '%s' to have it working
1290
SQLSTATE: HY000
(ER_OPTION_PREVENTS_STATEMENT
)
Сообщение: The MySQL server is running with the %s option so it cannot execute this statement
1291
SQLSTATE: HY000
(ER_DUPLICATED_VALUE_IN_TYPE
)
Сообщение: Column '%s' has duplicated value '%s' in %s
1292
SQLSTATE: 22007
(ER_TRUNCATED_WRONG_VALUE
)
Сообщение: Truncated incorrect %s value: '%s'
1294
SQLSTATE: HY000
(ER_INVALID_ON_UPDATE
)
Сообщение: Invalid ON UPDATE clause for '%s' column
1295
SQLSTATE: HY000
(ER_UNSUPPORTED_PS
)
Сообщение: This command is not supported in the prepared statement protocol yet
1296
SQLSTATE: HY000
(ER_GET_ERRMSG
)
Сообщение: Got error %d '%s' from %s
1297
SQLSTATE: HY000
(ER_GET_TEMPORARY_ERRMSG
)
Сообщение: Got temporary error %d '%s' from %s
1298
SQLSTATE: HY000
(ER_UNKNOWN_TIME_ZONE
)
Сообщение: Unknown or incorrect time zone: '%s'
1299
SQLSTATE: HY000
(ER_WARN_INVALID_TIMESTAMP
)
Сообщение: Invalid TIMESTAMP value in column '%s' at row %ld
1300
SQLSTATE: HY000
(ER_INVALID_CHARACTER_STRING
)
Сообщение: Invalid %s character string: '%s'
1301
SQLSTATE: HY000
(ER_WARN_ALLOWED_PACKET_OVERFLOWED
)
Сообщение: Result of %s() was larger than max_allowed_packet (%ld) - truncated
1302
SQLSTATE: HY000
(ER_CONFLICTING_DECLARATIONS
)
Сообщение: Conflicting declarations: '%s%s' and '%s%s'
1303
SQLSTATE: 2F003
(ER_SP_NO_RECURSIVE_CREATE
)
Сообщение: Can't create a %s from within another stored routine
1304
SQLSTATE: 42000
(ER_SP_ALREADY_EXISTS
)
Сообщение: %s %s already exists
1305
SQLSTATE: 42000
(ER_SP_DOES_NOT_EXIST
)
Сообщение: %s %s does not exist
1306
SQLSTATE: HY000
(ER_SP_DROP_FAILED
)
Сообщение: Failed to DROP %s %s
1307
SQLSTATE: HY000
(ER_SP_STORE_FAILED
)
Сообщение: Failed to CREATE %s %s
1308
SQLSTATE: 42000
(ER_SP_LILABEL_MISMATCH
)
Сообщение: %s with no matching label: %s
1309
SQLSTATE: 42000
(ER_SP_LABEL_REDEFINE
)
Сообщение: Redefining label %s
1310
SQLSTATE: 42000
(ER_SP_LABEL_MISMATCH
)
Сообщение: End-label %s without match
1311
SQLSTATE: 01000
(ER_SP_UNINIT_VAR
)
Сообщение: Referring to uninitialized variable %s
1312
SQLSTATE: 0A000
(ER_SP_BADSELECT
)
Сообщение: PROCEDURE %s can't return a result set in the given context
1313
SQLSTATE: 42000
(ER_SP_BADRETURN
)
Сообщение: RETURN is only allowed in a FUNCTION
1314
SQLSTATE: 0A000
(ER_SP_BADSTATEMENT
)
Сообщение: %s is not allowed in stored procedures
1315
SQLSTATE: 42000
(ER_UPDATE_LOG_DEPRECATED_IGNORED
)
Сообщение: The update log is deprecated and replaced by the binary log; SET SQL_LOG_UPDATE has been ignored.
1316
SQLSTATE: 42000
(ER_UPDATE_LOG_DEPRECATED_TRANSLATED
)
Сообщение: The update log is deprecated and replaced by the binary log; SET SQL_LOG_UPDATE has been translated to SET SQL_LOG_BIN.
1317
SQLSTATE: 70100
(ER_QUERY_INTERRUPTED
)
Сообщение: Query execution was interrupted
1318
SQLSTATE: 42000
(ER_SP_WRONG_NO_OF_ARGS
)
Сообщение: Incorrect number of arguments for %s %s; expected %u, got %u
1319
SQLSTATE: 42000
(ER_SP_COND_MISMATCH
)
Сообщение: Undefined CONDITION: %s
1320
SQLSTATE: 42000
(ER_SP_NORETURN
)
Сообщение: No RETURN found in FUNCTION %s
1321
SQLSTATE: 2F005
(ER_SP_NORETURNEND
)
Сообщение: FUNCTION %s ended without RETURN
1322
SQLSTATE: 42000
(ER_SP_BAD_CURSOR_QUERY
)
Сообщение: Cursor statement must be a SELECT
1323
SQLSTATE: 42000
(ER_SP_BAD_CURSOR_SELECT
)
Сообщение: Cursor SELECT must not have INTO
1324
SQLSTATE: 42000
(ER_SP_CURSOR_MISMATCH
)
Сообщение: Undefined CURSOR: %s
1325
SQLSTATE: 24000
(ER_SP_CURSOR_ALREADY_OPEN
)
Сообщение: Cursor is already open
1326
SQLSTATE: 24000
(ER_SP_CURSOR_NOT_OPEN
)
Сообщение: Cursor is not open
1327
SQLSTATE: 42000
(ER_SP_UNDECLARED_VAR
)
Сообщение: Undeclared variable: %s
1328
SQLSTATE: HY000
(ER_SP_WRONG_NO_OF_FETCH_ARGS
)
Сообщение: Incorrect number of FETCH variables
1329
SQLSTATE: 02000
(ER_SP_FETCH_NO_DATA
)
Сообщение: No data - zero rows fetched, selected, or processed
1330
SQLSTATE: 42000
(ER_SP_DUP_PARAM
)
Сообщение: Duplicate parameter: %s
1331
SQLSTATE: 42000
(ER_SP_DUP_VAR
)
Сообщение: Duplicate variable: %s
1332
SQLSTATE: 42000
(ER_SP_DUP_COND
)
Сообщение: Duplicate condition: %s
1333
SQLSTATE: 42000
(ER_SP_DUP_CURS
)
Сообщение: Duplicate cursor: %s
1334
SQLSTATE: HY000
(ER_SP_CANT_ALTER
)
Сообщение: Failed to ALTER %s %s
1335
SQLSTATE: 0A000
(ER_SP_SUBSELECT_NYI
)
Сообщение: Subquery value not supported
1336
SQLSTATE: 0A000
(ER_STMT_NOT_ALLOWED_IN_SF_OR_TRG
)
Сообщение: %s is not allowed in stored function or trigger
1337
SQLSTATE: 42000
(ER_SP_VARCOND_AFTER_CURSHNDLR
)
Сообщение: Variable or condition declaration after cursor or handler declaration
1338
SQLSTATE: 42000
(ER_SP_CURSOR_AFTER_HANDLER
)
Сообщение: Cursor declaration after handler declaration
1339
SQLSTATE: 20000
(ER_SP_CASE_NOT_FOUND
)
Сообщение: Case not found for CASE statement
1340
SQLSTATE: HY000
(ER_FPARSER_TOO_BIG_FILE
)
Сообщение: Configuration file '%s' is too big
1341
SQLSTATE: HY000
(ER_FPARSER_BAD_HEADER
)
Сообщение: Malformed file type header in file '%s'
1342
SQLSTATE: HY000
(ER_FPARSER_EOF_IN_COMMENT
)
Сообщение: Unexpected end of file while parsing comment '%s'
1343
SQLSTATE: HY000
(ER_FPARSER_ERROR_IN_PARAMETER
)
Сообщение: Error while parsing parameter '%s' (line: '%s')
1344
SQLSTATE: HY000
(ER_FPARSER_EOF_IN_UNKNOWN_PARAMETER
)
Сообщение: Unexpected end of file while skipping unknown parameter '%s'
1345
SQLSTATE: HY000
(ER_VIEW_NO_EXPLAIN
)
Сообщение: EXPLAIN/SHOW can not be issued; lacking privileges for underlying table
1347
SQLSTATE: HY000
(ER_WRONG_OBJECT
)
Сообщение: '%s.%s' is not %s
Названный объект является неправильным для типа предпринятой работы. Это
должен быть объект названного типа. Пример:
HANDLER OPEN
требует базовой
таблицы, а не ее представления. Это терпит неудачу если предпринято на
таблице INFORMATION_SCHEMA
, которая
осуществлена как представление таблицы словаря данных.
1348
SQLSTATE: HY000
(ER_NONUPDATEABLE_COLUMN
)
Сообщение: Column '%s' is not updatable
1350
SQLSTATE: HY000
(ER_VIEW_SELECT_CLAUSE
)
Сообщение: View's SELECT contains a '%s' clause
1351
SQLSTATE: HY000
(ER_VIEW_SELECT_VARIABLE
)
Сообщение: View's SELECT contains a variable or parameter
1352
SQLSTATE: HY000
(ER_VIEW_SELECT_TMPTABLE
)
Сообщение: View's SELECT refers to a temporary table '%s'
1353
SQLSTATE: HY000
(ER_VIEW_WRONG_LIST
)
Сообщение: View's SELECT and view's field list have different column counts
1354
SQLSTATE: HY000
(ER_WARN_VIEW_MERGE
)
Сообщение: View merge algorithm can't be used here for now (assumed undefined algorithm)
1355
SQLSTATE: HY000
(ER_WARN_VIEW_WITHOUT_KEY
)
Сообщение: View being updated does not have complete key of underlying table in it
1356
SQLSTATE: HY000
(ER_VIEW_INVALID
)
Сообщение: View '%s.%s' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them
1357
SQLSTATE: HY000
(ER_SP_NO_DROP_SP
)
Сообщение: Can't drop or alter a %s from within another stored routine
1359
SQLSTATE: HY000
(ER_TRG_ALREADY_EXISTS
)
Сообщение: Trigger already exists
1360
SQLSTATE: HY000
(ER_TRG_DOES_NOT_EXIST
)
Сообщение: Trigger does not exist
1361
SQLSTATE: HY000
(ER_TRG_ON_VIEW_OR_TEMP_TABLE
)
Сообщение: Trigger's '%s' is view or temporary table
1362
SQLSTATE: HY000
(ER_TRG_CANT_CHANGE_ROW
)
Сообщение: Updating of %s row is not allowed in %strigger
1363
SQLSTATE: HY000
(ER_TRG_NO_SUCH_ROW_IN_TRG
)
Сообщение: There is no %s row in %s trigger
1364
SQLSTATE: HY000
(ER_NO_DEFAULT_FOR_FIELD
)
Сообщение: Field '%s' doesn't have a default value
1365
SQLSTATE: 22012
(ER_DIVISION_BY_ZERO
)
Сообщение: Division by 0
1366
SQLSTATE: HY000
(ER_TRUNCATED_WRONG_VALUE_FOR_FIELD
)
Сообщение: Incorrect %s value: '%s' for column '%s' at row %ld
1367
SQLSTATE: 22007
(ER_ILLEGAL_VALUE_FOR_TYPE
)
Сообщение: Illegal %s '%s' value found during parsing
1368
SQLSTATE: HY000
(ER_VIEW_NONUPD_CHECK
)
Сообщение: CHECK OPTION on non-updatable view '%s.%s'
1369
SQLSTATE: HY000
(ER_VIEW_CHECK_FAILED
)
Сообщение: CHECK OPTION failed '%s.%s'
1370
SQLSTATE: 42000
(ER_PROCACCESS_DENIED_ERROR
)
Сообщение: %s command denied to user '%s'@'%s' for routine '%s'
1371
SQLSTATE: HY000
(ER_RELAY_LOG_FAIL
)
Сообщение: Failed purging old relay logs: %s
1373
SQLSTATE: HY000
(ER_UNKNOWN_TARGET_BINLOG
)
Сообщение: Target log not found in binlog index
1374
SQLSTATE: HY000
(ER_IO_ERR_LOG_INDEX_READ
)
Сообщение: I/O error reading log index file
1375
SQLSTATE: HY000
(ER_BINLOG_PURGE_PROHIBITED
)
Сообщение: Server configuration does not permit binlog purge
1376
SQLSTATE: HY000
(ER_FSEEK_FAIL
)
Сообщение: Failed on fseek()
1377
SQLSTATE: HY000
(ER_BINLOG_PURGE_FATAL_ERR
)
Сообщение: Fatal error during log purge
1378
SQLSTATE: HY000
(ER_LOG_IN_USE
)
Сообщение: A purgeable log is in use, will not purge
1379
SQLSTATE: HY000
(ER_LOG_PURGE_UNKNOWN_ERR
)
Сообщение: Unknown error during log purge
1380
SQLSTATE: HY000
(ER_RELAY_LOG_INIT
)
Сообщение: Failed initializing relay log position: %s
1381
SQLSTATE: HY000
(ER_NO_BINARY_LOGGING
)
Сообщение: You are not using binary logging
1382
SQLSTATE: HY000
(ER_RESERVED_SYNTAX
)
Сообщение: The '%s' syntax is reserved for purposes internal to the MySQL server
1390
SQLSTATE: HY000
(ER_PS_MANY_PARAM
)
Сообщение: Prepared statement contains too many placeholders
1391
SQLSTATE: HY000
(ER_KEY_PART_0
)
Сообщение: Key part '%s' length cannot be 0
1392
SQLSTATE: HY000
(ER_VIEW_CHECKSUM
)
Сообщение: View text checksum failed
1393
SQLSTATE: HY000
(ER_VIEW_MULTIUPDATE
)
Сообщение: Can not modify more than one base table through a join view '%s.%s'
1394
SQLSTATE: HY000
(ER_VIEW_NO_INSERT_FIELD_LIST
)
Сообщение: Can not insert into join view '%s.%s' without fields list
1395
SQLSTATE: HY000
(ER_VIEW_DELETE_MERGE_VIEW
)
Сообщение: Can not delete from join view '%s.%s'
1396
SQLSTATE: HY000
(ER_CANNOT_USER
)
Сообщение: Operation %s failed for %s
1397
SQLSTATE: XAE04
(ER_XAER_NOTA
)
Сообщение: XAER_NOTA: Unknown XID
1398
SQLSTATE: XAE05
(ER_XAER_INVAL
)
Сообщение: XAER_INVAL: Invalid arguments (or unsupported command)
1399
SQLSTATE: XAE07
(ER_XAER_RMFAIL
)
Сообщение: XAER_RMFAIL: The command cannot be executed when global transaction is in the %s state
1400
SQLSTATE: XAE09
(ER_XAER_OUTSIDE
)
Сообщение: XAER_OUTSIDE: Some work is done outside global transaction
1401
SQLSTATE: XAE03
(ER_XAER_RMERR
)
Сообщение: XAER_RMERR: Fatal error occurred in the transaction branch - check your data for consistency
1402
SQLSTATE: XA100
(ER_XA_RBROLLBACK
)
Сообщение: XA_RBROLLBACK: Transaction branch was rolled back
1403
SQLSTATE: 42000
(ER_NONEXISTING_PROC_GRANT
)
Сообщение: There is no such grant defined for user '%s' on host '%s' on routine '%s'
1404
SQLSTATE: HY000
(ER_PROC_AUTO_GRANT_FAIL
)
Сообщение: Failed to grant EXECUTE and ALTER ROUTINE privileges
1405
SQLSTATE: HY000
(ER_PROC_AUTO_REVOKE_FAIL
)
Сообщение: Failed to revoke all privileges to dropped routine
1406
SQLSTATE: 22001
(ER_DATA_TOO_LONG
)
Сообщение: Data too long for column '%s' at row %ld
1407
SQLSTATE: 42000
(ER_SP_BAD_SQLSTATE
)
Сообщение: Bad SQLSTATE: '%s'
1408
SQLSTATE: HY000
(ER_STARTUP
)
Сообщение: %s: ready for connections. Version: '%s' socket: '%s' port: %d %s
1409
SQLSTATE: HY000
(ER_LOAD_FROM_FIXED_SIZE_ROWS_TO_VAR
)
Сообщение: Can't load value from file with fixed size rows to variable
1410
SQLSTATE: 42000
(ER_CANT_CREATE_USER_WITH_GRANT
)
Сообщение: You are not allowed to create a user with GRANT
1411
SQLSTATE: HY000
(ER_WRONG_VALUE_FOR_TYPE
)
Сообщение: Incorrect %s value: '%s' for function %s
1412
SQLSTATE: HY000
(ER_TABLE_DEF_CHANGED
)
Сообщение: Table definition has changed, please retry transaction
1413
SQLSTATE: 42000
(ER_SP_DUP_HANDLER
)
Сообщение: Duplicate handler declared in the same block
1414
SQLSTATE: 42000
(ER_SP_NOT_VAR_ARG
)
Сообщение: OUT or INOUT argument %d for routine %s is not a variable or NEW pseudo-variable in BEFORE trigger
1415
SQLSTATE: 0A000
(ER_SP_NO_RETSET
)
Сообщение: Not allowed to return a result set from a %s
1416
SQLSTATE: 22003
(ER_CANT_CREATE_GEOMETRY_OBJECT
)
Сообщение: Cannot get geometry object from data you send to the GEOMETRY field
1418
SQLSTATE: HY000
(ER_BINLOG_UNSAFE_ROUTINE
)
Сообщение: This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators variable)
1419
SQLSTATE: HY000
(ER_BINLOG_CREATE_ROUTINE_NEED_SUPER
)
Сообщение: You do not have the SUPER privilege and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators variable)
1421
SQLSTATE: HY000
(ER_STMT_HAS_NO_OPEN_CURSOR
)
Сообщение: The statement (%lu) has no open cursor.
1422
SQLSTATE: HY000
(ER_COMMIT_NOT_ALLOWED_IN_SF_OR_TRG
)
Сообщение: Explicit or implicit commit is not allowed in stored function or trigger.
1423
SQLSTATE: HY000
(ER_NO_DEFAULT_FOR_VIEW_FIELD
)
Сообщение: Field of view '%s.%s' underlying table doesn't have a default value
1424
SQLSTATE: HY000
(ER_SP_NO_RECURSION
)
Сообщение: Recursive stored functions and triggers are not allowed.
1425
SQLSTATE: 42000
(ER_TOO_BIG_SCALE
)
Сообщение: Too big scale %d specified for column '%s'. Maximum is %lu.
1426
SQLSTATE: 42000
(ER_TOO_BIG_PRECISION
)
Сообщение: Too-big precision %d specified for '%s'. Maximum is %lu.
1427
SQLSTATE: 42000
(ER_M_BIGGER_THAN_D
)
Сообщение: For float(M,D), double(M,D) or decimal(M,D), M must be >= D (column '%s').
1428
SQLSTATE: HY000
(ER_WRONG_LOCK_OF_SYSTEM_TABLE
)
Сообщение: You can't combine write-locking of system tables with other tables or lock types
1429
SQLSTATE: HY000
(ER_CONNECT_TO_FOREIGN_DATA_SOURCE
)
Сообщение: Unable to connect to foreign data source: %s
1430
SQLSTATE: HY000
(ER_QUERY_ON_FOREIGN_DATA_SOURCE
)
Сообщение: There was a problem processing the query on the foreign data source. Data source error: %s
1431
SQLSTATE: HY000
(ER_FOREIGN_DATA_SOURCE_DOESNT_EXIST
)
Сообщение: The foreign data source you are trying to reference does not exist. Data source error: %s
1432
SQLSTATE: HY000
(ER_FOREIGN_DATA_STRING_INVALID_CANT_CREATE
)
Сообщение: Can't create federated table. The data source connection string '%s' is not in the correct format
1433
SQLSTATE: HY000
(ER_FOREIGN_DATA_STRING_INVALID
)
Сообщение: The data source connection string '%s' is not in the correct format
1435
SQLSTATE: HY000
(ER_TRG_IN_WRONG_SCHEMA
)
Сообщение: Trigger in wrong schema
1436
SQLSTATE: HY000
(ER_STACK_OVERRUN_NEED_MORE
)
Сообщение: Thread stack overrun: %ld bytes used of a %ld byte stack, and %ld bytes needed. Use 'mysqld --thread_stack=#' to specify a bigger stack.
1437
SQLSTATE: 42000
(ER_TOO_LONG_BODY
)
Сообщение: Routine body for '%s' is too long
1438
SQLSTATE: HY000
(ER_WARN_CANT_DROP_DEFAULT_KEYCACHE
)
Сообщение: Cannot drop default keycache
1439
SQLSTATE: 42000
(ER_TOO_BIG_DISPLAYWIDTH
)
Сообщение: Display width out of range for column '%s' (max = %lu)
1440
SQLSTATE: XAE08
(ER_XAER_DUPID
)
Сообщение: XAER_DUPID: The XID already exists
1441
SQLSTATE: 22008
(ER_DATETIME_FUNCTION_OVERFLOW
)
Сообщение: Datetime function: %s field overflow
1442
SQLSTATE: HY000
(ER_CANT_UPDATE_USED_TABLE_IN_SF_OR_TRG
)
Сообщение: Can't update table '%s' in stored function/trigger because it is already used by statement which invoked this stored function/trigger.
1443
SQLSTATE: HY000
(ER_VIEW_PREVENT_UPDATE
)
Сообщение: The definition of table '%s' prevents operation %s on table '%s'.
1444
SQLSTATE: HY000
(ER_PS_NO_RECURSION
)
Сообщение: The prepared statement contains a stored routine call that refers to that same statement. It's not allowed to execute a prepared statement in such a recursive manner
1445
SQLSTATE: HY000
(ER_SP_CANT_SET_AUTOCOMMIT
)
Сообщение: Not allowed to set autocommit from a stored function or trigger
1447
SQLSTATE: HY000
(ER_VIEW_FRM_NO_USER
)
Сообщение: View '%s'.'%s' has no definer information (old table format). Current user is used as definer. Please recreate the view!
1448
SQLSTATE: HY000
(ER_VIEW_OTHER_USER
)
Сообщение: You need the SUPER privilege for creation view with '%s'@'%s' definer
1449
SQLSTATE: HY000
(ER_NO_SUCH_USER
)
Сообщение: The user specified as a definer ('%s'@'%s') does not exist
1450
SQLSTATE: HY000
(ER_FORBID_SCHEMA_CHANGE
)
Сообщение: Changing schema from '%s' to '%s' is not allowed.
1451
SQLSTATE: 23000
(ER_ROW_IS_REFERENCED_2
)
Сообщение: Cannot delete or update a parent row: a foreign key constraint fails (%s)
1452
SQLSTATE: 23000
(ER_NO_REFERENCED_ROW_2
)
Сообщение: Cannot add or update a child row: a foreign key constraint fails (%s)
1453
SQLSTATE: 42000
(ER_SP_BAD_VAR_SHADOW
)
Сообщение: Variable '%s' must be quoted with `...`, or renamed
1454
SQLSTATE: HY000
(ER_TRG_NO_DEFINER
)
Сообщение: No definer attribute for trigger '%s'.'%s'. It's disallowed to create trigger without definer.
1455
SQLSTATE: HY000
(ER_OLD_FILE_FORMAT
)
Сообщение: '%s' has an old format, you should re-create the '%s' object(s)
1456
SQLSTATE: HY000
(ER_SP_RECURSION_LIMIT
)
Сообщение: Recursive limit %d (as set by the max_sp_recursion_depth variable) was exceeded for routine %s
1458
SQLSTATE: 42000
(ER_SP_WRONG_NAME
)
Сообщение: Incorrect routine name '%s'
1459
SQLSTATE: HY000
(ER_TABLE_NEEDS_UPGRADE
)
Сообщение: Table upgrade required. Please do "REPAIR TABLE `%s`" or dump/reload to fix it!
1460
SQLSTATE: 42000
(ER_SP_NO_AGGREGATE
)
Сообщение: AGGREGATE is not supported for stored functions
1461
SQLSTATE: 42000
(ER_MAX_PREPARED_STMT_COUNT_REACHED
)
Сообщение: Can't create more than max_prepared_stmt_count statements (current value: %lu)
1462
SQLSTATE: HY000
(ER_VIEW_RECURSIVE
)
Сообщение: `%s`.`%s` contains view recursion
1463
SQLSTATE: 42000
(ER_NON_GROUPING_FIELD_USED
)
Сообщение: Non-grouping field '%s' is used in %s clause
1464
SQLSTATE: HY000
(ER_TABLE_CANT_HANDLE_SPKEYS
)
Сообщение: The used table type doesn't support SPATIAL indexes
1465
SQLSTATE: HY000
(ER_NO_TRIGGERS_ON_SYSTEM_SCHEMA
)
Сообщение: Triggers can not be created on system tables
1466
SQLSTATE: HY000
(ER_REMOVED_SPACES
)
Сообщение: Leading spaces are removed from name '%s'
1467
SQLSTATE: HY000
(ER_AUTOINC_READ_FAILED
)
Сообщение: Failed to read auto-increment value from storage engine
1468
SQLSTATE: HY000
(ER_USERNAME
)
Сообщение: user name
1469
SQLSTATE: HY000
(ER_HOSTNAME
)
Сообщение: host name
1470
SQLSTATE: HY000
(ER_WRONG_STRING_LENGTH
)
Сообщение: String '%s' is too long for %s (should be no longer than %d)
1471
SQLSTATE: HY000
(ER_NON_INSERTABLE_TABLE
)
Сообщение: The target table %s of the %s is not insertable-into
1472
SQLSTATE: HY000
(ER_ADMIN_WRONG_MRG_TABLE
)
Сообщение: Table '%s' is differently defined or of non-MyISAM type or doesn't exist
1473
SQLSTATE: HY000
(ER_TOO_HIGH_LEVEL_OF_NESTING_FOR_SELECT
)
Сообщение: Too high level of nesting for select
1474
SQLSTATE: HY000
(ER_NAME_BECOMES_EMPTY
)
Сообщение: Name '%s' has become ''
1475
SQLSTATE: HY000
(ER_AMBIGUOUS_FIELD_TERM
)
Сообщение: First character of the FIELDS TERMINATED string is ambiguous; please use non-optional and non-empty FIELDS ENCLOSED BY
1476
SQLSTATE: HY000
(ER_FOREIGN_SERVER_EXISTS
)
Сообщение: The foreign server, %s, you are trying to create already exists.
1477
SQLSTATE: HY000
(ER_FOREIGN_SERVER_DOESNT_EXIST
)
Сообщение: The foreign server name you are trying to reference does not exist. Data source error: %s
1478
SQLSTATE: HY000
(ER_ILLEGAL_HA_CREATE_OPTION
)
Сообщение: Table storage engine '%s' does not support the create option '%s'
1479
SQLSTATE: HY000
(ER_PARTITION_REQUIRES_VALUES_ERROR
)
Сообщение: Syntax error: %s PARTITIONING requires definition of VALUES %s for each partition
1480
SQLSTATE: HY000
(ER_PARTITION_WRONG_VALUES_ERROR
)
Сообщение: Only %s PARTITIONING can use VALUES %s in partition definition
1481
SQLSTATE: HY000
(ER_PARTITION_MAXVALUE_ERROR
)
Сообщение: MAXVALUE can only be used in last partition definition
1484
SQLSTATE: HY000
(ER_PARTITION_WRONG_NO_PART_ERROR
)
Сообщение: Wrong number of partitions defined, mismatch with previous setting
1485
SQLSTATE: HY000
(ER_PARTITION_WRONG_NO_SUBPART_ERROR
)
Сообщение: Wrong number of subpartitions defined, mismatch with previous setting
1486
SQLSTATE: HY000
(ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
)
Сообщение: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
1488
SQLSTATE: HY000
(ER_FIELD_NOT_FOUND_PART_ERROR
)
Сообщение: Field in list of fields for partition function not found in table
1490
SQLSTATE: HY000
(ER_INCONSISTENT_PARTITION_INFO_ERROR
)
Сообщение: The partition info in the frm file is not consistent with what can be written into the frm file
1491
SQLSTATE: HY000
(ER_PARTITION_FUNC_NOT_ALLOWED_ERROR
)
Сообщение: The %s function returns the wrong type
1492
SQLSTATE: HY000
(ER_PARTITIONS_MUST_BE_DEFINED_ERROR
)
Сообщение: For %s partitions each partition must be defined
1493
SQLSTATE: HY000
(ER_RANGE_NOT_INCREASING_ERROR
)
Сообщение: VALUES LESS THAN value must be strictly increasing for each partition
1494
SQLSTATE: HY000
(ER_INCONSISTENT_TYPE_OF_FUNCTIONS_ERROR
)
Сообщение: VALUES value must be of same type as partition function
1495
SQLSTATE: HY000
(ER_MULTIPLE_DEF_CONST_IN_LIST_PART_ERROR
)
Сообщение: Multiple definition of same constant in list partitioning
1496
SQLSTATE: HY000
(ER_PARTITION_ENTRY_ERROR
)
Сообщение: Partitioning can not be used stand-alone in query
1497
SQLSTATE: HY000
(ER_MIX_HANDLER_ERROR
)
Сообщение: The mix of handlers in the partitions is not allowed in this version of MySQL
1498
SQLSTATE: HY000
(ER_PARTITION_NOT_DEFINED_ERROR
)
Сообщение: For the partitioned engine it is necessary to define all %s
1499
SQLSTATE: HY000
(ER_TOO_MANY_PARTITIONS_ERROR
)
Сообщение: Too many partitions (including subpartitions) were defined
1500
SQLSTATE: HY000
(ER_SUBPARTITION_ERROR
)
Сообщение: It is only possible to mix RANGE/LIST partitioning with HASH/KEY partitioning for subpartitioning
1501
SQLSTATE: HY000
(ER_CANT_CREATE_HANDLER_FILE
)
Сообщение: Failed to create specific handler file
1502
SQLSTATE: HY000
(ER_BLOB_FIELD_IN_PART_FUNC_ERROR
)
Сообщение: A BLOB field is not allowed in partition function
1503
SQLSTATE: HY000
(ER_UNIQUE_KEY_NEED_ALL_FIELDS_IN_PF
)
Сообщение: A %s must include all columns in the table's partitioning function
1504
SQLSTATE: HY000
(ER_NO_PARTS_ERROR
)
Сообщение: Number of %s = 0 is not an allowed value
1505
SQLSTATE: HY000
(ER_PARTITION_MGMT_ON_NONPARTITIONED
)
Сообщение: Partition management on a not partitioned table is not possible
1506
SQLSTATE: HY000
(ER_FOREIGN_KEY_ON_PARTITIONED
)
Сообщение: Foreign keys are not yet supported in conjunction with partitioning
1507
SQLSTATE: HY000
(ER_DROP_PARTITION_NON_EXISTENT
)
Сообщение: Error in list of partitions to %s
1508
SQLSTATE: HY000
(ER_DROP_LAST_PARTITION
)
Сообщение: Cannot remove all partitions, use DROP TABLE instead
1509
SQLSTATE: HY000
(ER_COALESCE_ONLY_ON_HASH_PARTITION
)
Сообщение: COALESCE PARTITION can only be used on HASH/KEY partitions
1510
SQLSTATE: HY000
(ER_REORG_HASH_ONLY_ON_SAME_NO
)
Сообщение: REORGANIZE PARTITION can only be used to reorganize partitions not to change their numbers
1511
SQLSTATE: HY000
(ER_REORG_NO_PARAM_ERROR
)
Сообщение: REORGANIZE PARTITION without parameters can only be used on auto-partitioned tables using HASH PARTITIONs
1512
SQLSTATE: HY000
(ER_ONLY_ON_RANGE_LIST_PARTITION
)
Сообщение: %s PARTITION can only be used on RANGE/LIST partitions
1513
SQLSTATE: HY000
(ER_ADD_PARTITION_SUBPART_ERROR
)
Сообщение: Trying to Add partition(s) with wrong number of subpartitions
1514
SQLSTATE: HY000
(ER_ADD_PARTITION_NO_NEW_PARTITION
)
Сообщение: At least one partition must be added
1515
SQLSTATE: HY000
(ER_COALESCE_PARTITION_NO_PARTITION
)
Сообщение: At least one partition must be coalesced
1516
SQLSTATE: HY000
(ER_REORG_PARTITION_NOT_EXIST
)
Сообщение: More partitions to reorganize than there are partitions
1517
SQLSTATE: HY000
(ER_SAME_NAME_PARTITION
)
Сообщение: Duplicate partition name %s
1518
SQLSTATE: HY000
(ER_NO_BINLOG_ERROR
)
Сообщение: It is not allowed to shut off binlog on this command
1519
SQLSTATE: HY000
(ER_CONSECUTIVE_REORG_PARTITIONS
)
Сообщение: When reorganizing a set of partitions they must be in consecutive order
1520
SQLSTATE: HY000
(ER_REORG_OUTSIDE_RANGE
)
Сообщение: Reorganize of range partitions cannot change total ranges except for last partition where it can extend the range
1521
SQLSTATE: HY000
(ER_PARTITION_FUNCTION_FAILURE
)
Сообщение: Partition function not supported in this version for this handler
1523
SQLSTATE: HY000
(ER_LIMITED_PART_RANGE
)
Сообщение: The %s handler only supports 32 bit integers in VALUES
1524
SQLSTATE: HY000
(ER_PLUGIN_IS_NOT_LOADED
)
Сообщение: Plugin '%s' is not loaded
1525
SQLSTATE: HY000
(ER_WRONG_VALUE
)
Сообщение: Incorrect %s value: '%s'
1526
SQLSTATE: HY000
(ER_NO_PARTITION_FOR_GIVEN_VALUE
)
Сообщение: Table has no partition for value %s
1527
SQLSTATE: HY000
(ER_FILEGROUP_OPTION_ONLY_ONCE
)
Сообщение: It is not allowed to specify %s more than once
1528
SQLSTATE: HY000
(ER_CREATE_FILEGROUP_FAILED
)
Сообщение: Failed to create %s
1529
SQLSTATE: HY000
(ER_DROP_FILEGROUP_FAILED
)
Сообщение: Failed to drop %s
1530
SQLSTATE: HY000
(ER_TABLESPACE_AUTO_EXTEND_ERROR
)
Сообщение: The handler doesn't support autoextend of tablespaces
1531
SQLSTATE: HY000
(ER_WRONG_SIZE_NUMBER
)
Сообщение: A size parameter was incorrectly specified, either number or on the form 10M
1532
SQLSTATE: HY000
(ER_SIZE_OVERFLOW_ERROR
)
Сообщение: The size number was correct but we don't allow the digit part to be more than 2 billion
1533
SQLSTATE: HY000
(ER_ALTER_FILEGROUP_FAILED
)
Сообщение: Failed to alter: %s
1534
SQLSTATE: HY000
(ER_BINLOG_ROW_LOGGING_FAILED
)
Сообщение: Writing one row to the row-based binary log failed
1537
SQLSTATE: HY000
(ER_EVENT_ALREADY_EXISTS
)
Сообщение: Event '%s' already exists
1539
SQLSTATE: HY000
(ER_EVENT_DOES_NOT_EXIST
)
Сообщение: Unknown event '%s'
1542
SQLSTATE: HY000
(ER_EVENT_INTERVAL_NOT_POSITIVE_OR_TOO_BIG
)
Сообщение: INTERVAL is either not positive or too big
1543
SQLSTATE: HY000
(ER_EVENT_ENDS_BEFORE_STARTS
)
Сообщение: ENDS is either invalid or before STARTS
1544
SQLSTATE: HY000
(ER_EVENT_EXEC_TIME_IN_THE_PAST
)
Сообщение: Event execution time is in the past. Event has been disabled
1551
SQLSTATE: HY000
(ER_EVENT_SAME_NAME
)
Сообщение: Same old and new event name
1553
SQLSTATE: HY000
(ER_DROP_INDEX_FK
)
Сообщение: Cannot drop index '%s': needed in a foreign key constraint
InnoDB
возвращает эту ошибку, когда Вы пытаетесь удалить
последний индекс, который может провести особое справочное ограничение.
Для оптимальной работы с запросами DML InnoDB
требует, чтобы индексирование существовало на столбцах
внешнего ключа так, чтобы
операции UPDATE
и DELETE
на
родительской таблице
могли легко проверить, существуют ли соответствующие строки в
the дочерней таблице. MySQL
создает или удаляет такой индекс автоматически при необходимости, как
побочный эффект CREATE TABLE
,
CREATE INDEX
и
ALTER TABLE
.
Когда Вы удаляете индекс, InnoDB
проверяет, если
индексирование используется для того, чтобы проверить ограничение внешнего
ключа. Нормально удалить индекс, если есть другой, который может
использоваться, чтобы провести то же самое ограничение. InnoDB
препятствует удалению последнего индекса, который может провести
особое справочное ограничение.
1554
SQLSTATE: HY000
(ER_WARN_DEPRECATED_SYNTAX_WITH_VER
)
Сообщение: The syntax '%s' is deprecated and will be removed in MySQL %s. Please use %s instead
1556
SQLSTATE: HY000
(ER_CANT_LOCK_LOG_TABLE
)
Сообщение: You can't use locks with log tables.
1557
SQLSTATE: 23000
(ER_FOREIGN_DUPLICATE_KEY_OLD_UNUSED
)
Сообщение: Upholding foreign key constraints for table '%s', entry '%s', key %d would lead to a duplicate entry
1558
SQLSTATE: HY000
(ER_COL_COUNT_DOESNT_MATCH_PLEASE_UPDATE
)
Сообщение: Column count of mysql.%s is wrong. Expected %d, found %d. Created with MySQL %d, now running %d. Please use mysql_upgrade to fix this error.
1559
SQLSTATE: HY000
(ER_TEMP_TABLE_PREVENTS_SWITCH_OUT_OF_RBR
)
Сообщение: Cannot switch out of the row-based binary log format when the session has open temporary tables
1560
SQLSTATE: HY000
(ER_STORED_FUNCTION_PREVENTS_SWITCH_BINLOG_FORMAT
)
Сообщение: Cannot change the binary logging format inside a stored function or trigger
1562
SQLSTATE: HY000
(ER_PARTITION_NO_TEMPORARY
)
Сообщение: Cannot create temporary table with partitions
1563
SQLSTATE: HY000
(ER_PARTITION_CONST_DOMAIN_ERROR
)
Сообщение: Partition constant is out of partition function domain
1564
SQLSTATE: HY000
(ER_PARTITION_FUNCTION_IS_NOT_ALLOWED
)
Сообщение: This partition function is not allowed
1565
SQLSTATE: HY000
(ER_DDL_LOG_ERROR
)
Сообщение: Error in DDL log
1566
SQLSTATE: HY000
(ER_NULL_IN_VALUES_LESS_THAN
)
Сообщение: Not allowed to use NULL value in VALUES LESS THAN
1567
SQLSTATE: HY000
(ER_WRONG_PARTITION_NAME
)
Сообщение: Incorrect partition name
1568
SQLSTATE: 25001
(ER_CANT_CHANGE_TX_CHARACTERISTICS
)
Сообщение: Transaction characteristics can't be changed while a transaction is in progress
1569
SQLSTATE: HY000
(ER_DUP_ENTRY_AUTOINCREMENT_CASE
)
Сообщение: ALTER TABLE causes auto_increment resequencing, resulting in duplicate entry '%s' for key '%s'
1571
SQLSTATE: HY000
(ER_EVENT_SET_VAR_ERROR
)
Сообщение: Error during starting/stopping of the scheduler. Error code %u
1572
SQLSTATE: HY000
(ER_PARTITION_MERGE_ERROR
)
Сообщение: Engine cannot be used in partitioned tables
1575
SQLSTATE: HY000
(ER_BASE64_DECODE_ERROR
)
Сообщение: Decoding of base64 string failed
1576
SQLSTATE: HY000
(ER_EVENT_RECURSION_FORBIDDEN
)
Сообщение: Recursion of EVENT DDL statements is forbidden when body is present
1578
SQLSTATE: HY000
(ER_ONLY_INTEGERS_ALLOWED
)
Сообщение: Only integers allowed as number here
1579
SQLSTATE: HY000
(ER_UNSUPORTED_LOG_ENGINE
)
Сообщение: This storage engine cannot be used for log tables
1580
SQLSTATE: HY000
(ER_BAD_LOG_STATEMENT
)
Сообщение: You cannot '%s' a log table if logging is enabled
1581
SQLSTATE: HY000
(ER_CANT_RENAME_LOG_TABLE
)
Сообщение: Cannot rename '%s'. When logging enabled, rename to/from log table must rename two tables: the log table to an archive table and another table back to '%s'
1582
SQLSTATE: 42000
(ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT
)
Сообщение: Incorrect parameter count in the call to native function '%s'
1583
SQLSTATE: 42000
(ER_WRONG_PARAMETERS_TO_NATIVE_FCT
)
Сообщение: Incorrect parameters in the call to native function '%s'
1584
SQLSTATE: 42000
(ER_WRONG_PARAMETERS_TO_STORED_FCT
)
Сообщение: Incorrect parameters in the call to stored function %s
1585
SQLSTATE: HY000
(ER_NATIVE_FCT_NAME_COLLISION
)
Сообщение: This function '%s' has the same name as a native function
1586
SQLSTATE: 23000
(ER_DUP_ENTRY_WITH_KEY_NAME
)
Сообщение: Duplicate entry '%s' for key '%s'
The format string for this error is also used with
ER_DUP_ENTRY
.
1587
SQLSTATE: HY000
(ER_BINLOG_PURGE_EMFILE
)
Сообщение: Too many files opened, please execute the command again
1588
SQLSTATE: HY000
(ER_EVENT_CANNOT_CREATE_IN_THE_PAST
)
Сообщение: Event execution time is in the past and ON COMPLETION NOT PRESERVE is set. The event was dropped immediately after creation.
1589
SQLSTATE: HY000
(ER_EVENT_CANNOT_ALTER_IN_THE_PAST
)
Сообщение: Event execution time is in the past and ON COMPLETION NOT PRESERVE is set. The event was not changed. Specify a time in the future.
1590
SQLSTATE: HY000
(ER_SLAVE_INCIDENT
)
Сообщение: The incident %s occured on the master. Сообщение: %s
1591
SQLSTATE: HY000
(ER_NO_PARTITION_FOR_GIVEN_VALUE_SILENT
)
Сообщение: Table has no partition for some existing values
1592
SQLSTATE: HY000
(ER_BINLOG_UNSAFE_STATEMENT
)
Сообщение: Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. %s
1593
SQLSTATE: HY000
(ER_SLAVE_FATAL_ERROR
)
Сообщение: Fatal error: %s
1594
SQLSTATE: HY000
(ER_SLAVE_RELAY_LOG_READ_FAILURE
)
Сообщение: Relay log read failure: %s
1595
SQLSTATE: HY000
(ER_SLAVE_RELAY_LOG_WRITE_FAILURE
)
Сообщение: Relay log write failure: %s
1596
SQLSTATE: HY000
(ER_SLAVE_CREATE_EVENT_FAILURE
)
Сообщение: Failed to create %s
1597
SQLSTATE: HY000
(ER_SLAVE_MASTER_COM_FAILURE
)
Сообщение: Master command %s failed: %s
1598
SQLSTATE: HY000
(ER_BINLOG_LOGGING_IMPOSSIBLE
)
Сообщение: Binary logging not possible. Сообщение: %s
1599
SQLSTATE: HY000
(ER_VIEW_NO_CREATION_CTX
)
Сообщение: View `%s`.`%s` has no creation context
1600
SQLSTATE: HY000
(ER_VIEW_INVALID_CREATION_CTX
)
Сообщение: Creation context of view `%s`.`%s' is invalid
1602
SQLSTATE: HY000
(ER_TRG_CORRUPTED_FILE
)
Сообщение: Corrupted TRG file for table `%s`.`%s`
1603
SQLSTATE: HY000
(ER_TRG_NO_CREATION_CTX
)
Сообщение: Triggers for table `%s`.`%s` have no creation context
1604
SQLSTATE: HY000
(ER_TRG_INVALID_CREATION_CTX
)
Сообщение: Trigger creation context of table `%s`.`%s` is invalid
1605
SQLSTATE: HY000
(ER_EVENT_INVALID_CREATION_CTX
)
Сообщение: Creation context of event `%s`.`%s` is invalid
1606
SQLSTATE: HY000
(ER_TRG_CANT_OPEN_TABLE
)
Сообщение: Cannot open table for trigger `%s`.`%s`
1609
SQLSTATE: HY000
(ER_NO_FORMAT_DESCRIPTION_EVENT_BEFORE_BINLOG_STATEMENT
)
Сообщение: The BINLOG statement of type `%s` was not preceded by a format description BINLOG statement.
1610
SQLSTATE: HY000
(ER_SLAVE_CORRUPT_EVENT
)
Сообщение: Corrupted replication event was detected
1612
SQLSTATE: HY000
(ER_LOG_PURGE_NO_FILE
)
Сообщение: Being purged log %s was not found
1613
SQLSTATE: XA106
(ER_XA_RBTIMEOUT
)
Сообщение: XA_RBTIMEOUT: Transaction branch was rolled back: took too long
1614
SQLSTATE: XA102
(ER_XA_RBDEADLOCK
)
Сообщение: XA_RBDEADLOCK: Transaction branch was rolled back: deadlock was detected
1615
SQLSTATE: HY000
(ER_NEED_REPREPARE
)
Сообщение: Prepared statement needs to be re-prepared
1617
SQLSTATE: HY000
(WARN_NO_MASTER_INFO
)
Сообщение: The master info structure does not exist
1618
SQLSTATE: HY000
(WARN_OPTION_IGNORED
)
Сообщение: <%s> option ignored
1619
SQLSTATE: HY000
(ER_PLUGIN_DELETE_BUILTIN
)
Сообщение: Built-in plugins cannot be deleted
1620
SQLSTATE: HY000
(WARN_PLUGIN_BUSY
)
Сообщение: Plugin is busy and will be uninstalled on shutdown
1621
SQLSTATE: HY000
(ER_VARIABLE_IS_READONLY
)
Сообщение: %s variable '%s' is read-only. Use SET %s to assign the value
1622
SQLSTATE: HY000
(ER_WARN_ENGINE_TRANSACTION_ROLLBACK
)
Сообщение: Storage engine %s does not support rollback for this statement. Transaction rolled back and must be restarted
1623
SQLSTATE: HY000
(ER_SLAVE_HEARTBEAT_FAILURE
)
Сообщение: Unexpected master's heartbeat data: %s
1624
SQLSTATE: HY000
(ER_SLAVE_HEARTBEAT_VALUE_OUT_OF_RANGE
)
Сообщение: The requested value for the heartbeat period is either negative or exceeds the maximum allowed (%s seconds).
1625
SQLSTATE: HY000
(ER_NDB_REPLICATION_SCHEMA_ERROR
)
Сообщение: Bad schema for mysql.ndb_replication table. Сообщение: %s
1626
SQLSTATE: HY000
(ER_CONFLICT_FN_PARSE_ERROR
)
Сообщение: Error in parsing conflict function. Сообщение: %s
1627
SQLSTATE: HY000
(ER_EXCEPTIONS_WRITE_ERROR
)
Сообщение: Write to exceptions table failed. Сообщение: %s
1628
SQLSTATE: HY000
(ER_TOO_LONG_TABLE_COMMENT
)
Сообщение: Comment for table '%s' is too long (max = %lu)
1629
SQLSTATE: HY000
(ER_TOO_LONG_FIELD_COMMENT
)
Сообщение: Comment for field '%s' is too long (max = %lu)
1630
SQLSTATE: 42000
(ER_FUNC_INEXISTENT_NAME_COLLISION
)
Сообщение: FUNCTION %s does not exist. Check the 'Function Name Parsing and Resolution' section in the Reference Manual
1631
SQLSTATE: HY000
(ER_DATABASE_NAME
)
Сообщение: Database
1632
SQLSTATE: HY000
(ER_TABLE_NAME
)
Сообщение: Table
1633
SQLSTATE: HY000
(ER_PARTITION_NAME
)
Сообщение: Partition
1634
SQLSTATE: HY000
(ER_SUBPARTITION_NAME
)
Сообщение: Subpartition
1635
SQLSTATE: HY000
(ER_TEMPORARY_NAME
)
Сообщение: Temporary
1636
SQLSTATE: HY000
(ER_RENAMED_NAME
)
Сообщение: Renamed
1637
SQLSTATE: HY000
(ER_TOO_MANY_CONCURRENT_TRXS
)
Сообщение: Too many active concurrent transactions
1638
SQLSTATE: HY000
(WARN_NON_ASCII_SEPARATOR_NOT_IMPLEMENTED
)
Сообщение: Non-ASCII separator arguments are not fully supported
1639
SQLSTATE: HY000
(ER_DEBUG_SYNC_TIMEOUT
)
Сообщение: debug sync point wait timed out
1640
SQLSTATE: HY000
(ER_DEBUG_SYNC_HIT_LIMIT
)
Сообщение: debug sync point hit limit reached
1641
SQLSTATE: 42000
(ER_DUP_SIGNAL_SET
)
Сообщение: Duplicate condition information item '%s'
1642
SQLSTATE: 01000
(ER_SIGNAL_WARN
)
Сообщение: Unhandled user-defined warning condition
1643
SQLSTATE: 02000
(ER_SIGNAL_NOT_FOUND
)
Сообщение: Unhandled user-defined not found condition
1644
SQLSTATE: HY000
(ER_SIGNAL_EXCEPTION
)
Сообщение: Unhandled user-defined exception condition
1645
SQLSTATE: 0K000
(ER_RESIGNAL_WITHOUT_ACTIVE_HANDLER
)
Сообщение: RESIGNAL when handler not active
1646
SQLSTATE: HY000
(ER_SIGNAL_BAD_CONDITION_TYPE
)
Сообщение: SIGNAL/RESIGNAL can only use a CONDITION defined with SQLSTATE
1647
SQLSTATE: HY000
(WARN_COND_ITEM_TRUNCATED
)
Сообщение: Data truncated for condition item '%s'
1648
SQLSTATE: HY000
(ER_COND_ITEM_TOO_LONG
)
Сообщение: Data too long for condition item '%s'
1649
SQLSTATE: HY000
(ER_UNKNOWN_LOCALE
)
Сообщение: Unknown locale: '%s'
1650
SQLSTATE: HY000
(ER_SLAVE_IGNORE_SERVER_IDS
)
Сообщение: The requested server id %d clashes with the slave startup option --replicate-same-server-id
1651
SQLSTATE: HY000
(ER_QUERY_CACHE_DISABLED
)
Сообщение: Query cache is disabled; restart the server with query_cache_type=1 to enable it
1652
SQLSTATE: HY000
(ER_SAME_NAME_PARTITION_FIELD
)
Сообщение: Duplicate partition field name '%s'
1653
SQLSTATE: HY000
(ER_PARTITION_COLUMN_LIST_ERROR
)
Сообщение: Inconsistency in usage of column lists for partitioning
1654
SQLSTATE: HY000
(ER_WRONG_TYPE_COLUMN_VALUE_ERROR
)
Сообщение: Partition column values of incorrect type
1655
SQLSTATE: HY000
(ER_TOO_MANY_PARTITION_FUNC_FIELDS_ERROR
)
Сообщение: Too many fields in '%s'
1656
SQLSTATE: HY000
(ER_MAXVALUE_IN_VALUES_IN
)
Сообщение: Cannot use MAXVALUE as value in VALUES IN
1657
SQLSTATE: HY000
(ER_TOO_MANY_VALUES_ERROR
)
Сообщение: Cannot have more than one value for this type of %s partitioning
1658
SQLSTATE: HY000
(ER_ROW_SINGLE_PARTITION_FIELD_ERROR
)
Сообщение: Row expressions in VALUES IN only allowed for multi-field column partitioning
1659
SQLSTATE: HY000
(ER_FIELD_TYPE_NOT_ALLOWED_AS_PARTITION_FIELD
)
Сообщение: Field '%s' is of a not allowed type for this type of partitioning
1660
SQLSTATE: HY000
(ER_PARTITION_FIELDS_TOO_LONG
)
Сообщение: The total length of the partitioning fields is too large
1661
SQLSTATE: HY000
(ER_BINLOG_ROW_ENGINE_AND_STMT_ENGINE
)
Сообщение: Cannot execute statement: impossible to write to binary log since both row-incapable engines and statement-incapable engines are involved.
1662
SQLSTATE: HY000
(ER_BINLOG_ROW_MODE_AND_STMT_ENGINE
)
Сообщение: Cannot execute statement: impossible to write to binary log since BINLOG_FORMAT = ROW and at least one table uses a storage engine limited to statement-based logging.
1663
SQLSTATE: HY000
(ER_BINLOG_UNSAFE_AND_STMT_ENGINE
)
Сообщение: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. %s
1664
SQLSTATE: HY000
(ER_BINLOG_ROW_INJECTION_AND_STMT_ENGINE
)
Сообщение: Cannot execute statement: impossible to write to binary log since statement is in row format and at least one table uses a storage engine limited to statement-based logging.
1665
SQLSTATE: HY000
(ER_BINLOG_STMT_MODE_AND_ROW_ENGINE
)
Сообщение: Cannot execute statement: impossible to write to binary log since BINLOG_FORMAT = STATEMENT and at least one table uses a storage engine limited to row-based logging.%s
1666
SQLSTATE: HY000
(ER_BINLOG_ROW_INJECTION_AND_STMT_MODE
)
Сообщение: Cannot execute statement: impossible to write to binary log since statement is in row format and BINLOG_FORMAT = STATEMENT.
1667
SQLSTATE: HY000
(ER_BINLOG_MULTIPLE_ENGINES_AND_SELF_LOGGING_ENGINE
)
Сообщение: Cannot execute statement: impossible to write to binary log since more than one engine is involved and at least one engine is self-logging.
1668
SQLSTATE: HY000
(ER_BINLOG_UNSAFE_LIMIT
)
Сообщение: The statement is unsafe because it uses a LIMIT clause. This is unsafe because the set of rows included cannot be predicted.
1670
SQLSTATE: HY000
(ER_BINLOG_UNSAFE_SYSTEM_TABLE
)
Сообщение: The statement is unsafe because it uses the general log, slow query log, or performance_schema table(s). This is unsafe because system tables may differ on slaves.
1671
SQLSTATE: HY000
(ER_BINLOG_UNSAFE_AUTOINC_COLUMNS
)
Сообщение: Statement is unsafe because it invokes a trigger or a stored function that inserts into an AUTO_INCREMENT column. Inserted values cannot be logged correctly.
1672
SQLSTATE: HY000
(ER_BINLOG_UNSAFE_UDF
)
Сообщение: Statement is unsafe because it uses a UDF which may not return the same value on the slave.
1673
SQLSTATE: HY000
(ER_BINLOG_UNSAFE_SYSTEM_VARIABLE
)
Сообщение: Statement is unsafe because it uses a system variable that may have a different value on the slave.
1674
SQLSTATE: HY000
(ER_BINLOG_UNSAFE_SYSTEM_FUNCTION
)
Сообщение: Statement is unsafe because it uses a system function that may return a different value on the slave.
1675
SQLSTATE: HY000
(ER_BINLOG_UNSAFE_NONTRANS_AFTER_TRANS
)
Сообщение: Statement is unsafe because it accesses a non-transactional table after accessing a transactional table within the same transaction.
1676
SQLSTATE: HY000
(ER_MESSAGE_AND_STATEMENT
)
Сообщение: %s Statement: %s
1677
SQLSTATE: HY000
(ER_SLAVE_CONVERSION_FAILED
)
Сообщение: Column %d of table '%s.%s' cannot be converted from type '%s' to type '%s'
1678
SQLSTATE: HY000
(ER_SLAVE_CANT_CREATE_CONVERSION
)
Сообщение: Can't create conversion table for table '%s.%s'
1679
SQLSTATE: HY000
(ER_INSIDE_TRANSACTION_PREVENTS_SWITCH_BINLOG_FORMAT
)
Сообщение: Cannot modify @@session.binlog_format inside a transaction
1680
SQLSTATE: HY000
(ER_PATH_LENGTH
)
Сообщение: The path specified for %s is too long.
1681
SQLSTATE: HY000
(ER_WARN_DEPRECATED_SYNTAX_NO_REPLACEMENT
)
Сообщение: '%s' is deprecated and will be removed in a future release.
1682
SQLSTATE: HY000
(ER_WRONG_NATIVE_TABLE_STRUCTURE
)
Сообщение: Native table '%s'.'%s' has the wrong structure
1683
SQLSTATE: HY000
(ER_WRONG_PERFSCHEMA_USAGE
)
Сообщение: Invalid performance_schema usage.
1684
SQLSTATE: HY000
(ER_WARN_I_S_SKIPPED_TABLE
)
Сообщение: Table '%s'.'%s' was skipped since its definition is being modified by concurrent DDL statement
1685
SQLSTATE: HY000
(ER_INSIDE_TRANSACTION_PREVENTS_SWITCH_BINLOG_DIRECT
)
Сообщение: Cannot modify @@session.binlog_direct_non_transactional_updates inside a transaction
1686
SQLSTATE: HY000
(ER_STORED_FUNCTION_PREVENTS_SWITCH_BINLOG_DIRECT
)
Сообщение: Cannot change the binlog direct flag inside a stored function or trigger
1687
SQLSTATE: 42000
(ER_SPATIAL_MUST_HAVE_GEOM_COL
)
Сообщение: A SPATIAL index may only contain a geometrical type column
1688
SQLSTATE: HY000
(ER_TOO_LONG_INDEX_COMMENT
)
Сообщение: Comment for index '%s' is too long (max = %lu)
1689
SQLSTATE: HY000
(ER_LOCK_ABORTED
)
Сообщение: Wait on a lock was aborted due to a pending exclusive lock
1690
SQLSTATE: 22003
(ER_DATA_OUT_OF_RANGE
)
Сообщение: %s value is out of range in '%s'
1691
SQLSTATE: HY000
(ER_WRONG_SPVAR_TYPE_IN_LIMIT
)
Сообщение: A variable of a non-integer based type in LIMIT clause
1692
SQLSTATE: HY000
(ER_BINLOG_UNSAFE_MULTIPLE_ENGINES_AND_SELF_LOGGING_ENGINE
)
Сообщение: Mixing self-logging and non-self-logging engines in a statement is unsafe.
1693
SQLSTATE: HY000
(ER_BINLOG_UNSAFE_MIXED_STATEMENT
)
Сообщение: Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
1694
SQLSTATE: HY000
(ER_INSIDE_TRANSACTION_PREVENTS_SWITCH_SQL_LOG_BIN
)
Сообщение: Cannot modify @@session.sql_log_bin inside a transaction
1695
SQLSTATE: HY000
(ER_STORED_FUNCTION_PREVENTS_SWITCH_SQL_LOG_BIN
)
Сообщение: Cannot change the sql_log_bin inside a stored function or trigger
1696
SQLSTATE: HY000
(ER_FAILED_READ_FROM_PAR_FILE
)
Сообщение: Failed to read from the .par file
1697
SQLSTATE: HY000
(ER_VALUES_IS_NOT_INT_TYPE_ERROR
)
Сообщение: VALUES value for partition '%s' must have type INT
1698
SQLSTATE: 28000
(ER_ACCESS_DENIED_NO_PASSWORD_ERROR
)
Сообщение: Access denied for user '%s'@'%s'
1699
SQLSTATE: HY000
(ER_SET_PASSWORD_AUTH_PLUGIN
)
Сообщение: SET PASSWORD has no significance for users authenticating via plugins
1701
SQLSTATE: 42000
(ER_TRUNCATE_ILLEGAL_FK
)
Сообщение: Cannot truncate a table referenced in a foreign key constraint (%s)
1702
SQLSTATE: HY000
(ER_PLUGIN_IS_PERMANENT
)
Сообщение: Plugin '%s' is force_plus_permanent and can not be unloaded
1703
SQLSTATE: HY000
(ER_SLAVE_HEARTBEAT_VALUE_OUT_OF_RANGE_MIN
)
Сообщение: The requested value for the heartbeat period is less than 1 millisecond. The value is reset to 0, meaning that heartbeating will effectively be disabled.
1704
SQLSTATE: HY000
(ER_SLAVE_HEARTBEAT_VALUE_OUT_OF_RANGE_MAX
)
Сообщение: The requested value for the heartbeat period exceeds the value of `slave_net_timeout' seconds. A sensible value for the period should be less than the timeout.
1705
SQLSTATE: HY000
(ER_STMT_CACHE_FULL
)
Сообщение: Multi-row statements required more than 'max_binlog_stmt_cache_size' bytes of storage; increase this mysqld variable and try again
1706
SQLSTATE: HY000
(ER_MULTI_UPDATE_KEY_CONFLICT
)
Сообщение: Primary key/partition key update is not allowed since the table is updated both as '%s' and '%s'.
1707
SQLSTATE: HY000
(ER_TABLE_NEEDS_REBUILD
)
Сообщение: Table rebuild required. Please do "ALTER TABLE `%s` FORCE" or dump/reload to fix it!
1708
SQLSTATE: HY000
(WARN_OPTION_BELOW_LIMIT
)
Сообщение: The value of '%s' should be no less than the value of '%s'
1709
SQLSTATE: HY000
(ER_INDEX_COLUMN_TOO_LONG
)
Сообщение: Index column size too large. The maximum column size is %lu bytes.
1710
SQLSTATE: HY000
(ER_ERROR_IN_TRIGGER_BODY
)
Сообщение: Trigger '%s' has an error in its body: '%s'
1711
SQLSTATE: HY000
(ER_ERROR_IN_UNKNOWN_TRIGGER_BODY
)
Сообщение: Unknown trigger has an error in its body: '%s'
1712
SQLSTATE: HY000
(ER_INDEX_CORRUPT
)
Сообщение: Index %s is corrupted
1713
SQLSTATE: HY000
(ER_UNDO_RECORD_TOO_BIG
)
Сообщение: Undo log record is too big.
1714
SQLSTATE: HY000
(ER_BINLOG_UNSAFE_INSERT_IGNORE_SELECT
)
Сообщение: INSERT IGNORE... SELECT is unsafe because the order in which rows are retrieved by the SELECT determines which (if any) rows are ignored. This order cannot be predicted and may differ on master and the slave.
1715
SQLSTATE: HY000
(
ER_BINLOG_UNSAFE_INSERT_SELECT_UPDATE
)
Сообщение: INSERT... SELECT... ON DUPLICATE KEY UPDATE is unsafe because the order in which rows are retrieved by the SELECT determines which (if any) rows are updated. This order cannot be predicted and may differ on master and the slave.
1716
SQLSTATE: HY000
(ER_BINLOG_UNSAFE_REPLACE_SELECT
)
Сообщение: REPLACE... SELECT is unsafe because the order in which rows are retrieved by the SELECT determines which (if any) rows are replaced. This order cannot be predicted and may differ on master and the slave.
1717
SQLSTATE: HY000
(ER_BINLOG_UNSAFE_CREATE_IGNORE_SELECT
)
Сообщение: CREATE... IGNORE SELECT is unsafe because the order in which rows are retrieved by the SELECT determines which (if any) rows are ignored. This order cannot be predicted and may differ on master and the slave.
1718
SQLSTATE: HY000
(ER_BINLOG_UNSAFE_CREATE_REPLACE_SELECT
)
Сообщение: CREATE... REPLACE SELECT is unsafe because the order in which rows are retrieved by the SELECT determines which (if any) rows are replaced. This order cannot be predicted and may differ on master and the slave.
1719
SQLSTATE: HY000
(ER_BINLOG_UNSAFE_UPDATE_IGNORE
)
Сообщение: UPDATE IGNORE is unsafe because the order in which rows are updated determines which (if any) rows are ignored. This order cannot be predicted and may differ on master and the slave.
1720
SQLSTATE: HY000
(ER_PLUGIN_NO_UNINSTALL
)
Сообщение: Plugin '%s' is marked as not dynamically uninstallable. You have to stop the server to uninstall it.
1721
SQLSTATE: HY000
(ER_PLUGIN_NO_INSTALL
)
Сообщение: Plugin '%s' is marked as not dynamically installable. You have to stop the server to install it.
1722
SQLSTATE: HY000
(ER_BINLOG_UNSAFE_WRITE_AUTOINC_SELECT
)
Сообщение: Statements writing to a table with an auto-increment column after selecting from another table are unsafe because the order in which rows are retrieved determines what (if any) rows will be written. This order cannot be predicted and may differ on master and the slave.
1723
SQLSTATE: HY000
(ER_BINLOG_UNSAFE_CREATE_SELECT_AUTOINC
)
Сообщение: CREATE TABLE... SELECT... on a table with an auto-increment column is unsafe because the order in which rows are retrieved by the SELECT determines which (if any) rows are inserted. This order cannot be predicted and may differ on master and the slave.
1724
SQLSTATE: HY000
(ER_BINLOG_UNSAFE_INSERT_TWO_KEYS
)
Сообщение: INSERT... ON DUPLICATE KEY UPDATE on a table with more than one UNIQUE KEY is unsafe
1725
SQLSTATE: HY000
(ER_TABLE_IN_FK_CHECK
)
Сообщение: Table is being used in foreign key check.
1726
SQLSTATE: HY000
(ER_UNSUPPORTED_ENGINE
)
Сообщение: Storage engine '%s' does not support system tables. [%s.%s]
1727
SQLSTATE: HY000
(ER_BINLOG_UNSAFE_AUTOINC_NOT_FIRST
)
Сообщение: INSERT into autoincrement field which is not the first part in the composed primary key is unsafe.
1728
SQLSTATE: HY000
(ER_CANNOT_LOAD_FROM_TABLE_V2
)
Сообщение: Cannot load from %s.%s. The table is probably corrupted
1729
SQLSTATE: HY000
(ER_MASTER_DELAY_VALUE_OUT_OF_RANGE
)
Сообщение: The requested value %s for the master delay exceeds the maximum %u
1730
SQLSTATE: HY000
(ER_ONLY_FD_AND_RBR_EVENTS_ALLOWED_IN_BINLOG_STATEMENT
)
Сообщение: Only Format_description_log_event and row events are allowed in BINLOG statements (but %s was provided)
1731
SQLSTATE: HY000
(ER_PARTITION_EXCHANGE_DIFFERENT_OPTION
)
Сообщение: Non matching attribute '%s' between partition and table
1732
SQLSTATE: HY000
(ER_PARTITION_EXCHANGE_PART_TABLE
)
Сообщение: Table to exchange with partition is partitioned: '%s'
1733
SQLSTATE: HY000
(ER_PARTITION_EXCHANGE_TEMP_TABLE
)
Сообщение: Table to exchange with partition is temporary: '%s'
1734
SQLSTATE: HY000
(ER_PARTITION_INSTEAD_OF_SUBPARTITION
)
Сообщение: Subpartitioned table, use subpartition instead of partition
1735
SQLSTATE: HY000
(ER_UNKNOWN_PARTITION
)
Сообщение: Unknown partition '%s' in table '%s'
1736
SQLSTATE: HY000
(ER_TABLES_DIFFERENT_METADATA
)
Сообщение: Tables have different definitions
1737
SQLSTATE: HY000
(ER_ROW_DOES_NOT_MATCH_PARTITION
)
Сообщение: Found a row that does not match the partition
1738
SQLSTATE: HY000
(ER_BINLOG_CACHE_SIZE_GREATER_THAN_MAX
)
Сообщение: Option binlog_cache_size (%lu) is greater than max_binlog_cache_size (%lu); setting binlog_cache_size equal to max_binlog_cache_size.
1739
SQLSTATE: HY000
(ER_WARN_INDEX_NOT_APPLICABLE
)
Сообщение: Cannot use %s access on index '%s' due to type or collation conversion on field '%s'
1740
SQLSTATE: HY000
(ER_PARTITION_EXCHANGE_FOREIGN_KEY
)
Сообщение: Table to exchange with partition has foreign key references: '%s'
1742
SQLSTATE: HY000
(ER_RPL_INFO_DATA_TOO_LONG
)
Сообщение: Data for column '%s' too long
1743
SQLSTATE: HY000
(ER_NETWORK_READ_EVENT_CHECKSUM_FAILURE
)
Сообщение: Replication event checksum verification failed while reading from network.
1745
SQLSTATE: HY000
(ER_BINLOG_STMT_CACHE_SIZE_GREATER_THAN_MAX
)
Сообщение: Option binlog_stmt_cache_size (%lu) is greater than max_binlog_stmt_cache_size (%lu); setting binlog_stmt_cache_size equal to max_binlog_stmt_cache_size.
1746
SQLSTATE: HY000
(ER_CANT_UPDATE_TABLE_IN_CREATE_TABLE_SELECT
)
Сообщение: Can't update table '%s' while '%s' is being created.
1747
SQLSTATE: HY000
(ER_PARTITION_CLAUSE_ON_NONPARTITIONED
)
Сообщение: PARTITION () clause on non partitioned table
1748
SQLSTATE: HY000
(ER_ROW_DOES_NOT_MATCH_GIVEN_PARTITION_SET
)
Сообщение: Found a row not matching the given partition set
1750
SQLSTATE: HY000
(ER_CHANGE_RPL_INFO_REPOSITORY_FAILURE
)
Сообщение: Failure while changing the type of replication repository: %s.
1751
SQLSTATE: HY000
(ER_WARNING_NOT_COMPLETE_ROLLBACK_WITH_CREATED_TEMP_TABLE
)
Сообщение: The creation of some temporary tables could not be rolled back.
1752
SQLSTATE: HY000
(ER_WARNING_NOT_COMPLETE_ROLLBACK_WITH_DROPPED_TEMP_TABLE
)
Сообщение: Some temporary tables were dropped, but these operations could not be rolled back.
1753
SQLSTATE: HY000
(ER_MTS_FEATURE_IS_NOT_SUPPORTED
)
Сообщение: %s is not supported in multi-threaded slave mode. %s
1754
SQLSTATE: HY000
(ER_MTS_UPDATED_DBS_GREATER_MAX
)
Сообщение: The number of modified databases exceeds the maximum %d; the database names will not be included in the replication event metadata.
1755
SQLSTATE: HY000
(ER_MTS_CANT_PARALLEL
)
Сообщение: Cannot execute the current event group in the parallel mode. Encountered event %s, relay-log name %s, position %s which prevents execution of this event group in parallel mode. Reason: %s.
1756
SQLSTATE: HY000
(ER_MTS_INCONSISTENT_DATA
)
Сообщение: %s
1757
SQLSTATE: HY000
(ER_FULLTEXT_NOT_SUPPORTED_WITH_PARTITIONING
)
Сообщение: FULLTEXT index is not supported for partitioned tables.
1758
SQLSTATE: 35000
(ER_DA_INVALID_CONDITION_NUMBER
)
Сообщение: Invalid condition number
1759
SQLSTATE: HY000
(ER_INSECURE_PLAIN_TEXT
)
Сообщение: Sending passwords in plain text without SSL/TLS is extremely insecure.
1760
SQLSTATE: HY000
(ER_INSECURE_CHANGE_MASTER
)
Сообщение: Storing MySQL user name or password information in the master info repository is not secure and is therefore not recommended. Please consider using the USER and PASSWORD connection options for START SLAVE; see the 'START SLAVE Syntax' in the MySQL Manual for more information.
1761
SQLSTATE: 23000
(ER_FOREIGN_DUPLICATE_KEY_WITH_CHILD_INFO
)
Сообщение: Foreign key constraint for table '%s', record '%s' would lead to a duplicate entry in table '%s', key '%s'
1762
SQLSTATE: 23000
(ER_FOREIGN_DUPLICATE_KEY_WITHOUT_CHILD_INFO
)
Сообщение: Foreign key constraint for table '%s', record '%s' would lead to a duplicate entry in a child table
1763
SQLSTATE: HY000
(ER_SQLTHREAD_WITH_SECURE_SLAVE
)
Сообщение: Setting authentication options is not possible when only the Slave SQL Thread is being started.
1764
SQLSTATE: HY000
(ER_TABLE_HAS_NO_FT
)
Сообщение: The table does not have FULLTEXT index to support this query
1765
SQLSTATE: HY000
(ER_VARIABLE_NOT_SETTABLE_IN_SF_OR_TRIGGER
)
Сообщение: The system variable %s cannot be set in stored functions or triggers.
1766
SQLSTATE: HY000
(ER_VARIABLE_NOT_SETTABLE_IN_TRANSACTION
)
Сообщение: The system variable %s cannot be set when there is an ongoing transaction.
1769
SQLSTATE: HY000
(ER_SET_STATEMENT_CANNOT_INVOKE_FUNCTION
)
Сообщение: The statement 'SET %s' cannot invoke a stored function.
1770
SQLSTATE: HY000
(ER_GTID_NEXT_CANT_BE_AUTOMATIC_IF_GTID_NEXT_LIST_IS_NON_NULL
)
Сообщение: The system variable @@SESSION.GTID_NEXT cannot be 'AUTOMATIC' when @@SESSION.GTID_NEXT_LIST is non-NULL.
1772
SQLSTATE: HY000
(ER_MALFORMED_GTID_SET_SPECIFICATION
)
Сообщение: Malformed GTID set specification '%s'.
1773
SQLSTATE: HY000
(ER_MALFORMED_GTID_SET_ENCODING
)
Сообщение: Malformed GTID set encoding.
1774
SQLSTATE: HY000
(ER_MALFORMED_GTID_SPECIFICATION
)
Сообщение: Malformed GTID specification '%s'.
1775
SQLSTATE: HY000
(ER_GNO_EXHAUSTED
)
Сообщение: Impossible to generate Global Transaction Identifier: the integer component reached the maximal value. Restart the server with a new server_uuid.
1776
SQLSTATE: HY000
(ER_BAD_SLAVE_AUTO_POSITION
)
Сообщение: Parameters MASTER_LOG_FILE, MASTER_LOG_POS, RELAY_LOG_FILE and RELAY_LOG_POS cannot be set when MASTER_AUTO_POSITION is active.
1777
SQLSTATE: HY000
(ER_AUTO_POSITION_REQUIRES_GTID_MODE_NOT_OFF
)
Сообщение: CHANGE MASTER TO MASTER_AUTO_POSITION = 1 cannot be executed because @@GLOBAL.GTID_MODE = OFF.
1778
SQLSTATE: HY000
(ER_CANT_DO_IMPLICIT_COMMIT_IN_TRX_WHEN_GTID_NEXT_IS_SET
)
Сообщение: Cannot execute statements with implicit commit inside a transaction when @@SESSION.GTID_NEXT == 'UUID:NUMBER'.
1779
SQLSTATE: HY000
(ER_GTID_MODE_ON_REQUIRES_ENFORCE_GTID_CONSISTENCY_ON
)
Сообщение: GTID_MODE = ON requires ENFORCE_GTID_CONSISTENCY = ON.
1781
SQLSTATE: HY000
(ER_CANT_SET_GTID_NEXT_TO_GTID_WHEN_GTID_MODE_IS_OFF
)
Сообщение: @@SESSION.GTID_NEXT cannot be set to UUID:NUMBER when @@GLOBAL.GTID_MODE = OFF.
1782
SQLSTATE: HY000
(ER_CANT_SET_GTID_NEXT_TO_ANONYMOUS_WHEN_GTID_MODE_IS_ON
)
Сообщение: @@SESSION.GTID_NEXT cannot be set to ANONYMOUS when @@GLOBAL.GTID_MODE = ON.
1783
SQLSTATE: HY000
(ER_CANT_SET_GTID_NEXT_LIST_TO_NON_NULL_WHEN_GTID_MODE_IS_OFF
)
Сообщение: @@SESSION.GTID_NEXT_LIST cannot be set to a non-NULL value when @@GLOBAL.GTID_MODE = OFF.
1785
SQLSTATE: HY000
(ER_GTID_UNSAFE_NON_TRANSACTIONAL_TABLE
)
Сообщение: Statement violates GTID consistency: Updates to non-transactional tables can only be done in either autocommitted statements or single-statement transactions, and never in the same statement as updates to transactional tables.
1786
SQLSTATE: HY000
(ER_GTID_UNSAFE_CREATE_SELECT
)
Сообщение: Statement violates GTID consistency: CREATE TABLE ... SELECT.
1787
SQLSTATE: HY000
(ER_GTID_UNSAFE_CREATE_DROP_TEMPORARY_TABLE_IN_TRANSACTION
)
Сообщение: Statement violates GTID consistency: CREATE TEMPORARY TABLE and DROP TEMPORARY TABLE can only be executed outside transactional context. These statements are also not allowed in a function or trigger because functions and triggers are also considered to be multi-statement transactions.
1788
SQLSTATE: HY000
(ER_GTID_MODE_CAN_ONLY_CHANGE_ONE_STEP_AT_A_TIME
)
Сообщение: The value of @@GLOBAL.GTID_MODE can only be changed one step at a time: OFF <-> OFF_PERMISSIVE <-> ON_PERMISSIVE <-> ON. Also note that this value must be stepped up or down simultaneously on all servers. See the Manual for instructions.
1789
SQLSTATE: HY000
(ER_MASTER_HAS_PURGED_REQUIRED_GTIDS
)
Сообщение: The slave is connecting using CHANGE MASTER TO MASTER_AUTO_POSITION = 1, but the master has purged binary logs containing GTIDs that the slave requires.
1790
SQLSTATE: HY000
(ER_CANT_SET_GTID_NEXT_WHEN_OWNING_GTID
)
Сообщение: @@SESSION.GTID_NEXT cannot be changed by a client that owns a GTID. The client owns %s. Ownership is released on COMMIT or ROLLBACK.
1791
SQLSTATE: HY000
(ER_UNKNOWN_EXPLAIN_FORMAT
)
Сообщение: Unknown EXPLAIN format name: '%s'
1792
SQLSTATE: 25006
(ER_CANT_EXECUTE_IN_READ_ONLY_TRANSACTION
)
Сообщение: Cannot execute statement in a READ ONLY transaction.
1793
SQLSTATE: HY000
(ER_TOO_LONG_TABLE_PARTITION_COMMENT
)
Сообщение: Comment for table partition '%s' is too long (max = %lu)
1794
SQLSTATE: HY000
(ER_SLAVE_CONFIGURATION
)
Сообщение: Slave is not configured or failed to initialize properly. You must at least set --server-id to enable either a master or a slave. Additional error messages can be found in the MySQL error log.
1795
SQLSTATE: HY000
(ER_INNODB_FT_LIMIT
)
Сообщение: InnoDB presently supports one FULLTEXT index creation at a time
1796
SQLSTATE: HY000
(ER_INNODB_NO_FT_TEMP_TABLE
)
Сообщение: Cannot create FULLTEXT index on temporary InnoDB table
1797
SQLSTATE: HY000
(ER_INNODB_FT_WRONG_DOCID_COLUMN
)
Сообщение: Column '%s' is of wrong type for an InnoDB FULLTEXT index
1798
SQLSTATE: HY000
(ER_INNODB_FT_WRONG_DOCID_INDEX
)
Сообщение: Index '%s' is of wrong type for an InnoDB FULLTEXT index
1799
SQLSTATE: HY000
(ER_INNODB_ONLINE_LOG_TOO_BIG
)
Сообщение: Creating index '%s' required more than 'innodb_online_alter_log_max_size' bytes of modification log. Please try again.
1800
SQLSTATE: HY000
(ER_UNKNOWN_ALTER_ALGORITHM
)
Сообщение: Unknown ALGORITHM '%s'
1801
SQLSTATE: HY000
(ER_UNKNOWN_ALTER_LOCK
)
Сообщение: Unknown LOCK type '%s'
1802
SQLSTATE: HY000
(ER_MTS_CHANGE_MASTER_CANT_RUN_WITH_GAPS
)
Сообщение: CHANGE MASTER cannot be executed when the slave was stopped with an error or killed in MTS mode. Consider using RESET SLAVE or START SLAVE UNTIL.
1803
SQLSTATE: HY000
(ER_MTS_RECOVERY_FAILURE
)
Сообщение: Cannot recover after SLAVE errored out in parallel execution mode. Additional error messages can be found in the MySQL error log.
1804
SQLSTATE: HY000
(ER_MTS_RESET_WORKERS
)
Сообщение: Cannot clean up worker info tables. Additional error messages can be found in the MySQL error log.
1805
SQLSTATE: HY000
(ER_COL_COUNT_DOESNT_MATCH_CORRUPTED_V2
)
Сообщение: Column count of %s.%s is wrong. Expected %d, found %d. The table is probably corrupted
1806
SQLSTATE: HY000
(ER_SLAVE_SILENT_RETRY_TRANSACTION
)
Сообщение: Slave must silently retry current transaction
1807
SQLSTATE: HY000
(ER_DISCARD_FK_CHECKS_RUNNING
)
Сообщение: There is a foreign key check running on table '%s'. Cannot discard the table.
1808
SQLSTATE: HY000
(ER_TABLE_SCHEMA_MISMATCH
)
Сообщение: Schema mismatch (%s)
1809
SQLSTATE: HY000
(ER_TABLE_IN_SYSTEM_TABLESPACE
)
Сообщение: Table '%s' in system tablespace
1810
SQLSTATE: HY000
(ER_IO_READ_ERROR
)
Сообщение: IO Read error: (%lu, %s) %s
1811
SQLSTATE: HY000
(ER_IO_WRITE_ERROR
)
Сообщение: IO Write error: (%lu, %s) %s
1812
SQLSTATE: HY000
(ER_TABLESPACE_MISSING
)
Сообщение: Tablespace is missing for table %s.
1813
SQLSTATE: HY000
(ER_TABLESPACE_EXISTS
)
Сообщение: Tablespace '%s' exists.
1814
SQLSTATE: HY000
(ER_TABLESPACE_DISCARDED
)
Сообщение: Tablespace has been discarded for table '%s'
1815
SQLSTATE: HY000
(ER_INTERNAL_ERROR
)
Сообщение: Internal error: %s
1816
SQLSTATE: HY000
(ER_INNODB_IMPORT_ERROR
)
Сообщение: ALTER TABLE %s IMPORT TABLESPACE failed with error %lu : '%s'
1817
SQLSTATE: HY000
(ER_INNODB_INDEX_CORRUPT
)
Сообщение: Index corrupt: %s
1818
SQLSTATE: HY000
(ER_INVALID_YEAR_COLUMN_LENGTH
)
Сообщение: Supports only YEAR or YEAR(4) column.
1819
SQLSTATE: HY000
(ER_NOT_VALID_PASSWORD
)
Сообщение: Your password does not satisfy the current policy requirements
1820
SQLSTATE: HY000
(ER_MUST_CHANGE_PASSWORD
)
Сообщение: You must reset your password using ALTER USER statement before executing this statement.
1821
SQLSTATE: HY000
(ER_FK_NO_INDEX_CHILD
)
Сообщение: Failed to add the foreign key constaint. Missing index for constraint '%s' in the foreign table '%s'
1822
SQLSTATE: HY000
(ER_FK_NO_INDEX_PARENT
)
Сообщение: Failed to add the foreign key constaint. Missing index for constraint '%s' in the referenced table '%s'
1823
SQLSTATE: HY000
(ER_FK_FAIL_ADD_SYSTEM
)
Сообщение: Failed to add the foreign key constraint '%s' to system tables
1824
SQLSTATE: HY000
(ER_FK_CANNOT_OPEN_PARENT
)
Сообщение: Failed to open the referenced table '%s'
1825
SQLSTATE: HY000
(ER_FK_INCORRECT_OPTION
)
Сообщение: Failed to add the foreign key constraint on table '%s'. Incorrect options in FOREIGN KEY constraint '%s'
1826
SQLSTATE: HY000
(ER_FK_DUP_NAME
)
Сообщение: Duplicate foreign key constraint name '%s'
1827
SQLSTATE: HY000
(ER_PASSWORD_FORMAT
)
Сообщение: The password hash doesn't have the expected format. Check if the correct password algorithm is being used with the PASSWORD() function.
1828
SQLSTATE: HY000
(ER_FK_COLUMN_CANNOT_DROP
)
Сообщение: Cannot drop column '%s': needed in a foreign key constraint '%s'
1829
SQLSTATE: HY000
(ER_FK_COLUMN_CANNOT_DROP_CHILD
)
Сообщение: Cannot drop column '%s': needed in a foreign key constraint '%s' of table '%s'
1830
SQLSTATE: HY000
(ER_FK_COLUMN_NOT_NULL
)
Сообщение: Column '%s' cannot be NOT NULL: needed in a foreign key constraint '%s' SET NULL
1831
SQLSTATE: HY000
(ER_DUP_INDEX
)
Сообщение: Duplicate index '%s' defined on the table '%s.%s'. This is deprecated and will be disallowed in a future release.
1832
SQLSTATE: HY000
(ER_FK_COLUMN_CANNOT_CHANGE
)
Сообщение: Cannot change column '%s': used in a foreign key constraint '%s'
1833
SQLSTATE: HY000
(ER_FK_COLUMN_CANNOT_CHANGE_CHILD
)
Сообщение: Cannot change column '%s': used in a foreign key constraint '%s' of table '%s'
1835
SQLSTATE: HY000
(ER_MALFORMED_PACKET
)
Сообщение: Malformed communication packet.
1836
SQLSTATE: HY000
(ER_READ_ONLY_MODE
)
Сообщение: Running in read-only mode
1837
SQLSTATE: HY000
(ER_GTID_NEXT_TYPE_UNDEFINED_GROUP
)
Сообщение: When @@SESSION.GTID_NEXT is set to a GTID, you must explicitly set it to a different value after a COMMIT or ROLLBACK. Please check GTID_NEXT variable manual page for detailed explanation. Current @@SESSION.GTID_NEXT is '%s'.
1838
SQLSTATE: HY000
(ER_VARIABLE_NOT_SETTABLE_IN_SP
)
Сообщение: The system variable %s cannot be set in stored procedures.
1840
SQLSTATE: HY000
(ER_CANT_SET_GTID_PURGED_WHEN_GTID_EXECUTED_IS_NOT_EMPTY
)
Сообщение: @@GLOBAL.GTID_PURGED can only be set when @@GLOBAL.GTID_EXECUTED is empty.
1841
SQLSTATE: HY000
(ER_CANT_SET_GTID_PURGED_WHEN_OWNED_GTIDS_IS_NOT_EMPTY
)
Сообщение: @@GLOBAL.GTID_PURGED can only be set when there are no ongoing transactions (not even in other clients).
1842
SQLSTATE: HY000
(ER_GTID_PURGED_WAS_CHANGED
)
Сообщение: @@GLOBAL.GTID_PURGED was changed from '%s' to '%s'.
1843
SQLSTATE: HY000
(ER_GTID_EXECUTED_WAS_CHANGED
)
Сообщение: @@GLOBAL.GTID_EXECUTED was changed from '%s' to '%s'.
1844
SQLSTATE: HY000
(ER_BINLOG_STMT_MODE_AND_NO_REPL_TABLES
)
Сообщение: Cannot execute statement: impossible to write to binary log since BINLOG_FORMAT = STATEMENT, and both replicated and non replicated tables are written to.
1845
SQLSTATE: 0A000
(ER_ALTER_OPERATION_NOT_SUPPORTED
)
Сообщение: %s is not supported for this operation. Try %s.
1846
SQLSTATE: 0A000
(ER_ALTER_OPERATION_NOT_SUPPORTED_REASON
)
Сообщение: %s is not supported. Reason: %s. Try %s.
1847
SQLSTATE: HY000
(ER_ALTER_OPERATION_NOT_SUPPORTED_REASON_COPY
)
Сообщение: COPY algorithm requires a lock
1848
SQLSTATE: HY000
(ER_ALTER_OPERATION_NOT_SUPPORTED_REASON_PARTITION
)
Сообщение: Partition specific operations do not yet support LOCK/ALGORITHM
1849
SQLSTATE: HY000
(
ER_ALTER_OPERATION_NOT_SUPPORTED_REASON_FK_RENAME
)
Сообщение: Columns participating in a foreign key are renamed
1850
SQLSTATE: HY000
(ER_ALTER_OPERATION_NOT_SUPPORTED_REASON_COLUMN_TYPE
)
Сообщение: Cannot change column type INPLACE
1851
SQLSTATE: HY000
(
ER_ALTER_OPERATION_NOT_SUPPORTED_REASON_FK_CHECK
)
Сообщение: Adding foreign keys needs foreign_key_checks=OFF
1853
SQLSTATE: HY000
(
ER_ALTER_OPERATION_NOT_SUPPORTED_REASON_NOPK
)
Сообщение: Dropping a primary key is not allowed without also adding a new primary key
1854
SQLSTATE: HY000
(
ER_ALTER_OPERATION_NOT_SUPPORTED_REASON_AUTOINC
)
Сообщение: Adding an auto-increment column requires a lock
1855
SQLSTATE: HY000
(
ER_ALTER_OPERATION_NOT_SUPPORTED_REASON_HIDDEN_FTS
)
Сообщение: Cannot replace hidden FTS_DOC_ID with a user-visible one
1856
SQLSTATE: HY000
(
ER_ALTER_OPERATION_NOT_SUPPORTED_REASON_CHANGE_FTS
)
Сообщение: Cannot drop or rename FTS_DOC_ID
1857
SQLSTATE: HY000
(
ER_ALTER_OPERATION_NOT_SUPPORTED_REASON_FTS
)
Сообщение: Fulltext index creation requires a lock
1858
SQLSTATE: HY000
(
ER_SQL_SLAVE_SKIP_COUNTER_NOT_SETTABLE_IN_GTID_MODE
)
Сообщение: sql_slave_skip_counter can not be set when the server is running with @@GLOBAL.GTID_MODE = ON. Instead, for each transaction that you want to skip, generate an empty transaction with the same GTID as the transaction
1859
SQLSTATE: 23000
(
ER_DUP_UNKNOWN_IN_INDEX
)
Сообщение: Duplicate entry for key '%s'
1860
SQLSTATE: HY000
(
ER_IDENT_CAUSES_TOO_LONG_PATH
)
Сообщение: Long database name and identifier for object resulted in path length exceeding %d characters. Path: '%s'.
1861
SQLSTATE: HY000
(
ER_ALTER_OPERATION_NOT_SUPPORTED_REASON_NOT_NULL
)
Сообщение: cannot silently convert NULL values, as required in this SQL_MODE
1862
SQLSTATE: HY000
(
ER_MUST_CHANGE_PASSWORD_LOGIN
)
Сообщение: Your password has expired. To log in you must change it using a client that supports expired passwords.
1863
SQLSTATE: HY000
(ER_ROW_IN_WRONG_PARTITION
)
Сообщение: Found a row in wrong partition %s
1864
SQLSTATE: HY000
(ER_MTS_EVENT_BIGGER_PENDING_JOBS_SIZE_MAX
)
Сообщение: Cannot schedule event %s, relay-log name %s, position %s to Worker thread because its size %lu exceeds %lu of slave_pending_jobs_size_max.
1866
SQLSTATE: HY000
(ER_BINLOG_LOGICAL_CORRUPTION
)
Сообщение: The binary log file '%s' is logically corrupted: %s
1867
SQLSTATE: HY000
(ER_WARN_PURGE_LOG_IN_USE
)
Сообщение: file %s was not purged because it was being read by %d thread(s), purged only %d out of %d files.
1868
SQLSTATE: HY000
(ER_WARN_PURGE_LOG_IS_ACTIVE
)
Сообщение: file %s was not purged because it is the active log file.
1869
SQLSTATE: HY000
(ER_AUTO_INCREMENT_CONFLICT
)
Сообщение: Auto-increment value in UPDATE conflicts with internally generated values
1870
SQLSTATE: HY000
(WARN_ON_BLOCKHOLE_IN_RBR
)
Сообщение: Row events are not logged for %s statements that modify BLACKHOLE tables in row format. Table(s): '%s'
1871
SQLSTATE: HY000
(ER_SLAVE_MI_INIT_REPOSITORY
)
Сообщение: Slave failed to initialize master info structure from the repository
1872
SQLSTATE: HY000
(ER_SLAVE_RLI_INIT_REPOSITORY
)
Сообщение: Slave failed to initialize relay log info structure from the repository
1873
SQLSTATE: 28000
(ER_ACCESS_DENIED_CHANGE_USER_ERROR
)
Сообщение: Access denied trying to change to user '%s'@'%s' (using password: %s). Disconnecting.
1874
SQLSTATE: HY000
(ER_INNODB_READ_ONLY
)
Сообщение: InnoDB is in read only mode.
1875
SQLSTATE: HY000
(ER_STOP_SLAVE_SQL_THREAD_TIMEOUT
)
Сообщение: STOP SLAVE command execution is incomplete: Slave SQL thread got the stop signal, thread is busy, SQL thread will stop once the current task is complete.
1876
SQLSTATE: HY000
(ER_STOP_SLAVE_IO_THREAD_TIMEOUT
)
Сообщение: STOP SLAVE command execution is incomplete: Slave IO thread got the stop signal, thread is busy, IO thread will stop once the current task is complete.
1877
SQLSTATE: HY000
(ER_TABLE_CORRUPT
)
Сообщение: Operation cannot be performed. The table '%s.%s' is missing, corrupt or contains bad data.
1878
SQLSTATE: HY000
(ER_TEMP_FILE_WRITE_FAILURE
)
Сообщение: Temporary file write failure.
1879
SQLSTATE: HY000
(ER_INNODB_FT_AUX_NOT_HEX_ID
)
Сообщение: Upgrade index name failed, please use create index(alter table) algorithm copy to rebuild index.
1880
SQLSTATE: HY000
(ER_OLD_TEMPORALS_UPGRADED
)
Сообщение: TIME/TIMESTAMP/DATETIME columns of old format have been upgraded to the new format.
1881
SQLSTATE: HY000
(ER_INNODB_FORCED_RECOVERY
)
Сообщение: Operation not allowed when innodb_forced_recovery > 0.
1882
SQLSTATE: HY000
(ER_AES_INVALID_IV
)
Сообщение: The initialization vector supplied to %s is too short. Must be at least %d bytes long
1883
SQLSTATE: HY000
(ER_PLUGIN_CANNOT_BE_UNINSTALLED
)
Сообщение: Plugin '%s' cannot be uninstalled now. %s
1884
SQLSTATE: HY000
(ER_GTID_UNSAFE_BINLOG_SPLITTABLE_STATEMENT_AND_GTID_GROUP
)
Сообщение: Cannot execute statement because it needs to be written to the binary log as multiple statements, and this is not allowed when @@SESSION.GTID_NEXT == 'UUID:NUMBER'.
1885
SQLSTATE: HY000
(ER_SLAVE_HAS_MORE_GTIDS_THAN_MASTER
)
Сообщение: Slave has more GTIDs than the master has, using the master's SERVER_UUID. This may indicate that the end of the binary log was truncated or that the last binary log file was lost, e.g., after a power or disk failure when sync_binlog != 1. The master may or may not have rolled back transactions that were already replicated to the slave. Suggest to replicate any transactions that master has rolled back from slave to master, and/or commit empty transactions on master to account for transactions that have been committed on master but are not included in GTID_EXECUTED.
3000
SQLSTATE: HY000
(ER_FILE_CORRUPT
)
Сообщение: File %s is corrupted
3001
SQLSTATE: HY000
(ER_ERROR_ON_MASTER
)
Сообщение: Query partially completed on the master (error on master: %d) and was aborted. There is a chance that your master is inconsistent at this point. If you are sure that your master is ok, run this query manually on the slave and then restart the slave with SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1; START SLAVE;. Query:'%s'
3002
SQLSTATE: HY000
(ER_INCONSISTENT_ERROR
)
Сообщение: Query caused different errors on master and slave. Error on master: message (format)='%s' error code=%d; Error on slave:actual message='%s', error code=%d. Default database:'%s'. Query:'%s'
3003
SQLSTATE: HY000
(ER_STORAGE_ENGINE_NOT_LOADED
)
Сообщение: Storage engine for table '%s'.'%s' is not loaded.
3004
SQLSTATE: 0Z002
(ER_GET_STACKED_DA_WITHOUT_ACTIVE_HANDLER
)
Сообщение: GET STACKED DIAGNOSTICS when handler not active
3005
SQLSTATE: HY000
(ER_WARN_LEGACY_SYNTAX_CONVERTED
)
Сообщение: %s is no longer supported. The statement was converted to %s.
3006
SQLSTATE: HY000
(ER_BINLOG_UNSAFE_FULLTEXT_PLUGIN
)
Сообщение: Statement is unsafe because it uses a fulltext parser plugin which may not return the same value on the slave.
3007
SQLSTATE: HY000
(ER_CANNOT_DISCARD_TEMPORARY_TABLE
)
Сообщение: Cannot DISCARD/IMPORT tablespace associated with temporary table
3008
SQLSTATE: HY000
(ER_FK_DEPTH_EXCEEDED
)
Сообщение: Foreign key cascade delete/update exceeds max depth of %d.
3009
SQLSTATE: HY000
(ER_COL_COUNT_DOESNT_MATCH_PLEASE_UPDATE_V2
)
Сообщение: Column count of %s.%s is wrong. Expected %d, found %d. Created with MySQL %d, now running %d. Please use mysql_upgrade to fix this error.
3010
SQLSTATE: HY000
(ER_WARN_TRIGGER_DOESNT_HAVE_CREATED
)
Сообщение: Trigger %s.%s.%s does not have CREATED attribute.
3011
SQLSTATE: HY000
(ER_REFERENCED_TRG_DOES_NOT_EXIST
)
Сообщение: Referenced trigger '%s' for the given action time and event type does not exist.
3012
SQLSTATE: HY000
(ER_EXPLAIN_NOT_SUPPORTED
)
Сообщение: EXPLAIN FOR CONNECTION command is supported only for SELECT/UPDATE/INSERT/DELETE/REPLACE
3013
SQLSTATE: HY000
(ER_INVALID_FIELD_SIZE
)
Сообщение: Invalid size for column '%s'.
3014
SQLSTATE: HY000
(ER_MISSING_HA_CREATE_OPTION
)
Сообщение: Table storage engine '%s' found required create option missing
3015
SQLSTATE: HY000
(ER_ENGINE_OUT_OF_MEMORY
)
Сообщение: Out of memory in storage engine '%s'.
3016
SQLSTATE: HY000
(ER_PASSWORD_EXPIRE_ANONYMOUS_USER
)
Сообщение: The password for anonymous user cannot be expired.
3017
SQLSTATE: HY000
(ER_SLAVE_SQL_THREAD_MUST_STOP
)
Сообщение: This operation cannot be performed with a running slave sql thread; run STOP SLAVE SQL_THREAD first
3018
SQLSTATE: HY000
(ER_NO_FT_MATERIALIZED_SUBQUERY
)
Сообщение: Cannot create FULLTEXT index on materialized subquery
3019
SQLSTATE: HY000
(ER_INNODB_UNDO_LOG_FULL
)
Сообщение: Undo Log error: %s
3020
SQLSTATE: 2201E
(ER_INVALID_ARGUMENT_FOR_LOGARITHM
)
Сообщение: Invalid argument for logarithm
3021
SQLSTATE: HY000
(ER_SLAVE_CHANNEL_IO_THREAD_MUST_STOP
)
Сообщение: This operation cannot be performed with a running slave io thread; run STOP SLAVE IO_THREAD FOR CHANNEL '%s' first.
3022
SQLSTATE: HY000
(ER_WARN_OPEN_TEMP_TABLES_MUST_BE_ZERO
)
Сообщение: This operation may not be safe when the slave has temporary tables. The tables will be kept open until the server restarts or until the tables are deleted by any replicated DROP statement. Suggest to wait until slave_open_temp_tables = 0.
3023
SQLSTATE: HY000
(ER_WARN_ONLY_MASTER_LOG_FILE_NO_POS
)
Сообщение: CHANGE MASTER TO with a MASTER_LOG_FILE clause but no MASTER_LOG_POS clause may not be safe. The old position value may not be valid for the new binary log file.
3024
SQLSTATE: HY000
(ER_QUERY_TIMEOUT
)
Сообщение: Query execution was interrupted, maximum statement execution time exceeded
3025
SQLSTATE: HY000
(ER_NON_RO_SELECT_DISABLE_TIMER
)
Сообщение: Select is not a read only statement, disabling timer
3026
SQLSTATE: HY000
(ER_DUP_LIST_ENTRY
)
Сообщение: Duplicate entry '%s'.
3028
SQLSTATE: HY000
(ER_AGGREGATE_ORDER_FOR_UNION
)
Сообщение: Expression #%u of ORDER BY contains aggregate function and applies to a UNION
3029
SQLSTATE: HY000
(ER_AGGREGATE_ORDER_NON_AGG_QUERY
)
Сообщение: Expression #%u of ORDER BY contains aggregate function and applies to the result of a non-aggregated query
3030
SQLSTATE: HY000
(ER_SLAVE_WORKER_STOPPED_PREVIOUS_THD_ERROR
)
Сообщение: Slave worker has stopped after at least one previous worker encountered an error when slave-preserve-commit-order was enabled. To preserve commit order, the last transaction executed by this thread has not been committed. When restarting the slave after fixing any failed threads, you should fix this worker as well.
3031
SQLSTATE: HY000
(ER_DONT_SUPPORT_SLAVE_PRESERVE_COMMIT_ORDER
)
Сообщение: slave_preserve_commit_order is not supported %s.
3032
SQLSTATE: HY000
(ER_SERVER_OFFLINE_MODE
)
Сообщение: The server is currently in offline mode
3033
SQLSTATE: HY000
(ER_GIS_DIFFERENT_SRIDS
)
Сообщение: Binary geometry function %s given two geometries of different srids: %u and %u, which should have been identical.
Geometry values passed as arguments to spatial functions must have the same SRID value.
3034
SQLSTATE: HY000
(ER_GIS_UNSUPPORTED_ARGUMENT
)
Сообщение: Calling geometry function %s with unsupported types of arguments.
A spatial function was called with a combination of argument types that the function does not support.
3035
SQLSTATE: HY000
(ER_GIS_UNKNOWN_ERROR
)
Сообщение: Unknown GIS error occured in function %s.
3036
SQLSTATE: HY000
(ER_GIS_UNKNOWN_EXCEPTION
)
Сообщение: Unknown exception caught in GIS function %s.
3037
SQLSTATE: 22023
(ER_GIS_INVALID_DATA
)
Сообщение: Invalid GIS data provided to function %s.
A spatial function was called with an argument not recognized as a valid geometry value.
3038
SQLSTATE: HY000
(ER_BOOST_GEOMETRY_EMPTY_INPUT_EXCEPTION
)
Сообщение: The geometry has no data in function %s.
3039
SQLSTATE: HY000
(ER_BOOST_GEOMETRY_CENTROID_EXCEPTION
)
Сообщение: Unable to calculate centroid because geometry is empty in function %s.
3040
SQLSTATE: HY000
(ER_BOOST_GEOMETRY_OVERLAY_INVALID_INPUT_EXCEPTION
)
Сообщение: Geometry overlay calculation error: geometry data is invalid in function %s.
3041
SQLSTATE: HY000
(ER_BOOST_GEOMETRY_TURN_INFO_EXCEPTION
)
Сообщение: Geometry turn info calculation error: geometry data is invalid in function %s.
3042
SQLSTATE: HY000
(ER_BOOST_GEOMETRY_SELF_INTERSECTION_POINT_EXCEPTION
)
Сообщение: Analysis procedures of intersection points interrupted unexpectedly in function %s.
3043
SQLSTATE: HY000
(ER_BOOST_GEOMETRY_UNKNOWN_EXCEPTION
)
Сообщение: Unknown exception thrown in function %s.
3044
SQLSTATE: HY000
(ER_STD_BAD_ALLOC_ERROR
)
Сообщение: Memory allocation error: %s in function %s.
3045
SQLSTATE: HY000
(ER_STD_DOMAIN_ERROR
)
Сообщение: Domain error: %s in function %s.
3046
SQLSTATE: HY000
(ER_STD_LENGTH_ERROR
)
Сообщение: Length error: %s in function %s.
3047
SQLSTATE: HY000
(ER_STD_INVALID_ARGUMENT
)
Сообщение: Invalid argument error: %s in function %s.
3048
SQLSTATE: HY000
(ER_STD_OUT_OF_RANGE_ERROR
)
Сообщение: Out of range error: %s in function %s.
3049
SQLSTATE: HY000
(ER_STD_OVERFLOW_ERROR
)
Сообщение: Overflow error error: %s in function %s.
3050
SQLSTATE: HY000
(ER_STD_RANGE_ERROR
)
Сообщение: Range error: %s in function %s.
3051
SQLSTATE: HY000
(ER_STD_UNDERFLOW_ERROR
)
Сообщение: Underflow error: %s in function %s.
3052
SQLSTATE: HY000
(ER_STD_LOGIC_ERROR
)
Сообщение: Logic error: %s in function %s.
3053
SQLSTATE: HY000
(ER_STD_RUNTIME_ERROR
)
Сообщение: Runtime error: %s in function %s.
3054
SQLSTATE: HY000
(ER_STD_UNKNOWN_EXCEPTION
)
Сообщение: Unknown exception: %s in function %s.
3055
SQLSTATE: HY000
(ER_GIS_DATA_WRONG_ENDIANESS
)
Сообщение: Geometry byte string must be little endian.
3056
SQLSTATE: HY000
(ER_CHANGE_MASTER_PASSWORD_LENGTH
)
Сообщение: The password provided for the replication user exceeds the maximum length of 32 characters
3057
SQLSTATE: 42000
(ER_USER_LOCK_WRONG_NAME
)
Сообщение: Incorrect user-level lock name '%s'.
3058
SQLSTATE: HY000
(ER_USER_LOCK_DEADLOCK
)
Сообщение: Deadlock found when trying to get user-level lock; try rolling back transaction/releasing locks and restarting lock acquisition.
This error is returned when the metdata locking subsystem detects
a deadlock for an attempt to acquire a named lock with
GET_LOCK
.
3059
SQLSTATE: HY000
(ER_REPLACE_INACCESSIBLE_ROWS
)
Сообщение: REPLACE cannot be executed as it requires deleting rows that are not in the view
3060
SQLSTATE: HY000
(ER_ALTER_OPERATION_NOT_SUPPORTED_REASON_GIS
)
Сообщение: Do not support online operation on table with GIS index
3061
SQLSTATE: 42000
(ER_ILLEGAL_USER_VAR
)
Сообщение: User variable name '%s' is illegal
3062
SQLSTATE: HY000
(ER_GTID_MODE_OFF
)
Сообщение: Cannot %s when GTID_MODE = OFF.
3064
SQLSTATE: HY000
(ER_INCORRECT_TYPE
)
Сообщение: Incorrect type for argument %s in function %s.
3065
SQLSTATE: HY000
(ER_FIELD_IN_ORDER_NOT_SELECT
)
Сообщение: Expression #%u of ORDER BY clause is not in SELECT list, references column '%s' which is not in SELECT list; this is incompatible with %s
3066
SQLSTATE: HY000
(ER_AGGREGATE_IN_ORDER_NOT_SELECT
)
Сообщение: Expression #%u of ORDER BY clause is not in SELECT list, contains aggregate function; this is incompatible with %s
3067
SQLSTATE: HY000
(ER_INVALID_RPL_WILD_TABLE_FILTER_PATTERN
)
Сообщение: Supplied filter list contains a value which is not in the required format 'db_pattern.table_pattern'
3068
SQLSTATE: 08S01
(ER_NET_OK_PACKET_TOO_LARGE
)
Сообщение: OK packet too large
3069
SQLSTATE: HY000
(ER_INVALID_JSON_DATA
)
Сообщение: Invalid JSON data provided to function %s: %s
3070
SQLSTATE: HY000
(ER_INVALID_GEOJSON_MISSING_MEMBER
)
Сообщение: Invalid GeoJSON data provided to function %s: Missing required member '%s'
3071
SQLSTATE: HY000
(ER_INVALID_GEOJSON_WRONG_TYPE
)
Сообщение: Invalid GeoJSON data provided to function %s: Member '%s' must be of type '%s'
3072
SQLSTATE: HY000
(ER_INVALID_GEOJSON_UNSPECIFIED
)
Сообщение: Invalid GeoJSON data provided to function %s
3073
SQLSTATE: HY000
(ER_DIMENSION_UNSUPPORTED
)
Сообщение: Unsupported number of coordinate dimensions in function %s: Found %u, expected %u
3074
SQLSTATE: HY000
(ER_SLAVE_CHANNEL_DOES_NOT_EXIST
)
Сообщение: Slave channel '%s' does not exist.
3076
SQLSTATE: HY000
(ER_SLAVE_CHANNEL_NAME_INVALID_OR_TOO_LONG
)
Сообщение: Couldn't create channel: Channel name is either invalid or too long.
3077
SQLSTATE: HY000
(ER_SLAVE_NEW_CHANNEL_WRONG_REPOSITORY
)
Сообщение: To have multiple channels, repository cannot be of type FILE; Please check the repository configuration and convert them to TABLE.
3079
SQLSTATE: HY000
(ER_SLAVE_MULTIPLE_CHANNELS_CMD
)
Сообщение: Multiple channels exist on the slave. Please provide channel name as an argument.
3080
SQLSTATE: HY000
(ER_SLAVE_MAX_CHANNELS_EXCEEDED
)
Сообщение: Maximum number of replication channels allowed exceeded.
3081
SQLSTATE: HY000
(ER_SLAVE_CHANNEL_MUST_STOP
)
Сообщение: This operation cannot be performed with running replication threads; run STOP SLAVE FOR CHANNEL '%s' first
3082
SQLSTATE: HY000
(ER_SLAVE_CHANNEL_NOT_RUNNING
)
Сообщение: This operation requires running replication threads; configure slave and run START SLAVE FOR CHANNEL '%s'
3083
SQLSTATE: HY000
(ER_SLAVE_CHANNEL_WAS_RUNNING
)
Сообщение: Replication thread(s) for channel '%s' are already runnning.
3084
SQLSTATE: HY000
(ER_SLAVE_CHANNEL_WAS_NOT_RUNNING
)
Сообщение: Replication thread(s) for channel '%s' are already stopped.
3085
SQLSTATE: HY000
(ER_SLAVE_CHANNEL_SQL_THREAD_MUST_STOP
)
Сообщение: This operation cannot be performed with a running slave sql thread; run STOP SLAVE SQL_THREAD FOR CHANNEL '%s' first.
3086
SQLSTATE: HY000
(ER_SLAVE_CHANNEL_SQL_SKIP_COUNTER
)
Сообщение: When sql_slave_skip_counter > 0, it is not allowed to start more than one SQL thread by using 'START SLAVE [SQL_THREAD]'. Value of sql_slave_skip_counter can only be used by one SQL thread at a time. Please use 'START SLAVE [SQL_THREAD] FOR CHANNEL' to start the SQL thread which will use the value of sql_slave_skip_counter.
3087
SQLSTATE: HY000
(ER_WRONG_FIELD_WITH_GROUP_V2
)
Сообщение: Expression #%u of %s is not in GROUP BY clause and contains nonaggregated column '%s' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
3088
SQLSTATE: HY000
(ER_MIX_OF_GROUP_FUNC_AND_FIELDS_V2
)
Сообщение: In aggregated query without GROUP BY, expression #%u of %s contains nonaggregated column '%s'; this is incompatible with sql_mode=only_full_group_by
3089
SQLSTATE: HY000
(ER_WARN_DEPRECATED_SYSVAR_UPDATE
)
Сообщение: Updating '%s' is deprecated. It will be made read-only in a future release.
3090
SQLSTATE: HY000
(ER_WARN_DEPRECATED_SQLMODE
)
Сообщение: Changing sql mode '%s' is deprecated. It will be removed in a future release.
3091
SQLSTATE: HY000
(ER_CANNOT_LOG_PARTIAL_DROP_DATABASE_WITH_GTID
)
Сообщение: DROP DATABASE failed; some tables may have been dropped but the database directory remains. The GTID has not been added to GTID_EXECUTED and the statement was not written to the binary log. Fix this as follows: (1) remove all files from the database directory %s; (2) SET GTID_NEXT='%s'; (3) DROP DATABASE `%s`.
3092
SQLSTATE: HY000
(ER_GROUP_REPLICATION_CONFIGURATION
)
Сообщение: The server is not configured properly to be an active member of the group. Please see more details on error log.
This error is reserved for future use.
3093
SQLSTATE: HY000
(ER_GROUP_REPLICATION_RUNNING
)
Сообщение: The START GROUP_REPLICATION command failed since the group is already running.
This error is reserved for future use.
3094
SQLSTATE: HY000
(ER_GROUP_REPLICATION_APPLIER_INIT_ERROR
)
Сообщение: The START GROUP_REPLICATION command failed as the applier module failed to start.
This error is reserved for future use.
3095
SQLSTATE: HY000
(ER_GROUP_REPLICATION_STOP_APPLIER_THREAD_TIMEOUT
)
Сообщение: The STOP GROUP_REPLICATION command execution is incomplete: The applier thread got the stop signal while it was busy. The applier thread will stop once the current task is complete.
This error is reserved for future use.
3096
SQLSTATE: HY000
(ER_GROUP_REPLICATION_COMMUNICATION_LAYER_SESSION_ERROR
)
Сообщение: The START GROUP_REPLICATION command failed as there was an error when initializing the group communication layer.
This error is reserved for future use.
3097
SQLSTATE: HY000
(ER_GROUP_REPLICATION_COMMUNICATION_LAYER_JOIN_ERROR
)
Сообщение: The START GROUP_REPLICATION command failed as there was an error when joining the communication group.
This error is reserved for future use.
3098
SQLSTATE: HY000
(ER_BEFORE_DML_VALIDATION_ERROR
)
Сообщение: The table does not comply with the requirements by an external plugin.
This error is reserved for future use.
3099
SQLSTATE: HY000
(ER_PREVENTS_VARIABLE_WITHOUT_RBR
)
Сообщение: Cannot change the value of variable %s without binary log format as ROW.
This error is reserved for future use.
3100
SQLSTATE: HY000
(ER_RUN_HOOK_ERROR
)
Сообщение: Error on observer while running replication hook '%s'.
This error is reserved for future use.
3101
SQLSTATE: HY000
(ER_TRANSACTION_ROLLBACK_DURING_COMMIT
)
Сообщение: Plugin instructed the server to rollback the current transaction.
This error is reserved for future use.
3102
SQLSTATE: HY000
(ER_GENERATED_COLUMN_FUNCTION_IS_NOT_ALLOWED
)
Сообщение: Expression of generated column '%s' contains a disallowed function.
3103
SQLSTATE: HY000
(ER_UNSUPPORTED_ALTER_INPLACE_ON_VIRTUAL_COLUMN
)
Сообщение: INPLACE ADD or DROP of virtual columns cannot be combined with other ALTER TABLE actions
3104
SQLSTATE: HY000
(ER_WRONG_FK_OPTION_FOR_GENERATED_COLUMN
)
Сообщение: Cannot define foreign key with %s clause on a generated column.
3105
SQLSTATE: HY000
(ER_NON_DEFAULT_VALUE_FOR_GENERATED_COLUMN
)
Сообщение: The value specified for generated column '%s' in table '%s' is not allowed.
3106
SQLSTATE: HY000
(ER_UNSUPPORTED_ACTION_ON_GENERATED_COLUMN
)
Сообщение: '%s' is not supported for generated columns.
3107
SQLSTATE: HY000
(
ER_GENERATED_COLUMN_NON_PRIOR
)
Сообщение: Generated column can refer only to generated columns defined prior to it.
Измените табличное определение, чтобы определить каждый произведенный столбец позже чем любые произведенные столбцы, к которым это обращается.
3108
SQLSTATE: HY000
(
ER_DEPENDENT_BY_GENERATED_COLUMN
)
Сообщение: Column '%s' has a generated column dependency.
Вы не можете удалить или переименовать произведенный столбец, если другой столбец обращается к нему. Вы должны или удалить те столбцы также, или пересмотреть их, чтобы не обращались к произведенному столбцу.
3109
SQLSTATE: HY000
(
ER_GENERATED_COLUMN_REF_AUTO_INC
)
Сообщение: Generated column '%s' cannot refer to auto-increment column.
3110
SQLSTATE: HY000
(ER_FEATURE_NOT_AVAILABLE
)
Сообщение: The '%s' feature is not available; you need to remove '%s' or use MySQL built with '%s'
3111
SQLSTATE: HY000
(ER_CANT_SET_GTID_MODE
)
Сообщение: SET @@GLOBAL.GTID_MODE = %s is not allowed because %s.
3112
SQLSTATE: HY000
(
ER_CANT_USE_AUTO_POSITION_WITH_GTID_MODE_OFF
)
Сообщение: The replication receiver thread%s cannot start in AUTO_POSITION mode: this server uses @@GLOBAL.GTID_MODE = OFF.
3113
SQLSTATE: HY000
(
ER_CANT_REPLICATE_ANONYMOUS_WITH_AUTO_POSITION
)
Сообщение: Cannot replicate anonymous transaction when AUTO_POSITION = 1, at file %s, position %lld.
3114
SQLSTATE: HY000
(
ER_CANT_REPLICATE_ANONYMOUS_WITH_GTID_MODE_ON
)
Сообщение: Cannot replicate anonymous transaction when @@GLOBAL.GTID_MODE = ON, at file %s, position %lld.
3115
SQLSTATE: HY000
(
ER_CANT_REPLICATE_GTID_WITH_GTID_MODE_OFF
)
Сообщение: Cannot replicate GTID-transaction when @@GLOBAL.GTID_MODE = OFF, at file %s, position %lld.
3116
SQLSTATE: HY000
(
ER_CANT_ENFORCE_GTID_CONSISTENCY_WITH_ONGOING_GTID_VIOLATING_TX
)
Сообщение: Cannot set ENFORCE_GTID_CONSISTENCY = ON because there are ongoing transactions that violate GTID consistency.
ER_CANT_SET_ENFORCE_GTID_CONSISTENCY_ON_WITH_ONGOING_GTID_VIOLATING_TRANSACTIONS
was renamed to
ER_CANT_ENFORCE_GTID_CONSISTENCY_WITH_ONGOING_GTID_VIOLATING_TX
.
3117
SQLSTATE: HY000
(ER_ENFORCE_GTID_CONSISTENCY_WARN_WITH_ONGOING_GTID_VIOLATING_TX
)
Сообщение: There are ongoing transactions that violate GTID consistency.
ER_SET_ENFORCE_GTID_CONSISTENCY_WARN_WITH_ONGOING_GTID_VIOLATING_TRANSACTIONS
was renamed to
ER_ENFORCE_GTID_CONSISTENCY_WARN_WITH_ONGOING_GTID_VIOLATING_TX
.
3118
SQLSTATE: HY000
(
ER_ACCOUNT_HAS_BEEN_LOCKED
)
Сообщение: Access denied for user '%s'@'%s'. Account is locked.
Учетная запись была заблокирована
CREATE USER ... ACCOUNT LOCK
или
ALTER USER ... ACCOUNT LOCK
.
Администратор может разблокировать через
ALTER USER ... ACCOUNT UNLOCK
.
3119
SQLSTATE: 42000
(
ER_WRONG_TABLESPACE_NAME
)
Сообщение: Incorrect tablespace name `%s`
3120
SQLSTATE: HY000
(ER_TABLESPACE_IS_NOT_EMPTY
)
Сообщение: Tablespace `%s` is not empty.
3121
SQLSTATE: HY000
(ER_WRONG_FILE_NAME
)
Сообщение: Incorrect File Name '%s'.
3122
SQLSTATE: HY000
(ER_BOOST_GEOMETRY_INCONSISTENT_TURNS_EXCEPTION
)
Сообщение: Inconsistent intersection points.
3123
SQLSTATE: HY000
(ER_WARN_OPTIMIZER_HINT_SYNTAX_ERROR
)
Сообщение: Optimizer hint syntax error
3124
SQLSTATE: HY000
(ER_WARN_BAD_MAX_EXECUTION_TIME
)
Сообщение: Unsupported MAX_EXECUTION_TIME
3125
SQLSTATE: HY000
(
ER_WARN_UNSUPPORTED_MAX_EXECUTION_TIME
)
Сообщение: MAX_EXECUTION_TIME hint is supported by top-level standalone SELECT statements only
Подсказка оптимизатора MAX_EXECUTION_TIME()
поддержана только
для оператора SELECT
.
3126
SQLSTATE: HY000
(
ER_WARN_CONFLICTING_HINT
)
Сообщение: Hint %s is ignored as conflicting/duplicated
3127
SQLSTATE: HY000
(ER_WARN_UNKNOWN_QB_NAME
)
Сообщение: Query block name %s is not found for %s hint
3128
SQLSTATE: HY000
(ER_UNRESOLVED_HINT_NAME
)
Сообщение: Unresolved name %s for %s hint
3129
SQLSTATE: HY000
(ER_WARN_ON_MODIFYING_GTID_EXECUTED_TABLE
)
Сообщение: Please do not modify the %s table. This is a mysql internal system table to store GTIDs for committed transactions. Modifying it can lead to an inconsistent GTID state.
3130
SQLSTATE: HY000
(ER_PLUGGABLE_PROTOCOL_COMMAND_NOT_SUPPORTED
)
Сообщение: Command not supported by pluggable protocols
3131
SQLSTATE: 42000
(
ER_LOCKING_SERVICE_WRONG_NAME
)
Сообщение: Incorrect locking service lock name '%s'.
Имя службы блокировки было определено как NULL
, пустая строка
или строка длинней 64 символов. Пространство имен и имена блокировки должны
быть не-NULL
, непустыми и не больше, чем 64 символа.
3132
SQLSTATE: HY000
(
ER_LOCKING_SERVICE_DEADLOCK
)
Сообщение: Deadlock found when trying to get locking service lock; try releasing locks and restarting lock acquisition.
3133
SQLSTATE: HY000
(ER_LOCKING_SERVICE_TIMEOUT
)
Сообщение: Service lock wait timeout exceeded.
3134
SQLSTATE: HY000
(ER_GIS_MAX_POINTS_IN_GEOMETRY_OVERFLOWED
)
Сообщение: Parameter %s exceeds the maximum number of points in a geometry (%lu) in function %s.
3135
SQLSTATE: HY000
(ER_SQL_MODE_MERGED
)
Сообщение: 'NO_ZERO_DATE', 'NO_ZERO_IN_DATE' and 'ERROR_FOR_DIVISION_BY_ZERO' sql modes should be used with strict mode. They will be merged with strict mode in a future release.
3136
SQLSTATE: HY000
(
ER_VTOKEN_PLUGIN_TOKEN_MISMATCH
)
Сообщение: Version token mismatch for %.*s. Correct value %.*s
Клиент установил системную переменную
version_tokens_session
в список маркеров, которым сервер
должен соответствовать, но в маркерном списке сервера есть по крайней мере
одно соответствующее маркерное имя, у которого есть значение, отличающееся от
того, чего требует клиент. См.
раздел 6.6.5.
3137
SQLSTATE: HY000
(
ER_VTOKEN_PLUGIN_TOKEN_NOT_FOUND
)
Сообщение: Version token %.*s not found.
Клиент установил системную переменную
version_tokens_session
в список маркеров, которым сервер
должен соответствовать, но маркерный список сервера пропускает по крайней
мере один из этих маркеров. См.
See раздел 6.6.5.
3138
SQLSTATE: HY000
(
ER_CANT_SET_VARIABLE_WHEN_OWNING_GTID
)
Сообщение: Variable %s cannot be changed by a client that owns a GTID. The client owns %s. Ownership is released on COMMIT or ROLLBACK.
3139
SQLSTATE: HY000
(ER_SLAVE_CHANNEL_OPERATION_NOT_ALLOWED
)
Сообщение: %s cannot be performed on channel '%s'.
3140
SQLSTATE: 22032
(ER_INVALID_JSON_TEXT
)
Сообщение: Invalid JSON text: "%s" at position %u in value for column '%s'.
3141
SQLSTATE: 22032
(
ER_INVALID_JSON_TEXT_IN_PARAM
)
Сообщение: Invalid JSON text in argument %u to function %s: "%s" at position %u.%s
3142
SQLSTATE: HY000
(ER_INVALID_JSON_BINARY_DATA
)
Сообщение: The JSON binary value contains invalid data.
3143
SQLSTATE: 42000
(ER_INVALID_JSON_PATH
)
Сообщение: Invalid JSON path expression. The error is around character position %u.%s
3144
SQLSTATE: 22032
(ER_INVALID_JSON_CHARSET
)
Сообщение: Cannot create a JSON value from a string with CHARACTER SET '%s'.
3145
SQLSTATE: 22032
(ER_INVALID_JSON_CHARSET_IN_FUNCTION
)
Сообщение: Invalid JSON character data provided to function %s: '%s'; utf8 is required.
3146
SQLSTATE: 22032
(ER_INVALID_TYPE_FOR_JSON
)
Сообщение: Invalid data type for JSON data in argument %u to function %s; a JSON string or JSON type is required.
3147
SQLSTATE: 22032
(ER_INVALID_CAST_TO_JSON
)
Сообщение: Cannot CAST value to JSON.
3148
SQLSTATE: 42000
(ER_INVALID_JSON_PATH_CHARSET
)
Сообщение: A path expression must be encoded in the utf8 character set. The path expression '%s' is encoded in character set '%s'.
3149
SQLSTATE: 42000
(ER_INVALID_JSON_PATH_WILDCARD
)
Сообщение: In this situation, path expressions may not contain the * and ** tokens.
3150
SQLSTATE: 22032
(ER_JSON_VALUE_TOO_BIG
)
Сообщение: The JSON value is too big to be stored in a JSON column.
3151
SQLSTATE: 22032
(ER_JSON_KEY_TOO_BIG
)
Сообщение: The JSON object contains a key name that is too long.
3152
SQLSTATE: 42000
(ER_JSON_USED_AS_KEY
)
Сообщение: JSON column '%s' cannot be used in key specification.
3153
SQLSTATE: 42000
(ER_JSON_VACUOUS_PATH
)
Сообщение: The path expression '$' is not allowed in this context.
3154
SQLSTATE: 42000
(ER_JSON_BAD_ONE_OR_ALL_ARG
)
Сообщение: The oneOrAll argument to %s may take these values: 'one' or 'all'.
3155
SQLSTATE: 22003
(ER_NUMERIC_JSON_VALUE_OUT_OF_RANGE
)
Сообщение: Out of range JSON value for CAST to %s%s from column %s at row %ld
3156
SQLSTATE: 22018
(
ER_INVALID_JSON_VALUE_FOR_CAST
)
Сообщение: Invalid JSON value for CAST to %s%s from column %s at row %ld
3157
SQLSTATE: 22032
(ER_JSON_DOCUMENT_TOO_DEEP
)
Сообщение: The JSON document exceeds the maximum depth.
3158
SQLSTATE: 22032
(ER_JSON_DOCUMENT_NULL_KEY
)
Сообщение: JSON documents may not contain NULL member names.
3159
SQLSTATE: HY000
(
ER_SECURE_TRANSPORT_REQUIRED
)
Сообщение: Connections using insecure transport are prohibited while --require_secure_transport=ON.
С системной переменной
require_secure_transport
клиенты могут соединиться только
используя безопасный транспорт. Квалифицированные соединения это
те, которые используют SSL, файл сокета Unix или
совместно используемую память.
3160
SQLSTATE: HY000
(
ER_NO_SECURE_TRANSPORTS_CONFIGURED
)
Сообщение: No secure transports (SSL or Shared Memory) are configured, unable to set --require_secure_transport=ON.
Системная переменная
require_secure_transport
не может быть включена, если сервер
не поддерживает по крайней мере один безопасный транспорт. Сконфигурируйте
сервер с необходимыми ключами/сертификатами SSL, чтобы включить соединения
SSL, или включите системную переменную
shared_memory
,
чтобы разрешить соединения по совместно используемой памяти.
3161
SQLSTATE: HY000
(
ER_DISABLED_STORAGE_ENGINE
)
Сообщение: Storage engine %s is disabled (Table creation is disallowed).
Была предпринята попытка составить таблицу или табличное пространство,
используя механизм хранения, перечисленный в значении системной переменной
disabled_storage_engines
, или изменить существующую таблицу (или
табличное пространство) к такому механизму. Выберите иной механизм хранения.
3162
SQLSTATE: HY000
(
ER_USER_DOES_NOT_EXIST
)
Сообщение: User %s does not exist.
3163
SQLSTATE: HY000
(
ER_USER_ALREADY_EXISTS
)
Сообщение: User %s already exists.
3164
SQLSTATE: HY000
(ER_AUDIT_API_ABORT
)
Сообщение: Aborted by Audit API ('%s';%d).
Эта ошибка указывает, что плагин аудита прервал обработку события. Сообщение, как правило, указывает на имя подкласса событий и числовое значение состояния.
3165
SQLSTATE: 42000
(
ER_INVALID_JSON_PATH_ARRAY_CELL
)
Сообщение: A path expression is not a path to a cell in an array.
3166
SQLSTATE: HY000
(
ER_BUFPOOL_RESIZE_INPROGRESS
)
Сообщение: Another buffer pool resize is already in progress.
3167
SQLSTATE: HY000
(
ER_FEATURE_DISABLED_SEE_DOC
)
Сообщение: The '%s' feature is disabled; see the documentation for '%s'
3168
SQLSTATE: HY000
(ER_SERVER_ISNT_AVAILABLE
)
Сообщение: Server isn't available
3169
SQLSTATE: HY000
(ER_SESSION_WAS_KILLED
)
Сообщение: Session was killed
3170
SQLSTATE: HY000
(ER_CAPACITY_EXCEEDED
)
Сообщение: Memory capacity of %llu bytes for '%s' exceeded. %s
3171
SQLSTATE: HY000
(
ER_CAPACITY_EXCEEDED_IN_RANGE_OPTIMIZER
)
Сообщение: Range optimization was not done for this query.
3173
SQLSTATE: HY000
(
ER_CANT_WAIT_FOR_EXECUTED_GTID_SET_WHILE_OWNING_A_GTID
)
Сообщение: The client holds ownership of the GTID %s. Therefore, WAIT_FOR_EXECUTED_GTID_SET cannot wait for this GTID.
3174
SQLSTATE: HY000
(
ER_CANNOT_ADD_FOREIGN_BASE_COL_VIRTUAL
)
Сообщение: Cannot add foreign key on the base column of indexed virtual column.
3175
SQLSTATE: HY000
(
ER_CANNOT_CREATE_VIRTUAL_INDEX_CONSTRAINT
)
Сообщение: Cannot create index on virtual column whose base column has foreign constraint.
3176
SQLSTATE: HY000
(
ER_ERROR_ON_MODIFYING_GTID_EXECUTED_TABLE
)
Сообщение: Please do not modify the %s table with an XA transaction. This is an internal system table used to store GTIDs for committed transactions. Although modifying it can lead to an inconsistent GTID state, if neccessary you can modify it with a non-XA transaction.
3177
SQLSTATE: HY000
(ER_LOCK_REFUSED_BY_ENGINE
)
Сообщение: Lock acquisition refused by storage engine.
3178
SQLSTATE: HY000
(ER_UNSUPPORTED_ALTER_ONLINE_ON_VIRTUAL_COLUMN
)
Сообщение: ADD COLUMN col...VIRTUAL, ADD INDEX(col)
3179
SQLSTATE: HY000
(ER_MASTER_KEY_ROTATION_NOT_SUPPORTED_BY_SE
)
Сообщение: Master key rotation is not supported by storage engine.
3181
SQLSTATE: HY000
(ER_MASTER_KEY_ROTATION_BINLOG_FAILED
)
Сообщение: Write to binlog failed. However, master key rotation has been completed successfully.
3182
SQLSTATE: HY000
(ER_MASTER_KEY_ROTATION_SE_UNAVAILABLE
)
Сообщение: Storage engine is not available.
3183
SQLSTATE: HY000
(ER_TABLESPACE_CANNOT_ENCRYPT
)
Сообщение: This tablespace can't be encrypted.
3184
SQLSTATE: HY000
(ER_INVALID_ENCRYPTION_OPTION
)
Сообщение: Invalid encryption option.
3185
SQLSTATE: HY000
(ER_CANNOT_FIND_KEY_IN_KEYRING
)
Сообщение: Can't find master key from keyring, please check keyring plugin is loaded.
3186
SQLSTATE: HY000
(ER_CAPACITY_EXCEEDED_IN_PARSER
)
Сообщение: Parser bailed out for this query.
3187
SQLSTATE: HY000
(ER_UNSUPPORTED_ALTER_ENCRYPTION_INPLACE
)
Сообщение: Cannot alter encryption attribute by inplace algorithm.
3188
SQLSTATE: HY000
(ER_KEYRING_UDF_KEYRING_SERVICE_ERROR
)
Сообщение: Function '%s' failed because underlying keyring service returned an error. Please check if a keyring plugin is installed and that provided arguments are valid for the keyring you are using.
3189
SQLSTATE: HY000
(ER_USER_COLUMN_OLD_LENGTH
)
Сообщение: It seems that your db schema is old. The %s column is 77 characters long and should be 93 characters long. Please run mysql_upgrade.
3190
SQLSTATE: HY000
(ER_CANT_RESET_MASTER
)
Сообщение: RESET MASTER is not allowed because %s.
3191
SQLSTATE: HY000
(ER_GROUP_REPLICATION_MAX_GROUP_SIZE
)
Сообщение: The START GROUP_REPLICATION command failed since the group already has 9 members.
3192
SQLSTATE: HY000
(ER_CANNOT_ADD_FOREIGN_BASE_COL_STORED
)
Сообщение: Cannot add foreign key on the base column of stored column.
3193
SQLSTATE: HY000
(ER_TABLE_REFERENCED
)
Сообщение: Cannot complete the operation because table is referenced by another connection.
3500
SQLSTATE: HY000
(ER_UNSUPPORT_COMPRESSED_TEMPORARY_TABLE
)
Сообщение: CREATE TEMPORARY TABLE is not allowed with ROW_FORMAT=COMPRESSED or KEY_BLOCK_SIZE.
3501
SQLSTATE: HY000
(ER_ACL_OPERATION_FAILED
)
Сообщение: The ACL operation failed due to the following error from SE: errcode %d - %s
3502
SQLSTATE: HY000
(ER_UNSUPPORTED_INDEX_ALGORITHM
)
Сообщение: This storage engine does not support the %s index algorithm, storage engine default was used instead.
3503
SQLSTATE: 42Y07
(ER_NO_SUCH_DB
)
Сообщение: Database '%s' doesn't exist
3504
SQLSTATE: HY000
(ER_TOO_BIG_ENUM
)
Сообщение: Too many enumeration values for column %s.
3505
SQLSTATE: HY000
(ER_TOO_LONG_SET_ENUM_VALUE
)
Сообщение: Too long enumeration/set value for column %s.
3506
SQLSTATE: HY000
(ER_INVALID_DD_OBJECT
)
Сообщение: %s dictionary object is invalid. (%s)
3507
SQLSTATE: HY000
(ER_UPDATING_DD_TABLE
)
Сообщение: Failed to update %s dictionary object.
3508
SQLSTATE: HY000
(ER_INVALID_DD_OBJECT_ID
)
Сообщение: Dictionary object id (%lu) does not exist.
3509
SQLSTATE: HY000
(ER_INVALID_DD_OBJECT_NAME
)
Сообщение: Dictionary object name '%s' is invalid. (%s)
3510
SQLSTATE: HY000
(ER_TABLESPACE_MISSING_WITH_NAME
)
Сообщение: Tablespace %s doesn't exist.
3511
SQLSTATE: HY000
(ER_TOO_LONG_ROUTINE_COMMENT
)
Сообщение: Comment for routine '%s' is too long (max = %lu)
3512
SQLSTATE: HY000
(ER_SP_LOAD_FAILED
)
Сообщение: Failed to load routine '%s'.
3513
SQLSTATE: HY000
(ER_INVALID_BITWISE_OPERANDS_SIZE
)
Сообщение: Binary operands of bitwise operators must be of equal length
3514
SQLSTATE: HY000
(ER_INVALID_BITWISE_AGGREGATE_OPERANDS_SIZE
)
Сообщение: Aggregate bitwise functions cannot accept arguments longer than 511 bytes; consider using the SUBSTRING() function
3515
SQLSTATE: HY000
(ER_WARN_UNSUPPORTED_HINT
)
Сообщение: Hints aren't supported in %s
3516
SQLSTATE: 22S01
(ER_UNEXPECTED_GEOMETRY_TYPE
)
Сообщение: %s value is a geometry of unexpected type %s in %s.
3517
SQLSTATE: SR002
(ER_SRS_PARSE_ERROR
)
Сообщение: Can't parse the spatial reference system definition of SRID %u.
3518
SQLSTATE: SR003
(ER_SRS_PROJ_PARAMETER_MISSING
)
Сообщение: The spatial reference system definition for SRID %u does not specify the mandatory %s (EPSG %u) projection parameter.
3519
SQLSTATE: 01000
(ER_WARN_SRS_NOT_FOUND
)
Сообщение: There's no spatial reference system with SRID %u. Calculations in function %s will be done in SRID 0.
3520
SQLSTATE: 22S00
(ER_SRS_NOT_CARTESIAN
)
Сообщение: Function %s is only defined for Cartesian spatial reference systems, but one of its arguments is in SRID %u, which is not Cartesian.
3521
SQLSTATE: SR001
(ER_SRS_NOT_CARTESIAN_UNDEFINED
)
Сообщение: Function %s is only defined for Cartesian spatial reference systems, but one of its arguments is in SRID %u, which has not been defined.
3522
SQLSTATE: HY000
(ER_PK_INDEX_CANT_BE_INVISIBLE
)
Сообщение: A primary key index cannot be invisible
3523
SQLSTATE: HY000
(ER_UNKNOWN_AUTHID
)
Сообщение: Unknown authorization ID `%s`@`%s`
3524
SQLSTATE: HY000
(ER_FAILED_ROLE_GRANT
)
Сообщение: Failed to grant %s` to %s
3525
SQLSTATE: HY000
(ER_OPEN_ROLE_TABLES
)
Сообщение: Failed to open the security system tables
3526
SQLSTATE: HY000
(ER_FAILED_DEFAULT_ROLES
)
Сообщение: Failed to set default roles
3527
SQLSTATE: HY000
(ER_COMPONENTS_NO_SCHEME
)
Сообщение: Cannot find schema in specified URN: '%s'.
3528
SQLSTATE: HY000
(ER_COMPONENTS_NO_SCHEME_SERVICE
)
Сообщение: Cannot acquire scheme load service implementation for schema '%s' in specified URN: '%s'.
3529
SQLSTATE: HY000
(ER_COMPONENTS_CANT_LOAD
)
Сообщение: Cannot load component from specified URN: '%s'.
3530
SQLSTATE: HY000
(ER_ROLE_NOT_GRANTED
)
Сообщение: `%s`@`%s` is not granted to `%s`@`%s`
3531
SQLSTATE: HY000
(ER_FAILED_REVOKE_ROLE
)
Сообщение: Could not revoke role from `%s`@`%s`
3532
SQLSTATE: HY000
(ER_RENAME_ROLE
)
Сообщение: Renaming of a role identifier is forbidden
3533
SQLSTATE: HY000
(ER_COMPONENTS_CANT_ACQUIRE_SERVICE_IMPLEMENTATION
)
Сообщение: Cannot acquire specified service implementation: '%s'.
3534
SQLSTATE: HY000
(ER_COMPONENTS_CANT_SATISFY_DEPENDENCY
)
Сообщение: Cannot satisfy dependency for service '%s' required by component '%s'.
3535
SQLSTATE: HY000
(ER_COMPONENTS_LOAD_CANT_REGISTER_SERVICE_IMPLEMENTATION
)
Сообщение: Cannot register service implementation '%s' provided by component '%s'.
3536
SQLSTATE: HY000
(ER_COMPONENTS_LOAD_CANT_INITIALIZE
)
Сообщение: Initialization method provided by component '%s' failed.
3537
SQLSTATE: HY000
(ER_COMPONENTS_UNLOAD_NOT_LOADED
)
Сообщение: Component specified by URN '%s' to unload has not been loaded before.
3538
SQLSTATE: HY000
(ER_COMPONENTS_UNLOAD_CANT_DEINITIALIZE
)
Сообщение: De-initialization method provided by component '%s' failed.
3539
SQLSTATE: HY000
(ER_COMPONENTS_CANT_RELEASE_SERVICE
)
Сообщение: Release of previously acquired service implementation failed.
3540
SQLSTATE: HY000
(ER_COMPONENTS_UNLOAD_CANT_UNREGISTER_SERVICE
)
Сообщение: Unregistration of service implementation '%s' provided by component '%s' failed during unloading of the component.
3541
SQLSTATE: HY000
(ER_COMPONENTS_CANT_UNLOAD
)
Сообщение: Cannot unload component from specified URN: '%s'.
3542
SQLSTATE: HY000
(ER_WARN_UNLOAD_THE_NOT_PERSISTED
)
Сообщение: The Persistent Dynamic Loader was used to unload a component '%s', but it was not used to load that component before.
3543
SQLSTATE: HY000
(ER_COMPONENT_TABLE_INCORRECT
)
Сообщение: The mysql.component table is missing or has an incorrect definition.
3544
SQLSTATE: HY000
(ER_COMPONENT_MANIPULATE_ROW_FAILED
)
Сообщение: Failed to manipulate component '%s' persistence data. Error code %d from storage engine.
3545
SQLSTATE: HY000
(ER_COMPONENTS_UNLOAD_DUPLICATE_IN_GROUP
)
Сообщение: The component with specified URN: '%s' was specified in group more than once.
3546
SQLSTATE: HY000
(ER_CANT_SET_GTID_PURGED_DUE_SETS_CONSTRAINTS
)
Сообщение: @@GLOBAL.GTID_PURGED cannot be changed: %s
3547
SQLSTATE: HY000
(ER_CANNOT_LOCK_USER_MANAGEMENT_CACHES
)
Сообщение: Can not lock user management caches for processing.
3548
SQLSTATE: SR001
(ER_SRS_NOT_FOUND
)
Сообщение: There's no spatial reference system with SRID %u.
3549
SQLSTATE: HY000
(ER_VARIABLE_NOT_PERSISTED
)
Сообщение: Variables cannot be persisted. Please retry.
3550
SQLSTATE: HY000
(ER_IS_QUERY_INVALID_CLAUSE
)
Сообщение: Information schema queries do not support the '%s' clause.
3551
SQLSTATE: HY000
(ER_UNABLE_TO_STORE_STATISTICS
)
Сообщение: Unable to store dynamic %s statistics into data dictionary.
3552
SQLSTATE: HY000
(ER_NO_SYSTEM_SCHEMA_ACCESS
)
Сообщение: Access to system schema '%s' is rejected.
3553
SQLSTATE: HY000
(ER_NO_SYSTEM_TABLESPACE_ACCESS
)
Сообщение: Access to system tablespace '%s' is rejected.
3554
SQLSTATE: HY000
(
ER_NO_SYSTEM_TABLE_ACCESS
)
Сообщение: Access to %s '%s.%s' is rejected.
3555
SQLSTATE: HY000
(
ER_NO_SYSTEM_TABLE_ACCESS_FOR_DICTIONARY_TABLE
)
Сообщение: data dictionary table
ER_NO_SYSTEM_TABLE_ACCESS_FOR_DICTIONARY_TABLE
добавлена в
8.0.1.
3556
SQLSTATE: HY000
(
ER_NO_SYSTEM_TABLE_ACCESS_FOR_SYSTEM_TABLE
)
Сообщение: system table
ER_NO_SYSTEM_TABLE_ACCESS_FOR_SYSTEM_TABLE
добавлена в
8.0.1.
3557
SQLSTATE: HY000
(
ER_NO_SYSTEM_TABLE_ACCESS_FOR_TABLE
)
Сообщение: table
ER_NO_SYSTEM_TABLE_ACCESS_FOR_TABLE
добавлена в 8.0.1.
Информация об ошибке клиента прибывает из следующих исходных файлов:
Значения ошибок и символы в круглых скобках соответствуют
определениям в файле include/errmsg.h
исходных текстов MySQL.
libmysql/errmsg.c
. %d
и %s
представляют числа и строки, соответственно, которыми заменятся в сообщении,
когда оно выведено на экран.Поскольку обновления бывают часто, возможно, что те файлы будут содержать дополнительную информацию об ошибках, не перечисленную здесь.
Ошибка: 2000
(CR_UNKNOWN_ERROR
)
Сообщение: Unknown MySQL error
2001
(CR_SOCKET_CREATE_ERROR
)
Сообщение: Can't create UNIX socket (%d)
2002
(CR_CONNECTION_ERROR
)
Сообщение: Can't connect to local MySQL server through socket '%s' (%d)
2003
(CR_CONN_HOST_ERROR
)
Сообщение: Can't connect to MySQL server on '%s' (%d)
2004
(CR_IPSOCK_ERROR
)
Сообщение: Can't create TCP/IP socket (%d)
2005
(CR_UNKNOWN_HOST
)
Сообщение: Unknown MySQL server host '%s' (%d)
2006
(CR_SERVER_GONE_ERROR
)
Сообщение: MySQL server has gone away
2007
(CR_VERSION_ERROR
)
Сообщение: Protocol mismatch; server version = %d, client version = %d
2008
(CR_OUT_OF_MEMORY
)
Сообщение: MySQL client ran out of memory
2009
(CR_WRONG_HOST_INFO
)
Сообщение: Wrong host info
2010
(CR_LOCALHOST_CONNECTION
)
Сообщение: Localhost via UNIX socket
2011
(CR_TCP_CONNECTION
)
Сообщение: %s via TCP/IP
2012
(CR_SERVER_HANDSHAKE_ERR
)
Сообщение: Error in server handshake
2013
(CR_SERVER_LOST
)
Сообщение: Lost connection to MySQL server during query
2014
(CR_COMMANDS_OUT_OF_SYNC
)
Сообщение: Commands out of sync; you can't run this command now
2015
(CR_NAMEDPIPE_CONNECTION
)
Сообщение: Named pipe: %s
2016
(CR_NAMEDPIPEWAIT_ERROR
)
Сообщение: Can't wait for named pipe to host: %s pipe: %s (%lu)
2017
(CR_NAMEDPIPEOPEN_ERROR
)
Сообщение: Can't open named pipe to host: %s pipe: %s (%lu)
2018
(CR_NAMEDPIPESETSTATE_ERROR
)
Сообщение: Can't set state of named pipe to host: %s pipe: %s (%lu)
2019
(CR_CANT_READ_CHARSET
)
Сообщение: Can't initialize character set %s (path: %s)
2020
(CR_NET_PACKET_TOO_LARGE
)
Сообщение: Got packet bigger than 'max_allowed_packet' bytes
2021
(CR_EMBEDDED_CONNECTION
)
Сообщение: Embedded server
2022
(CR_PROBE_SLAVE_STATUS
)
Сообщение: Error on SHOW SLAVE STATUS:
2023
(CR_PROBE_SLAVE_HOSTS
)
Сообщение: Error on SHOW SLAVE HOSTS:
2024
(CR_PROBE_SLAVE_CONNECT
)
Сообщение: Error connecting to slave:
2025
(CR_PROBE_MASTER_CONNECT
)
Сообщение: Error connecting to master:
2026
(CR_SSL_CONNECTION_ERROR
)
Сообщение: SSL connection error: %s
2027
(CR_MALFORMED_PACKET
)
Сообщение: Malformed packet
2028
(CR_WRONG_LICENSE
)
Сообщение: This client library is licensed only for use with MySQL servers having '%s' license
2029
(CR_NULL_POINTER
)
Сообщение: Invalid use of null pointer
2030
(CR_NO_PREPARE_STMT
)
Сообщение: Statement not prepared
2031
(CR_PARAMS_NOT_BOUND
)
Сообщение: No data supplied for parameters in prepared statement
2032
(CR_DATA_TRUNCATED
)
Сообщение: Data truncated
2033
(CR_NO_PARAMETERS_EXISTS
)
Сообщение: No parameters exist in the statement
2034
(
CR_INVALID_PARAMETER_NO
)
Сообщение: Invalid parameter number
Номер столбца для
mysql_stmt_fetch_column()
неправильный. Число параметров для
mysql_stmt_send_long_data()
неправильное.
Имя ключа было пустое, или количество данных о признаке соединения для
mysql_options4()
превышает предел в 64 КБ.
2035
(CR_INVALID_BUFFER_USE
)
Сообщение: Can't send long data for non-string/non-binary data types (parameter: %d)
2036
(CR_UNSUPPORTED_PARAM_TYPE
)
Сообщение: Using unsupported buffer type: %d (parameter: %d)
2037
(CR_SHARED_MEMORY_CONNECTION
)
Сообщение: Shared memory: %s
2038
(CR_SHARED_MEMORY_CONNECT_REQUEST_ERROR
)
Сообщение: Can't open shared memory; client could not create request event (%lu)
2039
(CR_SHARED_MEMORY_CONNECT_ANSWER_ERROR
)
Сообщение: Can't open shared memory; no answer event received from server (%lu)
2040
(CR_SHARED_MEMORY_CONNECT_FILE_MAP_ERROR
)
Сообщение: Can't open shared memory; server could not allocate file mapping (%lu)
2041
(CR_SHARED_MEMORY_CONNECT_MAP_ERROR
)
Сообщение: Can't open shared memory; server could not get pointer to file mapping (%lu)
2042
(CR_SHARED_MEMORY_FILE_MAP_ERROR
)
Сообщение: Can't open shared memory; client could not allocate file mapping (%lu)
2043
(CR_SHARED_MEMORY_MAP_ERROR
)
Сообщение: Can't open shared memory; client could not get pointer to file mapping (%lu)
2044
(CR_SHARED_MEMORY_EVENT_ERROR
)
Сообщение: Can't open shared memory; client could not create %s event (%lu)
2045
(CR_SHARED_MEMORY_CONNECT_ABANDONED_ERROR
)
Сообщение: Can't open shared memory; no answer from server (%lu)
2046
(CR_SHARED_MEMORY_CONNECT_SET_ERROR
)
Сообщение: Can't open shared memory; cannot send request event to server (%lu)
2047
(CR_CONN_UNKNOW_PROTOCOL
)
Сообщение: Wrong or unknown protocol
2048
(CR_INVALID_CONN_HANDLE
)
Сообщение: Invalid connection handle
2049
(CR_UNUSED_1
)
Сообщение: Connection using old (pre-4.1.1) authentication protocol refused (client option 'secure_auth' enabled)
2050
(CR_FETCH_CANCELED
)
Сообщение: Row retrieval was canceled by mysql_stmt_close() call
2051
(CR_NO_DATA
)
Сообщение: Attempt to read column without prior row fetch
2052
(CR_NO_STMT_METADATA
)
Сообщение: Prepared statement contains no metadata
2053
(CR_NO_RESULT_SET
)
Сообщение: Attempt to read a row while there is no result set associated with the statement
2054
(CR_NOT_IMPLEMENTED
)
Сообщение: This feature is not implemented yet
2055
(CR_SERVER_LOST_EXTENDED
)
Сообщение: Lost connection to MySQL server at '%s', system error: %d
2056
(CR_STMT_CLOSED
)
Сообщение: Statement closed indirectly because of a preceding %s() call
2057
(CR_NEW_STMT_METADATA
)
Сообщение: The number of columns in the result set differs from the number of bound buffers. You must reset the statement, rebind the result set columns, and execute the statement again
2058
(CR_ALREADY_CONNECTED
)
Сообщение: This handle is already connected. Use a separate handle for each connection.
2059
(
CR_AUTH_PLUGIN_CANNOT_LOAD
)
Сообщение: Authentication plugin '%s' cannot be loaded: %s
2060
(
CR_DUPLICATE_CONNECTION_ATTR
)
Сообщение: There is an attribute with the same name already
Дубликат имени атрибута соединения был определен для
mysql_options4()
.
2061
(CR_AUTH_PLUGIN_ERR
)
Сообщение: Authentication plugin '%s' reported error: %s
2062
(CR_INSECURE_API_ERR
)
Сообщение: Insecure API function call: '%s' Use instead: '%s'
Был обнаружен опасный вызов функции. Измените приложение, чтобы использовать предложенную альтернативную функцию вместо этого.
Этот раздел перечисляет некоторые типичные проблемы и сообщения об ошибках, с которыми Вы можете столкнуться. Это описывает, как определить причины проблем и что сделать, чтобы решить их.
Когда Вы сталкиваетесь с проблемой, первая вещь, которую Вы должны сделать, состоит в том, чтобы узнать, какая программа или элемент оборудования вызывают ее:
Если у Вас есть один из следующих признаков, то это, вероятно, аппаратные проблемы (такие как память, материнская плата, центральный процессор или жесткий диск) или проблема с ядром:
Клавиатура не работает. Это может обычно проверяться, нажимая клавишу caps lock. Если индикатор Caps Lock не изменяется, Вы должны заменить свою клавиатуру. Прежде, чем это делать, Вы должны попытаться перезапустить свой компьютер и проверить все кабели к клавиатуре.
В этом случае, Вы должны проверить все Ваши кабели и выполнить некоторые
диагностические инструменты, чтобы проверить Ваши аппаратные средства! Вы
должны также проверить, есть ли какие-либо обновления или пакеты обновлений
для Вашей операционной системы, которые могли бы, вероятно, решить Вашу
проблему. Проверьте также что все Ваши библиотеки (такие, как
glibc
) достаточно современны.
Всегда хорошо использовать машину с памятью ECC, чтобы быстро обнаружить проблемы с памятью.
kbd_mode -a
./var/log/messages
) по причинам Вашей проблемы. Если Вы думаете,
что проблема находится в MySQL, Вы должны также исследовать файлы системного
журнала MySQL. См. раздел 6.4.Если после того, как Вы исследовали все другие возможности и пришли к заключению, что сервер или клиент MySQL вызывают проблему, пора создать отчет об ошибках для списка рассылки или команды поддержки. В отчете об ошибках, попытайтесь дать очень подробное описание того, как система ведет себя и что Вы думаете, происходит. Вы должны также заявить, почему Вы думаете, что именно MySQL вызывает проблему. Учтите все ситуации в этой главе. Опишите любые проблемы точно, как они появляются, когда Вы исследуете свою систему. Используйте копирование и вставку для любых выходных сигналов и сообщений об ошибках из программ и файлов системного журнала.
Попытайтесь описать подробно, какая программа не работает и все признаки, которые Вы видите. Мы получили в прошлом много отчетов об ошибках, которые заявляют только "ничего не работает". Это не предоставляет информации о том, что могло быть проблемой.
Если программа терпит неудачу, всегда полезно знать следующую информацию:
Имеется ли segmentation fault (дамп ядра)?
Посылая отчет об ошибках, Вы должны следовать схеме, описанной в разделе 1.7.
Этот раздел перечисляет некоторые ошибки, с которыми пользователи часто сталкиваются, выполняя программы MySQL. Хотя проблемы обнаруживаются, когда Вы пытаетесь выполнить программы клиента, решения многих из проблем вовлекают изменение конфигурации сервера MySQL.
Ошибка Access denied
может иметь много причин. Часто проблема
связана с учетными записями MySQL, которые сервер разрешает программам
клиента использовать, соединяясь. См. разделы
7.2 и
7.2.8.
Клиент MySQL на Unix может соединиться с сервером
mysqld
двумя различными способами: используя файл сокета Unix, чтобы соединиться
через файл в файловой системе (значение по умолчанию
/tmp/mysql.sock
), или по TCP/IP, который соединяется через номер
порта. Соединение файла сокета Unix быстрее, чем TCP/IP, но может
использоваться только, соединяясь с сервером на том же самом компьютере. Файл
сокета Unix используется, если Вы не определяете имя хоста или если
определяете специальное имя хоста localhost
.
Если сервер MySQL работает на Windows, Вы можете соединиться по TCP/IP.
Если сервер запущен с опцией
--enable-named-pipe
, Вы можете также соединиться по именованному
каналу, если Вы выполняете клиента на том компьютере, на котором работает
сервер. Название названного канала MySQL
по умолчанию. Если Вы
не задаете имя хоста, соединяясь с
mysqld,
клиент MySQL сначала пытается соединиться с названным каналом. Если это не
работает, он соединяется с портом TCP/IP. Вы можете вызвать использование
именованных каналов в Windows при использовании .
как имени хоста.
Ошибка (2002) Can't connect to ...
обычно сообщает, что нет
никакого сервера MySQL, работающего в системе, или что Вы используете
неправильное имя файла сокета Unix или номер порта TCP/IP, пытаясь
соединиться с сервером. Вы должны также проверить, что порт TCP/IP, который
Вы используете, не был заблокирован брандмауэром или
службой блокирования порта.
Ошибка (2003) Can't connect to MySQL server on
'
указывает, что сетевое
соединение не работает. Вы должны проверить, что есть выполненяемый сервер
MySQL, что у него есть включенные сетевые соединения, и что сетевой порт,
который Вы определили, является тем, который настроен на сервере.server
' (10061)
Начните с проверки того, есть ли процесс mysqld, работающий на Вашем хосте сервера. Используйте ps xa | grep mysqld в Unix или Task Manager в Windows. Если нет такого процесса, Вы должны запустить сервер. См. раздел 2.9.2.
Если процесс mysqld
работает, Вы можете проверить это, пробуя следующие команды.
Номер порта или имя файла сокета Unix могут отличаться в Вашей установке.
host_ip
представляет IP-адрес машины, где сервер работает.
shell> mysqladmin version shell> mysqladmin variables shell> mysqladmin -h `hostname` version variables shell> mysqladmin -h `hostname` --port=3306 version shell> mysqladmin -h host_ip version shell> mysqladmin --protocol=SOCKET --socket=/tmp/mysql.sock versionОтметьте использование обратных кавычек, а не кавычек с командой hostname: они заставляют вывод hostname (то есть, текущее имя хоста) быть замененным в команде mysqladmin. Если Вы не имеете команды hostname или работаете в Windows, Вы можете вручную ввести имя хоста своей машины (без обратных кавычек) после опции
-h
. Вы можете также попробовать -h 127.0.0.1
,
чтобы соединяться по TCP/IP с локальной машиной.
Удостоверьтесь, что сервер не был сконфигурирован так, чтобы игнорировать
сетевые соединения или (если Вы пытаетесь соединиться удаленно), что он не
был сконфигурирован, чтобы слушать только локально на его сетевых
интерфейсах. Если сервер был запущен с опцией
--skip-networking
, он не будет принимать соединения TCP/IP вообще. Если сервер был
запущен с опцией
--bind-address=127.0.0.1
, он обрабатывает соединения TCP/IP только
локально на кольцевом интерфейсе и не будет принимать удаленные соединения.
Проверьте, что нет никакого брандмауэра, блокирующего доступ к MySQL. Ваш брандмауэр может быть сконфигурирован на основе выполняемого приложения или номера порта, используемого MySQL для коммуникации (3306 по умолчанию). Под Linux или Unix, проверьте свои настройки IPtables (или подобные), чтобы гарантировать, что порт не был заблокирован. Под Windows приложения, такие как ZoneAlarm или Брандмауэр Windows, возможно, должны быть сконфигурированы, чтобы не блокировать порт MySQL.
Вот некоторые причины ошибки Can't connect to local MySQL server
:
mysqld не работает на локальном хосте. Проверьте список процессов своей операционной системы, чтобы гарантировать, что присутствует процесс mysqld.
/tmp/mysql.sock
по умолчанию). Например, у Вас могло бы быть
задание cron, которое удаляет старые файлы из
каталога /tmp
. Вы можете всегда выполнять
mysqladmin version
, чтобы проверить, существует ли файл сокета Unix, который
mysqladmin
пытается использовать. Затруднительное положение в этом случае решается
запретом cron удалять mysql.sock
или надо поместить файл сокета где-то в другом месте. См.
раздел B.5.3.6.
--socket=/path/to/socket
, но забыли указать клиенту новое имя
файла сокета. Если Вы изменяете путь сокета для сервера, Вы должны также
уведомить клиентов MySQL. Вы можете сделать это, обеспечивая ту же опцию
--socket
,
когда Вы выполняете программы клиента. Вы также должны гарантировать, что у
клиентов есть разрешение получить доступ к файлу mysql.sock
.
Чтобы узнать, где находится файл сокета, Вы можете сделать:
shell> netstat -ln | grep mysql
--socket
,
которая определяет имя файла в каталоге, где сервер может создать его и
программы клиента могут получить доступ к нему.Если Вы получаете сообщение об ошибке Can't connect to MySQL server
on some_host
, Вы можете попробовать следующие вещи, чтобы
узнать, в чем проблема:
Проверьте, работает ли сервер на том хосте, выполняя
telnet some_host 3306
. По умолчанию номер порта MySQL 3306.
Измените значение, если Ваш сервер слушает иной порт. Если есть выполнение
сервера MySQL, Вы должны получить ответ, который включает номер версии
сервера. Если Вы получаете ошибку, например, telnet: Unable to connect
to remote host: Connection refused
, тогда нет никакого сервера,
работающего на данном порту.
port
.mysqld
.Когда Вы выполняете сервер MySQL на Windows со многими соединениями TCP/IP
с ним, и Ваши клиенты получают ошибку Can't connect to MySQL server
, причина может быть в том, что Windows не учитывает достаточно много
короткоживущих портов для таких соединений.
TIME_WAIT
должен сохранить соединение, принимающее пакеты
даже после того, как соединение было закрыто. Это потому, что
интернет-маршрутизация может заставить пакет следовать медленным маршрутом к
своему месту назначения, и он может прибыть после того, как обе стороны
согласились закрыть соединение. Если порт используется для нового соединения,
тот пакет от старого соединения мог бы сломать протокол или поставить под
угрозу данные оригинального соединения. Задержка TIME_WAIT
предотвращает это, гарантируя, что порт не может быть снова использован, пока
некоторое время не пройдет для тех отсроченных пакетов.
Безопасно уменьшить TIME_WAIT
на LAN-соединениях, потому что
есть немного шансов существования пакетов с очень длинными задержками, по
сравнению с Интернет с его сравнительно большими
расстояниями и временами ожидания.
Windows разрешает эфемерные (недолгие) порты TCP пользователю. После того,
как любой порт закрыт, это останется в статусе TIME_WAIT
120
секунд. Порт не будет доступен снова, пока это время не истечет. Диапазон
по умолчанию значений номеров портов зависит от версии Windows, с большим
ограниченным количеством портов в более старых версиях:
Windows Server 2003 и ранее: порты в диапазоне 1025-5000.
С маленьким стеком доступных портов TCP (5000) и высоким числом портов
TCP, открытых и закрытых за короткий период времени наряду со статусом
TIME_WAIT
у Вас есть хороший шанс для того, чтобы исчерпать
порты. Есть два способа решить эту проблему:
Сократите количество портов TCP, потребляемых быстро, используя объединение соединений или постоянные соединения, где только возможно.
Следующая процедура вовлекает изменение реестра Windows. Прежде, чем Вы измените реестр удостоверьтесь, что зарезервировали его и понимаете, как восстановить, если проблема происходит. Для информации о том, как сохранить, восстановить и отредактировать реестр, смотрите следующую статью в Microsoft Knowledge Base: http://support.microsoft.com/kb/256986/EN-US/.
Запустите Registry Editor
(Regedt32.exe
).
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
Edit
кликните Add Value
, затем
добавьте следующее значение:
Value Name: MaxUserPort Data Type: REG_DWORD Value: 65534Это определяет число эфемерных портов, доступных любому пользователю. Допустимый диапазон: 5000-65534 (десятичное число). Значение по умолчанию: 0x1388 (5000, десятичное число).
Edit
кликните Add Value
, затем
добавьте следующее значение:
Value Name: TcpTimedWaitDelay Data Type: REG_DWORD Value: 30Это определяет число секунд, которые надо держать порт TCP в статусе
TIME_WAIT
перед закрытием. Допустимый диапазон между 30 и 300
(десятичные числа). Значение по умолчанию 0x78 (120 десятично).Отмена вышеупомянутого должна быть столь же проста, как удаление записей реестра, которые Вы создали.
Есть три вероятных причины для этого сообщения об ошибке.
Обычно это указывает на сетевую проблему связи, и Вы должны проверить работу своей сети, если эта ошибка часто происходит. Если сообщение об ошибке включает during query, это, вероятно, имеет место.
Иногда during query происходит, когда миллионы
строк посылают как часть одного или более запросов. Если Вы знаете, что это
происходит, Вы должны попытаться увеличить
net_read_timeout
от значения по умолчанию в 30 секунд до 60 секунд или дольше,
достаточного времени для передачи данных.
Также это может произойти, когда клиент делает попытку начального
соединения с сервером. В этом случае, если Ваше значение
connect_timeout
установлено только в несколько секунд, Вы в состоянии решить проблему,
увеличивая его до десяти секунд, возможно больше, если у Вас есть очень
длинное расстояние или медленное соединение. Вы можете определить, в чем дело
при использовании SHOW GLOBAL STATUS LIKE 'Aborted_connects'
.
Это значение увеличится для каждой начальной попытки соединения, которую
прерывает сервер. Вы можете видеть reading authorization packet
как часть сообщения об ошибке.
Если причина не одна из только что описанных, Вы можете испытывать
проблему со значениями BLOB
,
которые больше чем
max_allowed_packet
, который может вызвать эту ошибку с некоторыми клиентами. Иногда
Вы можете видеть ошибку
ER_NET_PACKET_TOO_LARGE
и это подтверждает, что Вы должны
увеличить
max_allowed_packet
.
Клиенты MySQL запрашивают пароль когда вызваны с опцией
--password
или -p
, у которой нет никакого последующего значения пароля:
shell> mysql -u user_name
-p
Enter password:
На некоторых системах Вы можете найти, что Ваш пароль работает, когда
определен в файле опции или в командной строке, но не когда Вы вводите его в
интерактивном режиме в ответ на запрос Enter password:
. Это
происходит, когда библиотека, предоставленная системой, чтобы считать пароли,
ограничивает значения пароля небольшим количеством символов (как правило,
восемь). Это проблема с системной библиотекой, не с MySQL. Чтобы обойти
проблему, измените свой пароль MySQL на значение, которое является восемью
или меньшим количеством символов или впишите Ваш пароль в файл опций.
Если следующая ошибка происходит, это означает, что mysqld получил много запросов соединения от данного хоста, которые были прерваны в середине:
Host 'host_name
' is blocked because of many connection errors.
Unblock with 'mysqladmin flush-hosts'
Значение системной переменной
max_connect_errors
определяет, сколько последовательных прерванных запросов
соединения разрешено. См.
раздел 6.1.5. После
max_connect_errors
неудавшихся запросов без успешного соединения,
mysqld
предполагает, что что-то неправильно (например, что кто-то пытается вскрыть
систему) и блокирует соединения с этого хоста до запроса
FLUSH HOSTS
или выполнения команды
mysqladmin flush-hosts
.
По умолчанию mysqld
блокирует хост после 100 ошибок соединения. Вы можете
скорректировать значение, устанавливая
max_connect_errors
при запуске сервера:
shell> mysqld_safe --max_connect_errors=10000 &Значение может также быть установлено во времени выполнения:
mysql> SET GLOBAL max_connect_errors=10000;Если Вы получаете сообщение об ошибке
Host 'host_name
' is blocked
для данного хоста, Вы должны сначала проверить, что
нет ничего неправильного с соединениями TCP/IP от него. Если у Вас есть
сетевые проблемы, не стоит увеличивать
max_connect_errors
.
Если Вы получаете ошибку Too many connections
, когда Вы
пытаетесь соединиться с mysqld
, это означает, что все доступные соединения
используются другими клиентами.
Числом разрешенных соединений управляет системная переменная
max_connections
.
Значение по умолчанию 151, чтобы улучшить работу, когда MySQL используется с
веб-сервером Apache. Ранее значение по умолчанию было 100. Если Вы должны
поддержать больше соединений, Вы должны установить большее значение
для этой переменной.
mysqld
фактически разрешает
max_connections+1
клиентских соединений. Дополнительное соединение
сохранено для использования учетными записями, которые имеют привилегию
SUPER
. Предоставляя
привилегию SUPER
администраторам, а не нормальным пользователям (кто не должен нуждаться в
этом), администратор может соединиться с сервером и использовать
SHOW PROCESSLIST
, чтобы
диагностировать проблемы, даже если максимальное количество
непривилегированных клиентов соединено. См.
раздел 14.7.5.29.
Максимальное количество соединений зависит от качества библиотеки потоков на данной платформе, количества доступной RAM, сколько RAM используется для каждого соединения, рабочей нагрузки каждого соединения и желаемого времени отклика. Linux или Solaris должны быть в состоянии поддержать по крайней мере 500-1000 одновременных соединений обычно и целых 10000 соединений, если Вы имеете много гигабайтов RAM в наличии, а рабочая нагрузка каждого низка или некритично время отклика. Windows ограничена (открытые таблицы*2+открытые соединения) < 2048 из-за уровня совместимости Posix, используемого на этой платформе.
Увеличение
open-files-limit
может быть необходимым. Также см.
раздел 2.5 для того, как поднять
ограничение операционной системы на то, сколько дескрипторов
может использоваться MySQL.
Если Вы запускаете запрос, используя клиент mysql и получаете ошибку как приведена ниже, это означает, что у mysql нет достаточной памяти, чтобы сохранить весь результат запроса:
mysql: Out of memory at line 42, 'malloc.c' mysql: needed 8136 byte (8k), memory in use: 12481367 bytes (12189k) ERROR 2008: MySQL client ran out of memoryЧтобы исправить проблему, сначала проверьте, правилен ли Ваш запрос. Действительно ли разумно, что это должно возвратить очень много строк? В противном случае исправьте запрос и попробуйте еще раз. Иначе, Вы можете вызвать mysql с опцией
--quick
.
Это заставляет использовать функцию C API
mysql_use_result()
,
чтобы получить набор результатов, которая меньше нагружает клиента
(но больше сервер).
Этот раздел также покрывает связанную ошибку Lost connection
to server during query
.
Наиболее распространенная причина ошибки MySQL server has gone away
состоит в том, что сервер закрыл соединение по тайм-ауту. В этом
случае Вы обычно получаете один из следующих кодов ошибки.
Код ошибки | Описание |
---|---|
CR_SERVER_GONE_ERROR |
Клиент не мог послать запрос на сервер. |
CR_SERVER_LOST |
Клиент не получал ошибку при обращении к серверу, но не получил полный ответ (или любой ответ). |
По умолчанию, сервер закрывает соединение после восьми часов, если ничто
не произошло. Вы можете изменить ограничение по времени, устанавливая
переменную wait_timeout
, когда Вы запускаете mysqld
. См. раздел
6.1.5.
Если у Вас есть скрипт, Вы только должны запустить запрос снова для
клиента, чтобы сделать автоматическое пересоединение. Это предполагает, что у
Вас есть автоматическое пересоединение во включенном режиме на клиенте (что
является значением по умолчанию для mysql
.
Некоторые другие общие причины MySQL server has gone away
:
Вы (или администратор) уничтожили рабочий поток с
помощью KILL
или
mysqladmin kill
.
mysql_options(...,
MYSQL_OPT_READ_TIMEOUT,...)
или
mysql_options(...,
MYSQL_OPT_WRITE_TIMEOUT,...)
.
В этом случае увеличение тайм-аута может помочь решить проблему.reconnect
структуры
MYSQL
равен 0).
wait_timeout
) прежде, чем команда была выполнена.
Проблема на Windows состоит в том, что в некоторых случаях MySQL не получает ошибку от OS при записи в соединение TCP/IP с сервером, а вместо этого получает ошибку, пытаясь считать ответ из соединения.
Решение этого состоит в том, чтобы или сделать
mysql_ping()
на соединении,
если прошло длительное время начиная с последнего запроса (так делает
Connector/ODBC) или установить
wait_timeout
в
mysqld
настолько высоко, что это практически никогда не кончается.
BLOB
), Вы можете увеличить предел запроса, устанавливая переменную
max_allowed_packet
, у которой есть значение по умолчанию 4 МБ. Вы, возможно, также
должны увеличить максимальный пакетный размер на конце клиента. Больше
информации об установке пакетного размера дано в
in разделе B.5.2.9.
Запросы INSERT
или
REPLACE
, которые вставляют очень
много строк, могут также вызвать эти виды ошибок. Любой из этих запросов
посылает единственную команду серверу независимо от числа строк, которые
будут вставлены, таким образом, Вы можете часто избегать ошибки, сокращая
количество строк, посланных INSERT
или REPLACE
.
Вы можете также видеть ошибку MySQL server has gone away
,
если MySQL запущен с опцией
--skip-networking
.
Другая сетевая проблема, которая может вызвать эту ошибку, происходит, если порт MySQL (значение по умолчанию 3306) заблокирован Вашим брандмауэром, таким образом предотвращая какие-либо соединения вообще с сервером MySQL.
Вы можете проверить, упал ли сервер MySQL и перезапустить его, выполняя mysqladmin version и исследуя продолжительность работы сервера. Если бы соединение клиента было сломано, потому что mysqld перезапускался, то Вы должны сконцентрироваться на обнаружении причины катастрофического отказа.
Вы можете получить больше информации о потерянных соединениях, запуская
mysqld с
системной переменной
log_error_verbosity
равной 3. Это регистрирует некоторые из
сообщений разъединения в файл hostname.err
. См.
раздел 6.4.2.
Если Вы хотите создать отчет об ошибке относительно этой проблемы, убедитесь, что Вы включаете следующую информацию:
Укажите, упал ли сервер MySQL. Вы можете найти информацию об этом в журнале ошибок сервера. См. раздел B.5.3.3 .
CHECK TABLE
прежде, чем Вы
выполняли запрос, Вы можете обеспечить восстанавливаемый прецедент? См.
раздел 26.5.wait_timeout
сервера MySQL? mysqladmin
variables дает Вам значение этой переменной.См. также разделы B.5.2.10 и 1.7.
Коммуникационный пакет единственный запрос SQL, посланный серверу MySQL, единственная строка, которую посылают клиенту, или событие двоичного журнала, посланное с основного сервера репликации ведомому устройству.
Самым большим пакетом, который может быть передан к или из MySQL 8.0 серверов или клиент, является 1GB.
Когда клиент MySQL или сервер
mysqld
получают пакет, больше чем
max_allowed_packet
байт, это порождает ошибку
ER_NET_PACKET_TOO_LARGE
и завершает соединение. С некоторыми
клиентами Вы можете также получить ошибку Lost connection to MySQL
server during query
, если коммуникационный пакет
является слишком большим.
У клиента и сервера есть их собственные переменные
max_allowed_packet
так что, если Вы хотите обработать большие пакеты, Вы должны
увеличить эту переменную в клиенте и в сервере.
Если Вы используете клиента
mysql, значение по умолчанию
max_allowed_packet
равно 16 MB. Чтобы установить большее значение, запустите
mysql так:
shell> mysql --max_allowed_packet=32MЭто устанавливает пакетный размер в 32 МБ.
Значение по умолчанию серверной копии
max_allowed_packet
равно 4 MB. Вы можете увеличить это, если
сервер должен обработать большие запросы (например, если Вы работаете с
большими столбцами BLOB
). Например,
чтобы установить переменную в 16 МБ, запустите сервер так:
shell> mysqld --max_allowed_packet=16MВы можете также использовать файл опции, чтобы установить
max_allowed_packet
. Например, чтобы установить размер для сервера в 16 МБ, добавьте
следующие строки в файле опций:
[mysqld] max_allowed_packet=16MБезопасно увеличить значение этой переменной, потому что дополнительная память выделена только при необходимости. Например, mysqld выделяет больше памяти только, когда Вы запускаете длинный запрос или когда mysqld должен возвратить большую строку результата. Маленькое значение по умолчанию переменной предосторожность, чтобы поймать неправильные пакеты между клиентом и сервером, а также гарантировать, что Вы не исчерпываете память при использовании больших пакетов случайно.
Вы можете также получить странные проблемы с большими пакетами, если Вы
используете большие значения BLOB
,
но не предоставили mysqld
доступ к достаточной памяти, чтобы обработать запрос.
Если Вы подозреваете, что дело обстоит именно так, попытайтесь добавить
ulimit -d 256000 в начале скрипта
mysqld_safe
и перезапустите mysqld
.
Если проблемы соединения происходят, такие как коммуникационные ошибки или прерванные соединения, используйте эти источники информации, чтобы диагностировать проблемы:
Журнал ошибок. См. раздел 6.4.2 .
Aborted_xxx
т
Connection_errors_xxx
. См.
раздел 6.1.7.host_cache
Performance Schema. См. разделы
9.12.4.2 и
23.9.16.1.Если Вы запускаете сервер с системной переменной
log_error_verbosity
равной 3, Вы могли бы найти подобные этому сообщения в
Вашем журнале ошибок:
[Note] Aborted connection 854 to db: 'employees' user: 'josh'Если клиент неспособен даже соединиться, сервер постепенно увеличивает значение
Aborted_connects
. Неудачные попытки соединения могут произойти
по следующим причинам:
Клиент пытается получить доступ к базе данных, но не имеет никаких привилегий для этого.
connect_timeout
секунд, чтобы получить пакет. См.
раздел 6.1.5.Если эти проблемы происходят, это может указывать, что кто-то пытается ворваться в Ваш сервер! Если общий журнал запроса включен, сообщения для этих типов проблем зарегистрированы в нем.
Если клиент успешно соединяется, но позже разъединяется ненадлежащим
образом, сервер постепенно увеличивает
Aborted_clients
и пишет в журнал ошибок сообщение Aborted connection.
Причина может быть следующей:
Программа клиента не вызвала
mysql_close()
при выходе.
wait_timeout
или
interactive_timeout
секунд, не выпуская запросов серверу. См.
раздел 6.1.5.Другие причины проблем с прерванными соединениями или клиентами:
Значение переменной
max_allowed_packet
является слишком маленьким, или запросы
требуют большей памяти, чем Вы выделили для
mysqld. См.
раздел B.5.2.9.
См. также раздел B.5.2.8.
Если происходит ошибка table-full, может случиться так, что диск полон или что таблица достигла своего максимального размера. Эффективный максимальный табличный размер для баз данных MySQL обычно определяется ограничениями операционной системы на размеры файла, а не внутренними пределами MySQL. См. раздел C.10.3.
Если Вы получаете ошибку следующего типа для некоторых запросов, это означает, что MySQL не может создать временный файл для набора результатов во временном каталоге:
Can't create/write to file '\\sqla3fe_0.ism'.Предыдущая ошибка типичное сообщение для Windows, сообщение в Unix подобно.
Можно запустить mysqld
с опцией
--tmpdir
или добавить опцию к секции
[mysqld]
Вашего файла опции. Например, чтобы определить каталог
C:\temp
, используйте эти строки:
[mysqld] tmpdir=C:/tempКаталог
C:\temp
должен существовать и иметь достаточное
пространство для сервера MySQL. См.
раздел 5.2.6.
Другая причина этой ошибки может быть проблемой разрешений.
Удостоверьтесь, что сервер MySQL может писать в каталог
tmpdir
.
Проверьте также код ошибки, который Вы получаете с perror. Одна из причина, по которой сервер не может записать таблицу, состоит в том, что файловая система полна:
shell> perror 28 OS error code28: No space left on deviceЕсли Вы получаете ошибку следующего типа во время запуска, она указывает, что файловая система или каталог, используемый для того, чтобы сохранить файлы с данными, являются защищенными от записи. При условии, что ошибка при записи к испытательному файлу, ошибка не серьезна и может быть безопасно проигнорирована.
Can't create test file /usr/local/mysql/data/master.lower-test
Если Вы получаете ошибку Commands out of sync; you can't run this
command now
в Вашем коде клиента Вы вызываете функции
клиента в неправильном порядке.
Это может произойти, например, если Вы используете
mysql_use_result()
и пробуете выполнить новый запрос прежде, чем Вы вызвали
mysql_free_result()
.
Это может также произойти, если Вы пытаетесь выполнить два запроса, которые
возвращают данные без запроса
mysql_use_result()
или mysql_store_result()
между ними.
Если Вы получаете следующую ошибку, это означает, что, когда
mysqld
был запущен или когда он перезагружал таблицы привилегий, нашел учетную
запись в таблице user
, у которой был неверный пароль.
Found wrong password for user
'
some_user
'@'some_host
';
ignoring user
В результате учетная запись просто проигнорирована системой. Чтобы решить эту проблему, назначьте новый, допустимый, пароль на учетную запись.
Если Вы получаете любую из следующих ошибок, это обычно означает, что никакой таблицы не существует в базе данных по умолчанию:
Table 'В некоторых случаях может случиться так, что таблица действительно существует, но Вы обращаетесь к ней неправильно:tbl_name
' doesn't exist Can't find file: 'tbl_name
' (errno: 2)
Поскольку MySQL использует каталоги и файлы, чтобы сохранить базы данных и таблицы, имена базы данных и имена таблиц являются чувствительными к регистру, если они расположены в файловой системе, у которой есть чувствительные к регистру имена файла.
Вы можете проверить, какие таблицы находятся в базе данных по умолчанию
через SHOW TABLES
. См.
раздел 14.7.5.
Вы могли бы видеть такую ошибку, если у Вас есть проблемы с набором символов:
MySQL Connection Failed: Can't initialize character set charset_name
У этой ошибки может быть любая из следующих причин:
Набор символов многобайтовый, и у Вас нет никакой поддержки набора
символов в клиенте. В этом случае Вы должны повторно собрать клиента,
выполняя CMake с опцией
-DDEFAULT_CHARSET=
. См.
раздел 2.8.4.charset_name
Все стандартные исполняемые модули MySQL собраны с поддержкой всех многобайтовых наборов символов.
В этом случае Вы должны использовать один из следующих методов, чтобы решить проблему:
Повторно соберите клиент с поддержкой набора символов. См. раздел 2.8.4.
--character-sets-dir
.Если Вы получили ERROR '
, file_name
' not found
(errno: 23)Can't open file:
или любую другую ошибку с file_name
(errno: 24)errno 23
или
errno 24
от MySQL, это означает, что Вы не выделили достаточно
дескрипторов файла для сервера MySQL. Вы можете использовать
perror,
чтобы получить описание того, что означает код ошибки:
shell> perror 23 OS error code23:File table overflow shell> perror 24 OS error code24:Too many open files shell> perror 11 OS error code11:Resource temporarily unavailableПроблема здесь состоит в том, что mysqld пытается сохранить открытым слишком много файлов одновременно. Вы можете или сказать mysqld не открывать очень много файлов сразу или увеличить число дескрипторов файла, доступных mysqld .
Чтобы сказать mysqld
сохранять открытыми меньше файлов за один раз, Вы можете сделать
табличный кэш меньше, уменьшая значение системной переменной
table_open_cache
(значение по умолчанию 64). Это, возможно, не полностью предотвращает
исчерпание дескрипторов файла, потому что при некоторых обстоятельствах
сервер может попытаться расширить размер кэша временно, как описано в
разделе 9.4.3.1. Сокращение значения
max_connections
также сокращает количество открытых файлов (значение по умолчанию 100).
Чтобы изменить число дескрипторов файла, доступных
mysqld,
Вы можете использовать опцию
--open-files-limit
в
mysqld_safe или установить системную переменную
open_files_limit
. См. раздел 6.1.5.
Самый легкий способ установить эти значения состоит в том, чтобы добавить
опцию к Вашему файлу опций. См. раздел
5.2.6. Если у Вас есть старая версия
mysqld, которая не поддерживает установку
предела открытых файлов, Вы можете отредактировать скрипт
mysqld_safe
. Есть в нем закомментированная строка ulimit -n 256
. Вы можете удалить символ #
, чтобы
раскомментировать эту строку, и изменить число 256
, чтобы
определить количество дескрипторов файла, которые будут доступны для
mysqld.
--open-files-limit
и ulimit могут
увеличить число дескрипторов файла, но только до предела, наложенного
операционной системой. Есть также жесткий предел,
который может быть переопределен, только если Вы запускаете
mysqld_safe
или mysqld
как root
(только помните, что Вы также должны запустить
сервер с опцией --user
в этом случае так, чтобы он не продолжил работать как
root
после того, как стартует). Если Вы должны увеличить предел
дескрипторов операционной системы на число описателей файла, доступных
каждому процессу, консультируйтесь с документацией для своей системы.
Если Вы выполняете оболочку tcsh, ulimit не работает! tcsh также сообщает неправильные значения, когда Вы просите текущие пределы. В этом случае Вы должны запустить mysqld_safe , используя sh.
Если Вы запустили mysqld
с
--myisam-recover-options
, MySQL автоматически проверяет и
пытается восстановить таблицы MyISAM
, если они отмечены как
'не закрыта должным образом' или 'отказ'. Если это происходит, MySQL пишет
запись в файл hostname.err
: 'Warning: Checking table ...'
, которая сопровождается Warning: Repairing table
, если
таблица должна быть восстановлена. Если Вы получаете много этих ошибок, без
mysqld
упавшего неожиданно как раз перед этим, то что-то тут не так и должно
быть исследовано далее.
Когда сервер обнаруживает табличное повреждение MyISAM
, он
пишет дополнительную информацию в журнал ошибок, такую как имя и номер строки
исходного файла и список потоков, получающих доступ к таблице. Пример:
Got an error from thread_id=1, mi_dynrec.c:368
. Это полезная
информация для включения в отчеты об ошибках.
См. также разделы 6.1.4 и 26.5.1.7.
Если у Вас есть проблемы с правами доступа, переменная окружения
UMASK
или UMASK_DIR
может быть установлена
неправильно, когда mysqld
стартует. Например, MySQL мог бы выдать следующее
сообщение об ошибке, когда Вы составляете таблицу:
ERROR: Can't find file: 'path/with/file_name
' (Errcode: 13)
Значения по умолчанию UMASK
и UMASK_DIR
0640
и 0750
, соответственно. MySQL предполагает,
что значение для UMASK
или UMASK_DIR
восьмеричное,
если начинается с 0. Например, установка UMASK=0600
эквивалентна
UMASK=384
поскольку восьмеричное 0600 это десятичное 384.
Чтобы изменить значение по умолчанию UMASK
, запустите
mysqld_safe
:
shell> UMASK=384# = 600 in octal shell> export UMASK shell> mysqld_safe &
По умолчанию, MySQL создает каталоги базы данных со значением разрешения
на доступ 0750
. Чтобы изменить это поведение, установите
переменную UMASK_DIR
. Если Вы устанавливаете это значение, новые
каталоги создаются с объединенным значением UMASK
и
UMASK_DIR
. Например, чтобы дать группе доступ ко всем новым
каталогам, запустите
mysqld_safe так:
shell> UMASK_DIR=504# = 770 in octal shell> export UMASK_DIR shell> mysqld_safe &
Если Вы никогда не назначали root
-пароль для MySQL, сервер не
требует пароля вообще для того, чтобы соединиться как root
.
Однако, это небезопасно. Для инструкций по назначению пароля, см.
раздел 2.9.4.
Если Вы знаете root
-пароль и хотите изменить его, см. разделы
14.7.1.1 и
14.7.1.11.
Если Вы назначали root
-пароль ранее, но забыли его, Вы можете
назначить новый пароль. Следующие разделы обеспечивают инструкции для Windows
и Unix-подобных систем.
В Windows используйте следующую процедуру, чтобы сбросить пароль для
пользователя MySQL 'root'@'localhost'
.
Войдите в систему как Администратор.
Если Ваш сервер не работает как служба, Вы, возможно, должны использовать Диспетчер задач, чтобы вынудить его остановиться.
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';
C:\mysql-init.txt
.--init-file
(обратите внимание, что наклонная черта влево в значении опции удвоена):
C:\> cd "C:\Program Files\MySQL\MySQL Server 8.0\bin" C:\> mysqld --init-file=C:\\mysql-init.txtЕсли Вы устанавливали MySQL в другое место, скорректируйте команду cd.
Сервер выполняет содержание файла, названного в опции
the --init-file
при запуске, изменяя пароль учетной записи 'root'@'localhost'
.
Чтобы вывести ответ сервер в консоль, а не в файл системного журнала,
добавьте опцию --console
к команде mysqld
.
Если Вы устанавливали MySQL, используя мастер установки MySQL, Вы,
возможно, должны определить опцию
--defaults-file
. Например:
C:\> mysqld --defaults-file="C:\\ProgramData\\MySQL\\MySQL Server 8.0\\my.ini" --init-file=C:\\mysql-init.txtСоответствующяя установка
--defaults-file
установка может быть найдена, используя
Services Manager: из меню Start выберите Control Panel
, Administrative Tools, Services. Найдите
службу MySQL в списке, щелкните правой кнопкой мыши по строке и выберите
Properties
. Поле Path to executable
содержит
установку
--defaults-file
.C:\mysql-init.txt
.Вы должны теперь быть в состоянии соединиться с сервером MySQL как
root
с новым паролем. Запустите сервер как обычно. Если Вы
выполняете сервер как службу, запустите его из окна Windows Services.
В Unix используйте следующую процедуру, чтобы сбросить пароль для
пользователя MySQL 'root'@'localhost'
.
Инструкции предполагают, что Вы запустите сервер MySQL с учетной записи
Unix, которую Вы обычно используете для того, чтобы выполнить его. Например,
если Вы выполняете сервер, используя учетку mysql
, Вы должны
войти в систему как mysql
перед использованием инструкций.
Альтернативно, Вы можете войти в систему как root
, но в этом
случае Вы должны запустить
mysqld с
опцией --user=mysql
.
Если Вы запускаете сервер как root
без использования
--user=mysql
,
сервер может создать принадлежащие root
файлы в каталоге данных,
такие как файлы системного журнала, и они могут вызвать связанные с доступом
проблемы для будущих запусков сервера. Если это произойдет, то Вы будете
должны исправить права доступа вручную.
Войдите в систему как пользователь Unix, от имени
которого сервер MySQL выполняется (например, mysql
).
.pid
, который содержит идентификатор процесса сервера.
Точное местоположение и название этого файла зависят от Вашего дистрибутива,
имени хоста, и конфигурации. Общие местоположения
/var/lib/mysql/
, /var/run/mysqld/
и
/usr/local/mysql/data/
. Вообще, у имени файла есть расширение
.pid
и начинается имя с mysqld
или с имени
хоста Вашей системы.
Остановите сервер MySQL, посылая нормальный kill
(не
kill -9
) процессу
mysqld. Используйте фактический путь к .pid
в следующей команде:
shell> kill `cat /mysql-data-directory/host_name.pid`Используйте обратные кавычки с командой
cat
. Они вызывают вывод
cat
в команду kill
.ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';
/home/me/mysql-init
. Файл содержит пароль, так что не сохраняйте
его там, где он может быть считан другими пользователями. Если Вы не
зарегистрированы как mysql
(пользователь выполнения сервера),
удостоверьтесь, что у файла есть права доступа для пользователя
mysql
на чтение.--init-file
:
shell> mysqld_safe --init-file=/home/me/mysql-init &Сервер выполняет содержание файла, названного в опции the
--init-file
при запуске, изменяя пароль для
'root'@'localhost'
./home/me/mysql-init
.Предыдущие разделы обеспечивают инструкции определенно для Windows и Unix-систем. Альтернативно, на любой платформе, Вы можете сбросить пароль, используя mysql (но этот подход менее безопасен):
Остановите сервер MySQL в случае необходимости, затем
перезапустите его с опцией
--skip-grant-tables
. Это позволяет любому соединиться без пароля и
со всеми привилегиями, и отключает команды управления учетными записями,
такие как ALTER USER
и
SET PASSWORD
. Поскольку это
небезопасно, стоит использовать
--skip-grant-tables
в соединении с
--skip-networking
дабы воспрепятствовать тому, чтобы удаленные клиенты соединились.
--skip-grant-tables
:
shell> mysql
mysql
скажите серверу перезагрузтть таблицы
привилегий так, чтобы запросы управления учетными записями работали:
mysql> FLUSH PRIVILEGES;Теперь смените пароль учетной записи
'root'@'localhost'
.
Замените его паролем, который Вы хотите использовать.
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';
Теперь остановите сервер и запустите его нормально (без опций
--skip-grant-tables
и
--skip-networking
).
Каждая версия MySQL проверена на многих платформах прежде, чем она будет выпущена. Это не означает, что нет никаких ошибок в MySQL, но если есть ошибки, их должно быть очень мало.
Сначала Вы должны попытаться узнать, является ли проблема падений mysqld проблемой на сервере или на клиенте. Вы можете проверить, сколько времени Ваш сервер mysqld работал, выполняя запрос mysqladmin version. Если mysqld перезапустился, Вы можете найти причину в журнале ошибок сервера. См. раздел 6.4.2.
На некоторых системах Вы можете найти в журнале ошибок след стека при
падении mysqld
, который Вы можете обработать программой resolve_stack_dump
. См. раздел 26.5. Отметьте, что
значения переменных, написанные в журнале ошибок, возможно, не
всегда на 100% правильны.
Много катастрофических отказов сервера вызваны поврежденными файлами с
данными или индексными файлами. MySQL обновляет файлы на диске с помощью
системного вызова write()
после каждого запроса SQL и перед
отчетом клиенту о результате. Это не так, если Вы работаете с опцией
--delay-key-write
, тогда записаны файлы с данными, но не индексные
файлы. Это означает, что содержание файла с данными безопасно, даже если
mysqld
упадет, потому что операционная система гарантирует, что данные будут
записаны на диск. Вы можете вынудить MySQL сбросить все на диск после каждого
запроса SQL, запуская его с параметром
--flush
.
Предыдущие средства обеспечивают то, что обычно Вы не должны получить поврежденные таблицы, если одно из следующего не происходит:
Сервер MySQL или хост сервера были повреждены в середине обновления.
lockd
), или Вы выполняете
много серверов с отключенной внешней блокировкой.ALTER TABLE
на восстановленной копии таблицы.Поскольку очень трудно знать, почему что-то отказывает, сначала попытайтесь проверить вещи, которые работают на катастрофический отказ для Вас. Попробуйте следующие вещи:
Остановите сервер
mysqld с помощью
mysqladmin shutdown, запустите
myisamchk --silent --force
*/*.MYI из каталога данных, чтобы проверить все таблицы
MyISAM
и перезапустите
mysqld. Это гарантирует, что Вы работаете из
чистого состояния. См. главу 6.
fork_big.pl
. Это расположено в
каталоге tests
дистрибутива исходных текстов.-DWITH_DEBUG=1
CMake и пересоберите. С поддержкой отладки
отловить нужную информацию будет много легче. См.
раздел 26.5.
--skip-external-locking
. На некоторых системах менеджер блокировок
lockd
не работает должным образом, опция
--skip-external-locking
говорит
mysqld не использовать внешнюю блокировку.
Это означает, что Вы не можете выполнить два сервера
mysqld в том
же самом каталоге данных, и что Вы должны быть осторожны, если используете
myisamchk
. Однако, может быть поучительно попробовать опцию как тест.Запустите mysqld из gdb (или другого отладчика). См. раздел 26.5.
backtrace info local up info local up info localС gdb Вы можете также исследовать потоки с помощью
info threads
и переключиться на определенный поток
командой thread N
, где
N
ID потока.Попытайтесь моделировать свое приложение скриптом на Perl, чтобы вынудить MySQL отказать или плохо себя вести.
VARCHAR
(не
BLOB
или
TEXT
), Вы можете попытаться
изменить все VARCHAR
на
CHAR
с помощью
ALTER TABLE
. Это вынуждает
MySQL использовать строки фиксированного размера. Строки фиксированного
размера занимают небольшое дополнительное место, но намного
более терпимы к повреждению.
Текущий код динамических строк использовался в течение нескольких лет с очень немногими проблемами, но строки динамической длины являются по своей природе более склонными к ошибкам, таким образом, может быть хорошей идеей попробовать эту стратегию, чтобы увидеть, помогает ли это.
Этот раздел описывает, как MySQL отвечает на ошибки переполнения диска (такие, как no space left on device) и ошибки исчерпания квоты (такие, как write failed или user block limit reached).
Этот раздел важен для записи в таблицы MyISAM
. Это также
применими к записи файлов двоичного журнала, за исключением того, что ссылки
на строки и записи здесь
означают события.
Когда происходит переполнение диска, MySQL делает следующее:
Он проверяет раз в минуту, чтобы увидеть, есть ли достаточно пространства, чтобы записать текущую строку. Если есть достаточно пространства, работа продолжается, как будто ничего не произошло.
Чтобы облегчить проблему, предпримите следующие меры:
Чтобы продолжить работу, Вы должны только освободить достаточно дискового пространства, чтобы вставить все записи.
Исключения к предыдущему поведению: когда Вы используете
REPAIR TABLE
или
OPTIMIZE TABLE
или же когда индекс создается в пакете после
LOAD DATA INFILE
или после
запроса ALTER TABLE
. Все эти
запросы могут создать большие временные файлы, которые вызывают большие
проблемы для остальной части системы. Если диск становится полным, в то время
как MySQL делает любую из этих операций, это удаляет большие временные файлы
и отмечает таблицу как разрушенную. Исключение из этого:
ALTER TABLE
,
старая таблица не меняется вообще.
В Unix MySQL использует значение переменной окружения TMPDIR
как путь к каталогу, в котором можно хранить временные файлы. Если
TMPDIR
не задана, MySQL использует системное значение по
умолчанию, которое обычно является /tmp
, /var/tmp
или /usr/tmp
.
В Windows MySQL проверяет в порядке значения переменные окружения
TMPDIR
, TEMP
и TMP
. Найдя первую,
которая установлена, MySQL использует ее и не проверяет те, которые остаются.
Если ни одна из TMPDIR
, TEMP
или TMP
не установлены, MySQL использует системное значение по умолчанию Windows,
которое обычно является C:\windows\temp\
.
Если файловая система, содержащая Ваш временный каталог, является слишком
маленькой, Вы можете использовать
mysqld с опцией
--tmpdir
, чтобы
определить каталог в файловой системе, где у Вас есть достаточно
пространства. На ведомых устройствах репликации Вы можете использовать
--slave-load-tmpdir
, чтобы определить отдельный каталог для
хранения временных файлов для обработки запросов
LOAD DATA INFILE
.
Опция --tmpdir
может быть установлена в список из нескольких путей, которые используются
круговым способом. Пути должны быть отделены символами двоеточия
(:
) в Unix и символом точки с запятой (;
) в Windows.
Чтобы распределить нагрузку эффективно, эти пути должны быть расположены на различных физических дисках, а не на разных разделах того же самого диска.
Если сервер MySQL действует как ведомое устройство репликации, Вы должны
убедиться, что установили
--slave-load-tmpdir
не на каталог, который находится в основанной
на памяти файловой системе или каталог, который очищен, когда хост сервера
перезапускается. Ведомое устройство нуждается в некоторых из своих временных
файлов, чтобы пережить машинный перезапуск так, чтобы оно могло копировать
временные таблицы или операции LOAD DATA
INFILE
. Если файлы в ведомом временном каталоге потеряны, когда
сервер перезапускается, репликация терпит неудачу.
MySQL обеспечивает то, что временные файлы удалены, если mysqld прерван. На платформах, которые поддерживают это (такие, как Unix), это сделано, отвязывая файл после открытия. Недостаток в том, что имя не появляется в списках каталога, и Вы не видите большой временный файл, который заполняет файловую систему, в которой расположен временный каталог. В таких случаях lsof +L1 может быть полезным в идентификации больших файлов, связанных с mysqld.
Сортируя (ORDER BY
или GROUP BY
) MySQL обычно
использует один или два временных файла. Максимальное требуемое дисковое
пространство определено следующим выражением:
(длина того, что сортируется + sizeof(Размер указателя строки)) * число соответствующих строк * 2Размер указателя строки обычно четыре байта, но может вырасти в будущем для действительно больших таблиц.
Для некоторых SELECT
запросов
MySQL также составляет временные таблицы SQL. Они не скрыты и имеют
названия формы SQL_*
.
В большинстве случаев ALTER TABLE
создает временную копию оригинальной таблицы в том же самом
каталоге, где оригинальная таблица.
Временные таблицы InnoDB
сохранены во временном файле
табличного пространства ibtmp1
, который расположен в каталоге
MySQL data
(по умолчанию
datadir
). Опция
innodb_temp_data_file_path
может использоваться при запуске, чтобы
определить иное имя файла и местоположение.
Если работа ALTER TABLE
на
таблице InnoDB
использует метод ALGORITHM=COPY
,
InnoDB
создает временную копию таблицы в том же самом каталоге,
где оригинальная таблица. Временные табличные имена файла начинаются с
префикса #sql-
и появляется кратко только во время выполнения
ALTER TABLE
.
Если работа ALTER TABLE
восстанавливает таблицц InnoDB
, используя метод
ALGORITHM=INPLACE
(online DDL), InnoDB
создает
промежуточную копию таблицы в том же самом каталоге,
где и оригинальная таблица. Промежуточные табличные имена файла начинаются с
префикса #sql-ib
.
ALTER TABLE
, которые
восстанавливают таблицы InnoDB
, используя метод
ALGORITHM=INPLACE
(online DDL) также создают временные файлы
сортировки во временном каталоге MySQL ($TMPDIR
в Unix,
%TEMP%
в Windows, или каталоге, определенном опцией
--tmpdir
). Если
временный каталог не является достаточно большим, чтобы содержать такие
файлы, Вы, возможно, должны реконфигурировать
tmpdir
.
Альтернативно, Вы можете определить отдельный временный каталог для
InnoDB
операций ALTER
TABLE
, используя опцию
innodb_tmpdir
. Эта опция была введена, чтобы помочь избежать
временных переполнений каталога, которые могли произойти в результате больших
временных файлов, создаваемых во время
ALTER TABLE
.
innodb_tmpdir
может быть сконфигурирована динамически, используя команды
SET GLOBAL
или
SET SESSION
.
Опция innodb_tmpdir
неприменима к промежуточным табличным файлам, которые всегда создаются в
том же самом каталоге, где оригинальная таблица.
В окружающей среде репликации стоит копировать только настройку
innodb_tmpdir
,
если у всех серверов есть та же самая окружающая среда операционной системы.
Иначе, мультиплицирование
innodb_tmpdir
может привести к отказу операций
ALTER TABLE
. Если операционные
среды серверов отличаются, рекомендуется сконфигурировать
innodb_tmpdir
на каждом сервере индивидуально.
Местоположение по умолчанию для файла сокета Unix, который использует
сервера для коммуникации с местными клиентами
/tmp/mysql.sock
. Для некоторых форматов дистрибутивов каталог
может отличаться, например, /var/lib/mysql
для RPM.
На некоторых версиях Unix любой может удалить файлы в каталоге
/tmp
или другом подобном каталоге, который используется для
временных файлов. Если файл сокета расположен в таком каталоге в Вашей
системе, это могло бы вызвать проблемы.
На большинстве версий Unix Вы можете защитить Ваш каталог
/tmp
так, чтобы файлы могли быть удалены только их владельцами
или суперпользователем (root
). Чтобы сделать это, установите
бит sticky
каталогу /tmp
, войдя в систему как
root
и применив такую команду:
shell> chmod +t /tmpВы можете проверить установлен ли бит
sticky
, выполняя команду
ls -ld /tmp
. Если последний символ прав доступа
t
, значит бит установлен.
Другой подход должен изменить место, где сервер создает файл. Если Вы делаете это, Вы должны также позволить программам клиента узнать новое местоположение файла. Вы можете определить местоположение файла несколькими способами:
Определите путь в глобальном или местном файле опции. Например,
вставьте следующие строки в /etc/my.cnf
:
[mysqld] socket=/path/to/socket [client] socket=/path/to/socket
--socket
в командной строке
mysqld_safe, когда Вы
выполняете программы клиента.MYSQL_UNIX_PORT
в путь к
файлу сокета Unix.
MYSQL_UNIX_ADDR
, когда Вы выполняете CMake
. См. раздел 2.8.4
.Вы можете проверить, работает ли новое местоположение, пытаясь соединиться с сервером этой командой:
shell> mysqladmin --socket=/path/to/socket version
Если у Вас есть проблема с SELECT NOW()
, возвращающем
значения в UTC, а не Вашем местном времени, Вы должны сказать серверу свою
зону текущего времени. То же самое применяется, если
UNIX_TIMESTAMP()
возвращает неправильное значение. Это должно быть сделано для среды, в
которой работает сервер, например, в
mysqld_safe
или mysql.server
. См. раздел
5.9.
Вы можете установить часовой пояс для сервера с помощью опции
--timezone=
при вызове
mysqld_safe
. Вы можете также установить это, устанавливая переменную окружения
timezone_name
TZ
прежде, чем Вы запустите
mysqld.
Допустимые значения для
--timezone
или TZ
зависят от ОС. Консультируйтесь со своей
документацией на операционную систему, чтобы видеть, какие
значения являются приемлемыми.
Для небинарных строк (CHAR
,
VARCHAR
,
TEXT
) поиски строки используют
сопоставление операндов сравнения. Для двоичных строк
(BINARY
,
VARBINARY
,
BLOB
) сравнения используют числовые
значения байтов в операндах, это означает, что для буквенных символов
сравнения будут чувствительными к регистру.
Сравнение между небинарной и двоичной строками обработано как сравнение двоичных строк.
Простые операции сравнения (>=, >, =, <, <=
,
сортировка и группировка) основаны на сортировочном значении
каждого символа. Символы с тем же самым сортировочным значением обработаны
как тот же самый символ. Например, если e
и ц╘
имеют то же самое значение сортировки в данном сопоставлении, они
сравниваются как равные.
Набор символов и сопоставление по умолчанию latin1
и
latin1_swedish_ci
, таким образом, небинарные строковые сравнения
являются нечувствительными к регистру по умолчанию. Это означает что, если Вы
ищете с
, Вы получаете
все значения столбцов, которые начинаются с col_name
LIKE 'a%'A
или a
. Чтобы сделать этот поиск чувствительным к регистру, удостоверьтесь,
что у одного из операндов есть чувствительное к регистру или двоичное
сопоставление. Например, если Вы сравниваете столбец и строку, которые оба
имеют набор символов latin1
, Вы можете использовать оператор
COLLATE
, чтобы заставить любой операнд иметь сопоставление
latin1_general_cs
или latin1_bin
:
Если Вы хотите, чтобы столбец всегда был обработан чувствительным к регистру способом, объявите его чувствительным к регистру или двоичным. См. раздел 14.1.15.col_name
COLLATE latin1_general_cs LIKE 'a%'col_name
LIKE 'a%' COLLATE latin1_general_cscol_name
COLLATE latin1_bin LIKE 'a%'col_name
LIKE 'a%' COLLATE latin1_bin
Чтобы заставить чувствительное к регистру сравнение недвоичных строк быть
нечувствительным к регистру, надо использовать COLLATE
с именем
сопоставления, нечувствительного к регистру. Строки в следующем примере
обычно являются чувствительными к регистру, но COLLATE
изменяет
сравнение, чтобы быть нечувствительным к регистру:
mysql> SET @s1 = 'MySQL' COLLATE latin1_bin, -> @s2 = 'mysql' COLLATE latin1_bin; mysql> SELECT @s1 = @s2; +-----------+ | @s1 = @s2 | +-----------+ | 0 | +-----------+ mysql> SELECT @s1 COLLATE latin1_swedish_ci = @s2; +-------------------------------------+ | @s1 COLLATE latin1_swedish_ci = @s2 | +-------------------------------------+ | 1 | +-------------------------------------+Двоичная строка является чувствительной к регистру в сравнениях. Чтобы сравнить строку как нечувствительную к регистру, преобразуйте ее в небинарную строку и используйте
COLLATE
, чтобы указать
нечувствительное к регистру сопоставление:
mysql> SET @s = BINARY 'MySQL'; mysql> SELECT @s = 'mysql'; +--------------+ | @s = 'mysql' | +--------------+ | 0 | +--------------+ mysql> SELECT CONVERT(@s USING latin1) COLLATE latin1_swedish_ci = 'mysql'; +--------------------------------------------------------------+ | CONVERT(@s USING latin1) COLLATE latin1_swedish_ci = 'mysql' | +--------------------------------------------------------------+ | 1 | +--------------------------------------------------------------+Чтобы определить, сравнится ли значение как недвоичная или двоичная строка, используйте функцию
COLLATION()
. Этот пример показывает, что
VERSION()
возвращает
строку, у которой есть нечувствительное к регистру сопоставление, таким
образом, сравнения являются нечувствительными к регистру:
mysql> SELECT COLLATION(VERSION()); +----------------------+ | COLLATION(VERSION()) | +----------------------+ | utf8_general_ci| +----------------------+Для двоичных строк значение сопоставления
binary
, таким образом,
сравнения будут чувствительными к регистру. Один контекст, в котором Вы
будете видеть binary
, это для сжатия и функций шифрования,
которые возвращают двойные строки как правило:
mysql> SELECT COLLATION(ENCRYPT('x')), COLLATION(SHA1('x')); +-------------------------+----------------------+ | COLLATION(ENCRYPT('x')) | COLLATION(SHA1('x')) | +-------------------------+----------------------+ | binary | binary | +-------------------------+----------------------+Чтобы проверить значение сортировки строки, можно применить функцию
WEIGHT_STRING()
.
См. раздел 13.5.
Формат значений DATE
'YYYY-MM-DD'
. Согласно стандарту SQL, не разрешен никакой другой
формат. Вы должны использовать этот формат в выражениях
UPDATE
и предложениях
WHERE
оператора
SELECT
. Например:
SELECT * FROM t1 WHERE date >= '2003-05-05';Как удобство, MySQL автоматически преобразовывает дату в число, если дата используется в числовом контексте и наоборот. MySQL также разрешает строковый формат при обновлении и в предложении
WHERE
, который
сравнивает дату со столбцами DATE
, DATETIME
или
TIMESTAMP
. Этот формат
означает, что любой символ пунктуации может использоваться в качестве
разделителя между частями. Например, '2004-08-15'
эквивалентно
'2004#08#15'
. MySQL может также преобразовать строку, не
содержащую разделителей (например, '20040815'
), если это имеет
смысл как дата.
Когда Вы сравниваете DATE
,
TIME
,
DATETIME
или
TIMESTAMP
с постоянной строкой
с помощью операторов <
, <=
,
=
, >=
, >
или
BETWEEN
, MySQL обычно преобразовывает строку во внутреннее
длинное целое для более быстрого сравнения. Однако, это преобразование
подвергается следующим исключениям:
Когда Вы сравниваете два столбца.
DATE
, TIME
,
DATETIME
или
TIMESTAMP
с выражением.IN
или
STRCMP()
.Для этих исключений сравнение сделано, преобразовывая объекты в строки и выполняя строковое сравнение.
Для безопасности предположите, что строки сравнены как строки и используют соответствующие строковые функции, если Вы хотите сравнить временное значение со строкой.
Специальная нулевая дата '0000-00-00'
может быть
сохранена и получена как '0000-00-00'
. Когда дата
'0000-00-00'
используется через Connector/ODBC, она
автоматически преобразована в NULL
, потому что ODBC не может
обработать такую дату.
Поскольку MySQL выполняет только описанные преобразования, следующие
запросы работают (считается, что idate
столбец типа
DATE
):
INSERT INTO t1 (idate) VALUES (19970505); INSERT INTO t1 (idate) VALUES ('19970505'); INSERT INTO t1 (idate) VALUES ('97-05-05'); INSERT INTO t1 (idate) VALUES ('1997.05.05'); INSERT INTO t1 (idate) VALUES ('1997 05 05'); INSERT INTO t1 (idate) VALUES ('0000-00-00'); SELECT idate FROM t1 WHERE idate >= '1997-05-05'; SELECT idate FROM t1 WHERE idate >= 19970505; SELECT MOD(idate,100) FROM t1 WHERE idate >= 19970505; SELECT idate FROM t1 WHERE idate >= '19970505';Однако, следующий запрос не работает:
SELECT idate FROM t1 WHERE STRCMP(idate,'20030505')=0;
STRCMP()
строковая функция, таким образом, это преобразовывает idate
в
строку в формате 'YYYY-MM-DD'
и выполняет строковое сравнение.
Это не преобразовывает '20030505'
в дату '2003-05-05'
и выполняет сравнение даты.
Если Вы включаете режим SQL
ALLOW_INVALID_DATES
, MySQL разрешает Вам хранить даты, которые прошли только
ограниченную проверку: MySQL требует только, чтобы день был в диапазоне от 1
до 31, и месяц находится в диапазоне от 1 до 12. Это делает MySQL очень
удобным для Веб-приложений, где Вы получаете год, месяц и день в трех
различных полях и хотите сохранить точно, что пользователь вставил (без
проверки допустимости даты).
MySQL разрешает Вам хранить даты, где день или месяц и день ноль. Это
удобно, если Вы хотите сохранить дату рождения в столбец
DATE
и знаете только часть
даты. Чтобы отвергнуть нулевые части месяца или дня в датах, включите режим
NO_ZERO_IN_DATE
.
MySQL разрешает Вам хранить значение ноля
('0000-00-00'
). Это в некоторых случаях более удобно, чем
использование значений NULL
. Если дата, которая будет сохранена
в столбце DATE
не может быть
преобразована ни в какое разумное значение, MySQL запишет
'0000-00-00'
. Чтобы запретить '0000-00-00'
,
включите режим NO_ZERO_DATE
.
Сделать, чтобы MySQL проверил все даты и принял только легальные даты
(если не переопределено IGNORE
) можно, задав системной
переменной sql_mode
значение "NO_ZERO_IN_DATE,NO_ZERO_DATE"
.
Понятие значения NULL
общий источник беспорядка для новичков
в SQL, которые часто думают, что NULL
та же самая вещь, что и
пустая строка ''
. Дело обстоит не так. Например, следующие
запросы абсолютно отличаются:
mysql> INSERT INTO my_table (phone) VALUES (NULL); mysql> INSERT INTO my_table (phone) VALUES ('');Оба запроса вставляют значение в столбец
phone
, но первый
вставляет значение NULL
, а второй пустую строку. Значение
первого может быть расценено как "номер телефона неизвестен", а
второго как "человек, как известно, не имеет никакого телефона, и таким
образом никакого телефонного номера". Разница есть?
Для помощи с обработкой NULL
Вы можете использовать операторы
IS NULL
и
IS NOT NULL
, а
также функцию IFNULL()
.
В SQL значение NULL
никогда не истина по сравнению с любым
другим значением, даже с NULL
. Выражение, которое содержит
NULL
всегда производит NULL
, если иное не
обозначено явно в документации для операторов и функций, вовлеченных в
выражение. Все столбцы в следующем примере будут NULL
:
mysql> SELECT NULL, 1+NULL, CONCAT('Invisible',NULL);Чтобы искать значения столбцов, которые являются
NULL
, Вы не
можете использовать тест expr = NULL
. Следующее выражение не
возвращает строк, потому что expr = NULL
никогда не истина
для любого выражения:
mysql> SELECT * FROM my_table WHERE phone = NULL;Чтобы найти значения
NULL
, Вы должны использовать тест
IS NULL
. Следующие
запросы показывают, как найти телефонный номер NULL
и пустой номер телефона:
mysql> SELECT * FROM my_table WHERE phone IS NULL; mysql> SELECT * FROM my_table WHERE phone = '';
Вы можете добавить индекс на столбце, который может иметь значения
NULL
, если Вы используете механизм хранения
MyISAM
, InnoDB
или MEMORY
. Иначе Вы
должны объявить индексированный столбец NOT NULL
и Вы не можете
вставить в него NULL
.
При чтении данных с помощью
LOAD DATA INFILE
пустые или
недостающие столбцы обновлены с значением ''
. Чтобы загрузить
значение NULL
в столбец, используйте в файле данных
\N
. Буквальное слово NULL
также может
использоваться при некоторых обстоятельствах. См.
раздел 14.2.6.
Используя DISTINCT
, GROUP BY
или ORDER
BY
, все значения NULL
расценены как равные.
Используя ORDER BY
, значения NULL
представлены
сначала, или последними, если Вы определяете DESC
.
Агрегатные функции (COUNT()
, MIN()
и
SUM()
) значения
NULL
игнорируют. Исключение:
COUNT(*)
, которая считает строки, а не отдельные значения
столбцов. Например, следующий запрос производит два результата. Первым
является количество строк в таблице, вторым является количество значений
не-NULL
в столбце age
:
mysql> SELECT COUNT(*), COUNT(age) FROM person;
Для некоторых типов данных, дескрипторов MySQL, значения NULL
особенны. Если Вы вставляете NULL
в столбец
TIMESTAMP
, реально вставятся
текущие дата и время. Если Вы вставляете NULL
в столбец целого
числа или с плавающей запятой, который имеет атрибут AUTO_INCREMENT
, следующее число в последовательности будет вставлено.
Псевдоним может использоваться в запросе, чтобы дать столбцу другое имя.
Вы можете использовать псевдоним в GROUP BY
, ORDER BY
или HAVING
, чтобы обратиться к столбцу:
SELECT SQRT(a*b) AS root FROMСтандартный SQL отвергает ссылки на псевдонимы столбца в предложенииtbl_name
GROUP BY root HAVING root > 0; SELECT id, COUNT(*) AS cnt FROMtbl_name
GROUP BY id HAVING cnt > 0; SELECT id AS 'Customer identity' FROMtbl_name
;
WHERE
. Это ограничение введено потому, что когда
WHERE
оценивается, значение столбца еще не могло быть
определено. Например, следующий запрос незаконен:
SELECT id, COUNT(*) AS cnt FROM tbl_name
WHERE cnt > 0 GROUP BY id;
Предложение WHERE
определяет, какие строки должны быть включены
в предложение GROUP BY
, но это обращается к псевдониму значения
столбца, которое неизвестно, пока строки не будут выбраны и сгруппированы с
помощью GROUP BY
.
В списке выбора запроса заключенный в кавычки псевдоним столбца может быть определен, используя идентификатор или строковые символы заключения в кавычки:
SELECT 1 AS `one`, 2 AS 'two';В другом месте в запросе заключенные в кавычки ссылки на псевдоним должны использовать заключение в кавычки идентификатора, или ссылка будет обработана как буквальная строка. Например, этот запрос группирует значения в столбце
id
, на который ссылаются, псевдонимом `a`
:
SELECT id AS 'a', COUNT(*) AS cnt FROM tbl_name
GROUP BY `a`;
Но этот запрос группирует буквальной строкой 'a'
и не будет
работать как ожидалось:
SELECT id AS 'a', COUNT(*) AS cnt FROM tbl_name
GROUP BY 'a';
Если Вы получаете следующее сообщение, пытаясь выполнить
ROLLBACK
, это означает, что одна
или больше таблиц, которые Вы использовали, не поддерживают транзакции:
Warning: Some non-transactional changed tables couldn't be rolled backЭти таблицы не затронуты командой
ROLLBACK
.
Если Вы сознательно не смешивали транзакционные и нетранзакционные таблицы
в пределах транзакции, наиболее вероятная причина для этого сообщения состоит
в том, что таблица, которая, как Вы думали, была транзакционной, таковой на
деле не оказалась. Это может произойти, если Вы пытаетесь составить таблицу,
используя транзакционный механизм хранения, который не поддержан Вашим
сервером mysqld
(или это было отключено с опцией запуска). Если
mysqld
не поддерживает механизм хранения, он вместо этого составляет таблицу как
MyISAM
, которая является нетранзакционной.
Вы можете проверить механизм хранения таблицы при использовании любого из этих запросов:
SHOW TABLE STATUS LIKE 'См. разделы 14.7.5.36 и 14.7.5.10.tbl_name
'; SHOW CREATE TABLEtbl_name
;
Чтобы проверить, какие механизмы хранения Ваш mysqld поддерживает, используйте этот запрос:
SHOW ENGINES;См. раздел 14.7.5.16.
Если полная длина запроса DELETE
для related_table
превышает 1MB (значение по умолчанию системной
переменной
max_allowed_packet
), Вы должны разделить это на меньшие части и
выполнить много запросов DELETE
.
Вы, вероятно, получаете самый быстрый DELETE
определяя только от 100 до 1000 значений
related_column
в запросе, если related_column
индексирован. Если related_column
не индексирован, скорость
независима от числа параметров в IN
.
Если у Вас есть сложный запрос, который использует много таблиц, но не возвращает строк, Вы должны использовать следующую процедуру, чтобы узнать, что не так:
Проверьте запрос с
EXPLAIN
, чтобы выяснить, можете ли Вы найти что-то очевидно
неправильное. См. раздел 14.8.2.
WHERE
.LIMIT 10
с этим запросом.SELECT
для столбца,
который должен был соответствовать строке таблицы, которая была последней
удалена из запроса.FLOAT
или
DOUBLE
с
десятичными числами, Вы не можете использовать равенство
(=
). Эта проблема распространена в большинстве машинных языков,
потому что не все значения с плавающей запятой могут быть сохранены точно.
В некоторых случаях изменение
FLOAT
на DOUBLE
поправит дело. См.
раздел B.5.4.8.mysql test <
query.sql
, это показывает Ваши проблемы. Вы можете создать
испытательный файл, выводя таблицы с
mysqldump --quick db_name
tbl_name_1
... tbl_name_n
>
query.sql. Откройте файл в редакторе, удалите некоторые
строки (если там более, чем необходимо, чтобы продемонстрировать проблему),
и добавьте Ваш запрос SELECT
в
конце тестового файла.
Проверьте, что испытательный файл демонстрирует проблему, выполняя эти команды:
shell> mysqladmin create test2 shell> mysql test2 < query.sqlПрисоедините испытательный файл к отчету об ошибках, который Вы можете зарегистрировать, используя инструкции в разделе 1.7.
Числа с плавающей запятой иногда вызывают беспорядок, потому что они
приблизительны и не сохраненные как точные значения. Значение с плавающей
запятой как записано в запросе SQL возможно, не то же самое значение,
которое представлено внутренне. Попытки обработать значения с плавающей
запятой как точные в сравнениях могут привести к проблемам. Они также
подвергаются зависимостям от платформы. Типы данных
FLOAT
и
DOUBLE
подвергаются этим проблемам. Для столбцов
DECIMAL
MySQL
выполняет операции с точностью 65 десятичных цифр, которые должны решить
наиболее распространенные проблемы погрешности.
Следующее использование в качестве примера
DOUBLE
показывает,
как вычисления, которые сделаны, используя операции с плавающей запятой,
приводят к ошибке с плавающей запятой.
mysql> CREATE TABLE t1 (i INT, d1 DOUBLE, d2 DOUBLE); mysql> INSERT INTO t1 VALUES (1, 101.40, 21.40), (1, -80.00, 0.00), -> (2, 0.00, 0.00), (2, -13.20, 0.00), (2, 59.60, 46.40), -> (2, 30.40, 30.40), (3, 37.00, 7.40), (3, -29.60, 0.00), -> (4, 60.00, 15.40), (4, -10.60, 0.00), (4, -34.00, 0.00), -> (5, 33.00, 0.00), (5, -25.80, 0.00), (5, 0.00, 7.20), -> (6, 0.00, 0.00), (6, -51.40, 0.00); mysql> SELECT i, SUM(d1) AS a, SUM(d2) AS b -> FROM t1 GROUP BY i HAVING a <> b; +--+------+------+ | i| a | b | +--+------+------+ |1 | 21.4 | 21.4 | |2 | 76.8 | 76.8 | |3 | 7.4 | 7.4 | |4 | 15.4 | 15.4 | |5 | 7.2 | 7.2 | |6 |-51.4 | 0 | +--+------+------+Результат правилен. Хотя первые пять записей, похоже, не должны удовлетворить сравнение (значения
a
и b
не отличаются), они могут
сделать это, потому что различие между числами обнаруживается после десятого
знака или в зависимости от факторов, таких как архитектура системы, версия
компилятора или уровень оптимизации. Например, различные центральные
процессоры могут оценить числа с плавающей запятой по-другому.
Если столбцы d1
и d2
определены как
DECIMAL
вместо
DOUBLE
,
результат запроса SELECT
содержал бы только одну строку: последнюю из показанных выше.
Правильный способ сделать сравнение числа с плавающей запятой состоит в том, чтобы сначала выбрать приемлемую терпимость к различиям между числами и затем сделать сравнение со значением терпимости. Например, если мы соглашаемся, что числа с плавающей запятой должны быть расценены как равные, если они равны в пределах точности одной десятитысячной (0.0001), сравнение должно быть написано, чтобы найти различия большие, чем значение терпимости:
mysql> SELECT i, SUM(d1) AS a, SUM(d2) AS b FROM t1 -> GROUP BY i HAVING ABS(a - b) > 0.0001; +--+-------+---+ | i| a | b | +--+-------+---+ |6 | -51.4 | 0 | +--+-------+---+ 1 row in set (0.00 sec)Наоборот, чтобы получить строки, где числа те же самые, тест должен найти различия в пределах значения терпимости:
mysql> SELECT i, SUM(d1) AS a, SUM(d2) AS b FROM t1 -> GROUP BY i HAVING ABS(a - b) <= 0.0001; +--+------+------+ | i| a | b | +--+------+------+ |1 | 21.4 | 21.4 | |2 | 76.8 | 76.8 | |3 | 7.4 | 7.4 | |4 | 15.4 | 15.4 | |5 | 7.2 | 7.2 | +--+------+------+ 5 rows in set (0.03 sec)Значения с плавающей запятой подвергаются зависимостям от среды выполнения или платформы. Предположите, что Вы выполняете следующие запросы:
CREATE TABLE t1(c1 FLOAT(53,0), c2 FLOAT(53,0)); INSERT INTO t1 VALUES('1e+52','-1e+52'); SELECT * FROM t1;На некоторых платформах
SELECT
вернет inf
и
-inf
. На других это возвращает
0
и -0
.
Значение предыдущих проблем: если Вы пытаетесь создать ведомое устройство репликации, выводя табличное содержание с mysqldump на ведущем устройстве и перезагружая файл дампа в ведомое устройство, таблицы, содержащие столбцы с плавающей запятой, могут отличаться между двумя хостами.
MySQL использует оптимизатор на основе издержек, чтобы определить лучший способ решить запрос. Во многих случаях, MySQL может вычислить самый лучший план запроса, но иногда MySQL не имеет достаточной информации о данных и должен сделать предположения о данных.
Для случаев, когда MySQL не делает "правильной" вещи, есть инструменты, которые могут помочь MySQL:
Используйте оператор EXPLAIN
, чтобы получить информацию о том, как MySQL обрабатывает запрос.
Чтобы использовать это, только добавьте ключевое слово
EXPLAIN
в начало Вашего
запроса SELECT
:
mysql> EXPLAIN SELECT * FROM t1, t2 WHERE t1.i = t2.i;
ANALYZE TABLE tbl_name
,
чтобы обновить ключевые распределения для просмотренной таблицы. См.
раздел 14.7.2.1.FORCE INDEX
, чтобы сказать MySQL, что
сканирование таблицы очень дорого по сравнению с использованием индекса:
SELECT * FROM t1, t2 FORCE INDEX (index_for_column) WHERE t1.col_name=t2.col_name;
USE INDEX
и IGNORE INDEX
также могут быть полезны.
См. раздел 9.9.4.STRAIGHT_JOIN
. См.
раздел 14.2.9.--max-seeks-for-key=1000
или используйте SET max_seeks_for_key=1000
, чтобы
сказать оптимизатору предположить, что никакой ключевой просмотр не
просмотрит больше, чем 1000 ключей. См.
раздел 6.1.5.Если Вы получаете дублирования ключа, используя
ALTER TABLE
, чтобы изменить
набор символов или сопоставление символьного столбца, причина в том, что
новое сопоставление столбца отображает два ключа на то же самое значение или
таблица повреждена. В последнем случае Вы должны запустить
REPAIR TABLE
на таблице.
REPAIR TABLE
работает для
таблиц MyISAM
, ARCHIVE
и CSV
.
Если Вы используете ALTER TABLE
на транзакционной таблице или если Вы используете Windows,
ALTER TABLE
разблокирует
таблицу, если Вы сделали LOCK TABLE
для нее. Это сделано потому что InnoDB
и эти
операционные системы не могут удалить таблицу, которая используется.
Следующий список указывает ограничения на использование таблиц
TEMPORARY
:
Таблица TEMPORARY
может иметь типы только
MEMORY
, MyISAM
,
MERGE
или InnoDB
.
TEMPORARY
несколько раз в том же самом запросе. Например, следующее не работает:
mysql> SELECT * FROM temp_table, temp_table AS t2; ERROR 1137: Can't reopen table: 'temp_table'Эта ошибка также происходит, если Вы обращаетесь к временной таблице многократно в сохраненной функции под различными псевдонимами, даже если ссылки происходят в различных запросах в пределах функции.
SHOW TABLES
не перечисляет таблицы TEMPORARY
.RENAME
, чтобы переименовать
таблицу TEMPORARY
. Однако, Вы можете использовать
ALTER TABLE
:
mysql> ALTER TABLE orig_name RENAME new_name;
ERROR 1137: Can't reopen table: 'temp_table
'
Этот раздел перечисляет известные проблемы в недавних версиях MySQL.
Для информации о специфических вопросах платформы, см. разделы 2.1 и 26.5.
Следующие проблемы известны:
Оптимизация подзапроса для IN
не столь
эффективна, как для =
.
lower_case_table_names=2
(что позволяет MySQL помнить случай, используемый для баз данных и имен
таблиц), MySQL не помнит случай, используемый для имен базы данных для
функции DATABASE()
или в разных журналах (на нечувствительных к регистру системах).FOREIGN KEY
не работает в репликации,
потому что у ограничения может быть другое имя на ведомом устройстве.REPLACE
(и
LOAD DATA
с опцией
REPLACE
) не вызывает триггер
ON DELETE CASCADE
.DISTINCT
с ORDER BY
не работает внутри
GROUP_CONCAT()
,
если Вы не используете все и только те столбцы, которые
находятся в списке DISTINCT
.Например:
Запросы CREATE
TABLE ... SELECT
или INSERT
... SELECT
, которые вставляют ноль или значение
NULL
в столбец AUTO_INCREMENT
.
DELETE
, если Вы удаляете строки
из таблицы, у которой есть внешние ключи со свойством
ON DELETE CASCADE
.REPLACE ... SELECT
,
INSERT IGNORE ... SELECT
, если у Вас есть двойные значения ключа
во вставленных данных.Если и только если предыдущие запросы не имеют предложения
ORDER BY
, гарантирующего детерминированный порядок
.
Например, для INSERT ...
SELECT
без ORDER BY
SELECT
может возвратить строки в
разном порядке, в зависимости от выбора, сделанного оптимизаторами на
ведущем и ведомом устройствах. Приведет это к разным значениями в столбце
AUTO_INCREMENT
на разных системах.
Запрос оптимизирован по-другому на ведущем и ведомом устройствах только если:
Таблица сохранена, используя различные механизмы хранения на
ведущем и ведомом устройстве. Возможно использовать различные механизмы
хранения в этой ситуации. Например, Вы можете использовать
InnoDB
на ведущем, но MyISAM
на ведомом, если у
ведомого устройства есть меньше доступного дискового пространства.
key_buffer_size
и т.п. на ведущем и ведомом устройствах по-разному.Эта проблема может также затронуть восстановление базы данных, используя mysqlbinlog|mysql.
Самый легкий способ избежать этой проблемы состоит в том, чтобы добавить
ORDER BY
к вышеупомянутым недетерминированным запросам, чтобы
гарантировать, что строки всегда сохранены или изменяются в том же самом
порядке. Использование основанного на строке или смешанного формата
журналирования также избегает проблемы.
--log-bin=old_host_name
-bin
.
См. раздел 6.1.4. Альтернативно,
переименуйте старые файлы, чтобы отразить Ваше изменение имени хоста. Если
они двоичные журналы, Вы должны отредактировать индексный файл журнала и
установить имена файлов системного журнала также и там.LOAD DATA INFILE
. См.
раздел 5.6.8.RENAME
не работает с таблицами TEMPORARY
или с
таблицами, примененными в MERGE
.SET CHARACTER SET
, Вы не можете использовать
преобразованные символы в именах базы данных, таблицы и столбцов._
или %
с
ESCAPE
в LIKE ... ESCAPE
.max_sort_length
байт, сравнивая значения данных. Это означает, что значения не могут
достоверно использоваться в GROUP BY
,
ORDER BY
или DISTINCT
, если они отличаются только
после первых
max_sort_length
байтов. Чтобы обойти это, увеличьте значение
переменной. Значение по умолчанию 1024, оно может быть изменено во время
запуска или выполнения сервера.BIGINT
или
DOUBLE
(оба обычно 64 бита длиной). Точность, которую Вы получаете, зависит от
функции. Общее правило состоит в том, что разрядные функции выполнены с
BIGINT
,
IF()
и
ELT()
с
BIGINT
или
DOUBLE
, а остальные
с DOUBLE
. Вы должны
попытаться избегать использования значений unsigned long long, если они могут
быть больше, чем 63 бита (9223372036854775807) для чего-нибудь,
кроме битовых полей.ENUM
и SET
в одной таблице.
MIN()
,
MAX()
и других совокупных
функциях MySQL в настоящее время сравнивает столбцы
ENUM
и
SET
их строковым значением, а не
относительной позицией строки в наборе.UPDATE
столбцы обновлены
слева направо. Если Вы обращаетесь к обновленному столбцу, Вы получаете
обновленное значение вместо оригинального значения. Например, следующии
запрос увеличивает KEY
на 2
, а
не на 1
:
mysql> UPDATE tbl_name
SET KEY=KEY+1,KEY=KEY+1;
mysql> SELECT * FROM temp_table, temp_table AS t2; ERROR 1137: Can't reopen table: 'temp_table'
DISTINCT
по-другому, когда Вы
используете столбцы hidden в join. В join столбцы
hidden посчитаны как часть результата (даже если их не показывают), тогда как
в нормальных запросах, такие столбцы не участвуют в сравнении DISTINCT
.
Пример этого:
SELECT DISTINCT mp3id FROM band_downloads WHERE userid = 9 ORDER BY id DESC;и
SELECT DISTINCT band_downloads.mp3id FROM band_downloads, band_mp3 WHERE band_downloads.userid = 9 AND band_mp3.id = band_downloads.mp3id ORDER BY band_downloads.id DESC;Во втором случае Вы можете получить две идентичных строки в наборе результатов (потому что значения в скрытом столбце
id
могут отличаться).
Отметьте, что это происходит только для запросов, которые не имеют
столбцов ORDER BY
в результате.
PROCEDURE
на запросе, который возвращает
пустой набор, в некоторых случаях PROCEDURE
не преобразовывает столбцы.MERGE
не проверяет, являются ли
основные таблицы совместимыми типами.ALTER TABLE
, чтобы добавить UNIQUE
индекс к таблице,
используемой в таблице MERGE
и затем добавляете нормальный
индекс к таблице MERGE
, ключевой порядок отличается для таблиц,
если были старые, не-UNIQUE
ключи в таблице. Это потому, что
ALTER TABLE
помещает индексы
UNIQUE
прежде нормальных, чтобы быть в состоянии обнаружить
дубликаты ключа как можно раньше.