Description:
I have a docker compose file with this configuration for mysql
mysql:
image: mysql:8.0.35
container_name: mysql
command: --default-authentication-plugin=mysql_native_password --character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci
restart: always
ports:
- "3306:3306"
expose:
- 3306
environment:
- MYSQL_ROOT_PASSWORD=${MYSQL_PASSWORD}
volumes:
- mysql-data:/var/lib/mysql
- ./volumes/mysql/conf:/etc/mysql/conf.d
- ./volumes/mysql/init:/docker-entrypoint-initdb.d
healthcheck:
test: mysqladmin ping -h 127.0.0.1 -u $$MYSQL_USER --password=$$MYSQL_PASSWORD
start_period: 10s
interval: 30s
timeout: 30s
retries: 15
networks:
- public-network
and another image that performs a mysqldump every night,
there is a database with a big table that contains files called ApplicationData Content, when I try to do a dump for this database I'm getting this errors:
==> Dumping database: priolo_webapp
mysqldump: Error 2026: TLS/SSL error: unexpected eof while reading when dumping table `ApplicationFileContent` at row: 45
==> Dumping database: sigein_webapp
mysqldump: Got error: 2002: "Can't connect to server on 'mysql' (115)" when trying to connect
==> Dumping database: venoil_webapp
mysqldump: Got error: 2002: "Can't connect to server on 'mysql' (115)" when trying to connect
=> MySql Backup process finished at 2024-04-07 06:00:59
these are the mysql logs:
S[ w - | ?^ x a 1 o + hZ^1# ( @ @g ) [ f]1S( e8c ^ 1 ' ^1 d Jx %M " . (m 8(l @ J #M : " F f ( != "," U g 3 (@ /= 8" 1 (% 8( @ k -= qNS] r( 8i c +- o^ A' Z8j &D wd&F ;
InnoDB: End of page dump
2024-04-07T22:02:09.296214Z 8 [ERROR] [MY-011899] [InnoDB] [FATAL] Unable to read page [page id: space=2784, page number=5653] into the buffer pool after 100 attempts. The most probable cause of this error may be that the table has been corrupted. Or, the table was compressed with with an algorithm that is not supported by this instance. If it is not a decompress failure, you can try to fix this problem by using innodb_force_recovery. Please see http://dev.mysql.com/doc/refman/8.0/en/ for more details. Aborting...
2024-04-07T22:02:09.296237Z 8 [ERROR] [MY-013183] [InnoDB] Assertion failure: buf0buf.cc:4054:ib::fatal triggered thread 140614552221440
InnoDB: We intentionally generate a memory trap.
InnoDB: Submit a detailed bug report to http://bugs.mysql.com.
InnoDB: If you get repeated assertion failures or crashes, even
InnoDB: immediately after the mysqld startup, there may be
InnoDB: corruption in the InnoDB tablespace. Please refer to
InnoDB: http://dev.mysql.com/doc/refman/8.0/en/forcing-innodb-recovery.html
InnoDB: about forcing recovery.
2024-04-07T22:02:09Z UTC - mysqld got signal 6 ;
Most likely, you have hit a bug, but this error can also be caused by malfunctioning hardware.
BuildID[sha1]=e3f5f5708a91d873f150de7f5a4fb28bbc5f4632
Thread pointer: 0x7fe2ec000fc0
Attempting backtrace. You can use the following information to find out
where mysqld died. If you see no messages after this, something went
terribly wrong...
stack_bottom = 7fe3606f6c10 thread_stack 0x100000
/usr/sbin/mysqld(my_print_stacktrace(unsigned char const*, unsigned long)+0x41) [0x2133971]
/usr/sbin/mysqld(print_fatal_signal(int)+0x2a2) [0xfef532]
/usr/sbin/mysqld(my_server_abort()+0x75) [0xfef775]
/usr/sbin/mysqld(my_abort()+0xe) [0x212d80e]
/usr/sbin/mysqld(ut_dbg_assertion_failed(char const*, char const*, unsigned long)+0x309) [0x237e859]
/usr/sbin/mysqld(ib::fatal::~fatal()+0xcf) [0x238119f]
/usr/sbin/mysqld(Buf_fetch<Buf_fetch_normal>::read_page()+0x1b7) [0x23d8f77]
/usr/sbin/mysqld(Buf_fetch_normal::get(buf_block_t*&)+0x108) [0x23e3a58]
/usr/sbin/mysqld(Buf_fetch<Buf_fetch_normal>::single_page()+0x4e) [0x23e3b2e]
/usr/sbin/mysqld(buf_page_get_gen(page_id_t const&, page_size_t const&, unsigned long, buf_block_t*, Page_fetch, ut::Location, mtr_t*, bool)+0x1fa) [0x23e4a4a]
/usr/sbin/mysqld(lob::read(lob::ReadContext*, lob::ref_t, unsigned long, unsigned long, unsigned char*)+0x5fc) [0x255619c]
/usr/sbin/mysqld(lob::btr_copy_externally_stored_field_func(trx_t*, dict_index_t const*, unsigned long*, unsigned long*, unsigned char const*, page_size_t const&, unsigned long, mem_block_info_t*)+0x125) [0x21f1925]
/usr/sbin/mysqld(lob::btr_rec_copy_externally_stored_field_func(trx_t*, dict_index_t const*, unsigned char const*, unsigned long const*, page_size_t const&, unsigned long, unsigned long*, unsigned long*, mem_block_info_t*, bool)+0xcf) [0x21f1b6f]
/usr/sbin/mysqld() [0x22f528d]
/usr/sbin/mysqld(row_sel_store_mysql_rec(unsigned char*, row_prebuilt_t*, unsigned char const*, dtuple_t const*, bool, dict_index_t const*, dict_index_t const*, unsigned long const*, bool, lob::undo_vers_t*, mem_block_info_t*&)+0x2e8) [0x22f7808]
/usr/sbin/mysqld(row_search_mvcc(unsigned char*, page_cur_mode_t, row_prebuilt_t*, unsigned long, unsigned long)+0x2e59) [0x22feb49]
/usr/sbin/mysqld(ha_innobase::general_fetch(unsigned char*, unsigned int, unsigned int)+0x110) [0x2194070]
/usr/sbin/mysqld(handler::ha_rnd_next(unsigned char*)+0x66) [0x10fcd36]
/usr/sbin/mysqld(TableScanIterator::Read()+0x79) [0x1249dc9]
/usr/sbin/mysqld(Query_expression::ExecuteIteratorQuery(THD*)+0x2f0) [0xf59910]
/usr/sbin/mysqld(Query_expression::execute(THD*)+0x30) [0xf59c80]
/usr/sbin/mysqld(Sql_cmd_dml::execute(THD*)+0x1e4) [0xee3d14]
/usr/sbin/mysqld(mysql_execute_command(THD*, bool)+0xae7) [0xe7f9e7]
/usr/sbin/mysqld(dispatch_sql_command(THD*, Parser_state*)+0x51b) [0xe831db]
/usr/sbin/mysqld(dispatch_command(THD*, COM_DATA const*, enum_server_command)+0x2351) [0xe85b21]
/usr/sbin/mysqld(do_command(THD*)+0x15b) [0xe8669b]
/usr/sbin/mysqld() [0xfdf748]
/usr/sbin/mysqld() [0x2846ab4]
/lib64/libpthread.so.0(+0x81da) [0x7fe37a23a1da]
/lib64/libc.so.6(clone+0x43) [0x7fe3787e8e73]
Trying to get some variables.
Some pointers may be invalid and cause the dump to abort.
Query (7fe2ec202d70): SELECT /*!40001 SQL_NO_CACHE */ `Id`, `FileContent`, `ContentType`, `CreateDate`, `FileName`, `FileSize` FROM `ApplicationFileContent`
Connection ID (thread ID): 8
Status: NOT_KILLED
The manual page at http://dev.mysql.com/doc/mysql/en/crashing.html contains
information that should help you find out what is causing the crash.
2024-04-07 22:02:15+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.0.35-1.el8 started.
2024-04-07 22:02:15+00:00 [Note] [Entrypoint]: Switching to dedicated user 'mysql'
2024-04-07 22:02:15+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.0.35-1.el8 started.
'/var/lib/mysql/mysql.sock' -> '/var/run/mysqld/mysqld.sock'
2024-04-07T22:02:15.741321Z 0 [Warning] [MY-011068] [Server] The syntax '--skip-host-cache' is deprecated and will be removed in a future release. Please use SET GLOBAL host_cache_size=0 instead.
2024-04-07T22:02:15.742850Z 0 [Warning] [MY-010918] [Server] 'default_authentication_plugin' is deprecated and will be removed in a future release. Please use authentication_policy instead.
2024-04-07T22:02:15.742877Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.35) starting as process 1
2024-04-07T22:02:15.748296Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2024-04-07T22:02:17.078122Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
How to repeat:
Add a table with a longblob column, add files bigger than 10M, try to do mysqldump of this table.