Skip to main content

Upgrading from MySQL to Maria. No MariaDB upgrade option in WHM

Comments

30 comments

  • cPRex Jurassic Moderator
    Hey there! What version of MySQL are you running on the machine?
    0
  • Spirogg
    Great question @TechBill I also have a question on this topic, AlmaLinux 8.5.0 and cPanel 100.0.9 there is no option to select MariaDB at all, I switch from CentOS 7 and cPanel and just went with MySQL 8 while transferring over my cpanel accounts and its working. --- But, If we do a fresh install of AlmaLinux 8.5.0 and cPanel right now 100.0.9 or even cPanel 102 can we configure cPanel to use MariaDB 10.3 or 4 or 5 instead of MySQL 8? is there an option to do this or a way to get MariaDB to select from like before ? Kind Regards, Spiro
    0
  • TechBill
    Hey there! What version of MySQL are you running on the machine?

    I have 2 cPanel servers ... The first one it's running mySQL 5.7 and it does give me the option to upgrade to MariaDB 10.3 ot 10.5 or 10.6 (experimental) The second one is mySQL 8.0 which is the one I wanted to upgrade to MariaDB first to test it to make sure it's supported by some older php scripts before upgrading it. I do have some new php script I want to install and use however it require MariaDB. I am told that older php scripts will most likely run under MariaDB as well too since it will see it as a mySQL. I just want to test it first on the second server before upgrading the production server and the second server is showing mySQL 8 and there is no option listed to upgrade it to MariaDB on it like my first server. it seems like ti ne that once it's at mySQL 8.0 then it can't be upgrade or switch over to MariaDB and the option disappear from list.
    0
  • cPRex Jurassic Moderator
    From our docs: "You cannot upgrade MySQL 8 to MariaDB 10.x due to MariaDB"s documentation. However, system administrators can choose either MySQL or MariaDB during the cPanel & WHM installation process. For more information, read our
    0
  • cPRex Jurassic Moderator
    @TechBill - thanks for that. That would apply to your system then - once you're on MySQL 8, you can't switch to MariaDB.
    0
  • TechBill
    @TechBill - thanks for that. That would apply to your system then - once you're on MySQL 8, you can't switch to MariaDB.

    Is there a way to switch to MariaDB manually or outside of cPanel?
    0
  • cPRex Jurassic Moderator
    While I'm sure anything is possible, it probably wouldn't end well, and would cause issues. There's some pretty major internal structure changes between those versions, which is why we made it not possible. You could always create a new machine that had MariaDB from the start using the details here:
    0
  • TechBill
    While I'm sure anything is possible, it probably wouldn't end well, and would cause issues. There's some pretty major internal structure changes between those versions, which is why we made it not possible. You could always create a new machine that had MariaDB from the start using the details here:
    0
  • cPRex Jurassic Moderator
    In general, I would not expect that to work due to how the tables are structured.
    0
  • Spirogg
    From our docs: "You cannot upgrade MySQL 8 to MariaDB 10.x due to MariaDB"s documentation. However, system administrators can choose either MySQL or MariaDB during the cPanel & WHM installation process. For more information, read our
    0
  • cPRex Jurassic Moderator
    Right - you'd have to specify MariaDB before you even performed the cPanel install if you want that to happen.
    0
  • mark135uk
    " Right - you'd have to specify MariaDB before you even performed the cPanel install if you want that to happen. " How? what file do i edit to say i want mariadb instead of mysql, you cant use the whm upgrade as it 404s i saw a post saying you change a file and put mariadbxxx in place of mysql and then re install whm but i cannot find that post now
    0
  • cPRex Jurassic Moderator
    The file is /root/cpanel_profile/cpanel.config. It will not be present on a newly-installed operating system, so you'll need to create the /root/cpanel_profile/ directory and then the cpanel.config file inside it. More details on that can be found here:
    0
  • mark135uk
    hi thanks for your reply, there must be another file, i did it a few days ago on a fresh install, i never made any new docs or dirs, the file was already there
    0
  • cPRex Jurassic Moderator
    This has to be done before the cPanel installation happens. Without cPanel, /root/cpanel_profile will not exist. You'll need to ask your host for a plain AlmaLinux 8 installation, then create that directory and file, and then manually install cPanel.
    0
  • mark135uk
    i have root access, i can remove cpanel, but can you tell me what i need to put in the file please?
    0
  • cPRex Jurassic Moderator
    You can't remove cPanel - you have to install a new operating system image. In the file, you would put this: mysql-version=10.6
    0
  • mark135uk
    i am now installing centos 7 without cpanel so to confirm i make /root/cpanel_profile/cpanel.config add mysql-version=10.6 save, and then install whm/cpanel and it will install with mariadb and not mysql5.7?
    0
  • cPRex Jurassic Moderator
    That is exactly correct. I might recommend AlmaLinux 8 instead of CentOS 7 just so you have a bit longer life with that machine, but that is completely up to you.
    0
  • mark135uk
    perfect thank you, i prefer centos tbh :)
    0
  • Kent Brockman
    Right - you'd have to specify MariaDB before you even performed the cPanel install if you want that to happen.

    Rex. MySQL being defaulted to v8 is the new default from now on? No more asking about choosing MariaDB, ever? Or does this happens only on AL8? The MySQL/MariaDB should be offered as an option when you run cPanel installer without params, cause as you can see, vast majority of sysadmins didn't expexted this behaviour and you are forcing people to lose time reloading the entire OS ONCE they figure out what went wrong. I would have planned this as follow: when you run "sh latest" the script should explain that YOU MUST specify the desired version of database server, being it MySQL o MariaDB, and that you won't be able to migrate from one to the other once cPanel is installed. So please rerun installer using one of the possible parameters:
    • sh latest mysql
    • sh latest mariadb
    Want to use nicer parameters, be my guest. This should be obvious, you should file an internal case and it should be super easy to implement, don't ask me to open a feature request cause this should be working this month, not in 2024. Sorry the wording, but I find this "feature" really nuts.
    0
  • cPRex Jurassic Moderator
    Let me reach out to the database team and see what their thoughts are and I'll let you know!
    0
  • cPRex Jurassic Moderator
    Alright, I have a couple thoughts on this. I did reach out to the database team and they are aware of a need for *something* - what that something is hasn't been decided just yet, but a way to select the version at install time without need to manually pre-configure files would be ideal for sure. What we aren't going to do is change the installer to prompt the user as the install has to be able to run completely unattended. I do like the option of having a "--mysql" or "--mariadb" flag that is optional, as that would allow people to just run the installer normal or they could specify the option if they don't want the default. That's where things are at this point - the team is aware and has been looking into it for a bit, but nothing has been officially decided just yet. For now, using the installation customization tool ahead of time is the only solution.
    0
  • Kent Brockman
    Alright, I have a couple thoughts on this. I did reach out to the database team and they are aware of a need for *something* - what that something is hasn't been decided just yet, but a way to select the version at install time without need to manually pre-configure files would be ideal for sure. What we aren't going to do is change the installer to prompt the user as the install has to be able to run completely unattended. I do like the option of having a "--mysql" or "--mariadb" flag that is optional, as that would allow people to just run the installer normal or they could specify the option if they don't want the default. That's where things are at this point - the team is aware and has been looking into it for a bit, but nothing has been officially decided just yet. For now, using the installation customization tool ahead of time is the only solution.

    Ok, if the installer must not prompt for options, then make it exit if run with no params, being --mysql or --mariadb mandatory. Thus, that would be a great opportunity to provide awareness of this database situation to those who were unable to reach the docs before actually upgrading to new OS. Think that there are still a lot of minor hosting providers billing every OS reload. So this option would help people save TIME... AND MONEY. And THAT is a feature my friend ;-) Another option...? Well, if MariaDB is considered a downgrade, then don't default to MySQL 8! Install MySQL 7 so that you can provide UPGRADE, to MariaDB or MySQL 8. People MUST be able to choose, or at least, have awareness. Those are features we thought we was paying for :-) I bet both alternatives make sense to almost everyone. Just choose one and improve this chaotic scenario.
    0
  • Reado
    This
    0
  • cPRex Jurassic Moderator
    @Reado - I suppose that's technically possible, but cPanel doesn't support removing MySQL. There is always a version of MySQL present on the system to make things work.
    0
  • HostT
    This is quite annoying especially after doing a full install, setting up easyapache, and then finding out that natively MySQL 8 was installed and there's no easy way to use MariaDB instead which is what all my other servers I was going to transfer accounts from are using :facepalm: Completely empty server with no databases or anything. Not to even add to the fact with all the price increases as well and now I have to start all over again ... VERY annoying especially KNOWING a lot of people are using MariaDB and NOT MySQL
    0
  • xpy-xpy
    This is quite annoying especially after doing a full install, setting up easyapache, and then finding out that natively MySQL 8 was installed and there's no easy way to use MariaDB instead which is what all my other servers I was going to transfer accounts from are using :facepalm: Completely empty server with no databases or anything.

    There's an unofficial way of switching an empty Cpanel server from MySQL 8 to MariaDB:
    -1
  • cPRex Jurassic Moderator
    @HostT - this is outlined in the installation documentation here:
    0

Please sign in to leave a comment.