WL#9071: Remove mysql_install_db and server --bootstrap option
Affects: Server-8.0
—
Status: Complete
WL#7307 deprecated the mysql_install_db program and the server --bootstrap option in MySQL 5.7. The task for this WL is to remove mysql_install_db and the server --bootstrap option in MySQL 8.0. This WL will also remove the --install-server option that was temporarily supported to initialize the global DD while external tools still did not use mysqld --initialize. User Documentation ================== Most doc changes here involve removing docs.
There are three basic requirements: FR1. Remove the 'mysql_install_db' executable and all references to it from elsewhere. Remove associated MTR tests, unit tests, comments mentioning it, as well as additional source code used only by that executable. Rewrite 'mysqld_multi.sh' to use 'mysqld --initialize' for server initialization. FR2. Remove the '--install-server' option. As part of the global DD project, this option was introduced to let external tools initialize the DD while starting the server without using 'mysql_install_db', and without interfering with the semantics of the 'bootstrap' option. FR3. Remove the '--bootstrap' option and all references to it from elsewhere. Rewrite or remove relevant tests and comments mentioning it. FR4. Remove the 'mysql-test/lib/v1/mysql-test-run.pl' and other files in the same directory. This will remove support for MTR_VERSION 1. There are additional requirements to be implemented outside of this WL: X-FR1. Remove the man page that is generated for 'mysql_install_db'. This must be done by the docs team. Until then, we just remove the man page explicitly when building the packages to avoid errors due to inconsistency between the specified files and the actual files present. X-FR2. Remove the usage of 'mysql_install_db' in the NDB autotest code and replace it by using 'mysqld --initialize'.
1. Remove the mysql_install_db executable ----------------------------------------- 1.1 Remove the 'mysql_instal_db' executable: Remove the source file and the CMakeLists entry. 1.2 Remove additional source files and headers needed only by the 'mysql_install_db' executable. This applies to client/auth_utils.{h,cc}. 1.3 Remove tests addressing 'mysql_install_db', include files and result files. This translates into: m_i_db_common.inc, m_i_db_startsvr.inc, installdb-bad-cipher.result, m_i_db.result, installdb-bad-cipher.test and m_i_db.test. 1.4 Remove 'mysql_install_db' from the mysql-test-run.pl script. There is an environment variable defined to the executable's name, being used by the installdb-bad-cipher test listed above. 1.5 Remove the gunit test 'auth_utils-t' testing the implementation that was removed in 1.2. 1.6 Rewrite 'mysqld_multi.sh' to use 'mysqld --initialize' for server initialization. 2. Remove the '--install_server' and '--bootstrap' options ---------------------------------------------------------- 2.1 Remove the definitions of the options. 2.2 Remove the 'opt_install_server' and 'opt_bootstrap' variables and their usage. Replace by 'opt_initialize' when required. Remove the code implicitly setting 'opt_bootstrap' when 'opt_initialize' is being set. 2.3 Remove or rewrite the mtr tests addressing the option. 2.4 Update various test collection definitions where the 'bootstrap' option is used. 3. Remove 'mysql-test/lib/v1/mysql-test-run.pl' ----------------------------------------------- 3.1 Remove the entire directory 'mysql-test/lib/v1'. 3.2 Update 'mysql-test/mysql-test-run.pl' to skip calling the removed script, and print an error message stating that MTR_VERSION=1 is not supported.
Copyright (c) 2000, 2024, Oracle Corporation and/or its affiliates. All rights reserved.