Linux 安裝 MySQL 後必須手動初始化(Windows 安裝包預置初始化資料目錄)。本文解析 mysql_install_db.sh 核心邏輯,提供手動初始化完整步驟、驗證方法與常見場景應對。
mysql 系統資料庫(授權表、幫助表、時區表等)mysqld 守護進程,接受連線data/ 目錄,安裝即可用mysql_install_db.sh 腳本執行初始化# 核心流程
{ echo "use mysql;"; cat $create_system_tables $fill_system_tables; } | \
$filter_cmd | $mysqld_install_cmd > /dev/null
# $mysqld_install_cmd = "mysqld --bootstrap"
# $create_system_tables = mysql_system_tables.sql
# $fill_system_tables = mysql_system_tables_data.sql
# $fill_help_tables = fill_help_tables.sql
basedir(如 /opt/mysql-5.1.40)、datadir(如 /var/db/mysql)mkdir -p /var/db/mysql /var/db/mysql/mysql$basedir/share/ 複製 mysql_system_tables.sql、mysql_system_tables_data.sql、fill_help_tables.sql 至 /tmp,各檔案首行插入 USE mysql;/opt/mysql-5.1.40/bin/mysqld --bootstrap --console < /tmp/mysql_system_tables.sql
/opt/mysql-5.1.40/bin/mysqld --bootstrap --console < /tmp/mysql_system_tables_data.sql
/opt/mysql-5.1.40/bin/mysqld --bootstrap --console < /tmp/fill_help_tables.sql/opt/mysql-5.1.40/bin/mysqld_safe & 或 systemctl start mysqld/opt/mysql-5.1.40/bin/mysql -u root 進入 CLI,執行 SHOW DATABASES; 應見 mysql、test/opt/mysql-5.1.40/bin/mysqladmin -u root shutdown
掌握手動初始化流程,能在無腳本環境(如 Windows、容器、嵌入式)快速建立可用 MySQL 實例。