mirror of
https://github.com/usmannasir/cyberpanel.git
synced 2026-02-01 12:19:09 +01:00
Delete MARIADB_INSTALLATION_FIXES.md
This commit is contained in:
@@ -1,88 +0,0 @@
|
||||
# MariaDB Installation Fixes
|
||||
|
||||
## Issues Fixed
|
||||
|
||||
### 1. MariaDB-server-compat Package Conflict
|
||||
**Problem**: `MariaDB-server-compat-12.1.2-1.el9.noarch` was conflicting with MariaDB 10.11 installation, causing transaction test errors.
|
||||
|
||||
**Solution**:
|
||||
- Enhanced compat package removal with multiple aggressive removal attempts
|
||||
- Added `--allowerasing` flag to dnf remove commands
|
||||
- Added dnf exclude configuration to prevent compat package reinstallation
|
||||
- Verification step to ensure all compat packages are removed before installation
|
||||
|
||||
**Files Modified**:
|
||||
- `cyberpanel-repo/plogical/upgrade.py` - `fix_almalinux9_mariadb()` function
|
||||
- `cyberpanel-repo/install/install.py` - `installMySQL()` function
|
||||
|
||||
### 2. MySQL Command Not Found Error
|
||||
**Problem**: After MariaDB installation failed, the `changeMYSQLRootPassword()` function tried to use the `mysql` command which didn't exist, causing `FileNotFoundError`.
|
||||
|
||||
**Solution**:
|
||||
- Added verification that MariaDB binaries exist before attempting password change
|
||||
- Added check for mysql/mariadb command availability
|
||||
- Added MariaDB service status verification before password change
|
||||
- Added wait time for MariaDB to be ready after service start
|
||||
|
||||
**Files Modified**:
|
||||
- `cyberpanel-repo/install/install.py` - `changeMYSQLRootPassword()` function
|
||||
- `cyberpanel-repo/install/install.py` - `installMySQL()` function
|
||||
|
||||
### 3. MariaDB Installation Verification
|
||||
**Problem**: Installation was proceeding even when MariaDB wasn't actually installed successfully.
|
||||
|
||||
**Solution**:
|
||||
- Added binary existence check after installation
|
||||
- Added service status verification
|
||||
- Added proper error handling and return values
|
||||
- Installation now fails gracefully if MariaDB wasn't installed
|
||||
|
||||
**Files Modified**:
|
||||
- `cyberpanel-repo/plogical/upgrade.py` - `fix_almalinux9_mariadb()` function
|
||||
- `cyberpanel-repo/install/install.py` - `installMySQL()` function
|
||||
|
||||
## Changes Made
|
||||
|
||||
### upgrade.py
|
||||
1. **Enhanced compat package removal**:
|
||||
- Multiple removal attempts (dnf remove, rpm -e, individual package removal)
|
||||
- Added `--allowerasing` flag
|
||||
- Added dnf exclude configuration
|
||||
- Verification step
|
||||
|
||||
2. **Improved MariaDB installation**:
|
||||
- Added `--exclude='MariaDB-server-compat*'` to dnf install command
|
||||
- Added fallback with `--allowerasing` if conflicts occur
|
||||
- Added binary existence verification after installation
|
||||
- Proper error handling and return values
|
||||
|
||||
### install.py
|
||||
1. **Enhanced compat package removal** (same as upgrade.py)
|
||||
|
||||
2. **Improved installation verification**:
|
||||
- Check for MariaDB binaries after installation
|
||||
- Verify service is running before password change
|
||||
- Added wait time for service to be ready
|
||||
- Proper error handling
|
||||
|
||||
3. **Improved password change function**:
|
||||
- Verify mysql/mariadb command exists before attempting password change
|
||||
- Better error messages
|
||||
- Graceful failure handling
|
||||
|
||||
## Testing Recommendations
|
||||
|
||||
1. Test on clean AlmaLinux 9 system
|
||||
2. Test with existing MariaDB-server-compat package installed
|
||||
3. Test with MariaDB 10.x already installed
|
||||
4. Test with MariaDB 12.x already installed
|
||||
5. Verify MariaDB service starts correctly
|
||||
6. Verify mysql/mariadb commands are available
|
||||
7. Verify password change succeeds
|
||||
|
||||
## Notes
|
||||
|
||||
- The fixes maintain backward compatibility
|
||||
- All changes include proper error handling
|
||||
- Installation now fails gracefully with clear error messages
|
||||
- Compat package removal is more aggressive to handle edge cases
|
||||
Reference in New Issue
Block a user