Это приложение перечисляет типичные проблемы и ошибки, которые могут произойти и потенциальные решения, в дополнение к перечислению ошибок, которые могут появиться, когда Вы вызываете 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_nameTZ прежде, чем Вы запустите
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_nameCOLLATE latin1_general_cs LIKE 'a%'col_nameLIKE 'a%' COLLATE latin1_general_cscol_nameCOLLATE latin1_bin LIKE 'a%'col_nameLIKE '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_nameGROUP BY root HAVING root > 0; SELECT id, COUNT(*) AS cnt FROMtbl_nameGROUP 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 прежде нормальных, чтобы быть в состоянии обнаружить
дубликаты ключа как можно раньше.