Go to main content

Textpattern CMS support forum

You are not logged in. Register | Login | Help

#37 2025-05-08 09:17:55

Algaris
Member
From: England
Registered: 2006-01-27
Posts: 578

Re: Adventures in Linux Land

I’m looking to upgrade from Percona Server 8.0 to 8.4 on my Debian server. After doing some research I found these instructions.

Is this a good way to upgrade to new versions or are there better ways of doing so? I’m very new to Percona Server and still finding my feet.

1. Backup my.cnf so it doesn’t get overwritten.

2. Stop the 8.0 Server.

sudo systemctl stop mysql

3. Switch to the Percona Repositories

sudo apt update
sudo apt install curl gnupg2 lsb-release
curl -0 https://repo.percona.com/apt/percona-release_latest.generic_all.deb \
  -o percona-release_latest.deb
sudo apt install ./percona-release_latest.deb
sudo apt update
sudo percona-release setup ps-84-lts

4. Install Percona Server 8.4

sudo apt install percona-server-server

5. Merge any custom settings from your old my.cnf into the new one. Watch out for changed defaults in InnoDB parameters and removed plugins (e.g. mysql_upgrade is gone in 8.4) — you may need to switch to the new component-based equivalents.

6. Start the upgrade

sudo systemctl restart mysqld

7. Post-Upgrade Checks

  • Connect and run a few SELECT VERSION() / SHOW VARIABLES LIKE 'version%'; to confirm 8.4.
  • Run CHECK TABLE …; or pt-table-checksum across schemas to verify data integrity.

——

Edit

Okay, after some further digging I found the Percona Docs page. Percona Docs: Upgrade using the Percona repositories

Still, if anyone has any general advice when upgrading Percona, best practices, gotchas, etc. that would be useful to know.

Last edited by Algaris (2025-05-08 10:53:25)

Offline

#38 2025-05-08 11:12:44

gaekwad
Server grease monkey
From: People's Republic of Cornwall
Registered: 2005-11-19
Posts: 4,357
GitHub

Re: Adventures in Linux Land

That’s pretty much the route I take with Percona MySQL from vendor repo, albeit a little less belt-and-braces. A few observations / considerations:

  • The Debian / Ubuntu packages are pretty resilient and battle-tested, and from memory (don’t quote me on this) the handful of in-place upgrades I’ve done from Percona MySQL 8.0 to 8.4 kept the configs intact.
  • Consider xtrabackup for enhanced backups: www.percona.com/mysql/software/percona-xtrabackup
  • If you’re getting into backups beyond box-ticking, consider PHPBU if you’re running PHP on your server. There’s no support for xtrabackup yet but mysqldump does the job just fine.

The Textpattern servers are running Percona MySQL and an in-place upgrade happened on two of the VPSes, short of a reboot when I bumped Ubuntu to 22.04 there was no downtime. The next iteration of Textpattern VPS won’t be using Ubuntu at all, but will use Percona MySQL. An upcoming demo server VPS will have multiple MySQL-like instances from 3x vendors, and that involves compiling from source…which takes a veeeery long time. Worth it, but not something that can be rushed.

Offline

#39 2025-05-08 11:15:41

gaekwad
Server grease monkey
From: People's Republic of Cornwall
Registered: 2005-11-19
Posts: 4,357
GitHub

Re: Adventures in Linux Land

gaekwad wrote #339681:

The Textpattern servers are running Percona MySQL and an in-place upgrade happened on two of the VPSes, short of a reboot when I bumped Ubuntu to 22.04 there was no downtime.

gaekwad wrote #338037:

For me, I don’t do in-place upgrades.

I don’t typically do in-place upgrades. There was a rats nest and I had security concerns, so needs must.

Last edited by gaekwad (2025-05-08 11:16:16)

Offline

#40 2025-05-12 08:32:08

Algaris
Member
From: England
Registered: 2006-01-27
Posts: 578

Re: Adventures in Linux Land

Thanks for your reply. You always give me plenty to think about and research. I’ll definitely dig into PHPBU and xtrabackup.

I’m not quite at the point that you are. It’ll take me way longer to keep creating new servers with every upgrade as opposed to doing in-place upgrades. This is the first time I’m replacing all my servers as I’m migrating from Ubuntu to Debian. It’s a great opportunity to clean things up and switch over to Caddy and Percona MySQL at the same time.

Offline

#41 2025-05-15 15:16:21

gaekwad
Server grease monkey
From: People's Republic of Cornwall
Registered: 2005-11-19
Posts: 4,357
GitHub

Re: Adventures in Linux Land

Algaris wrote #339690:

I’ll definitely dig into PHPBU and xtrabackup.

Super high level: PHPBU is a wrapper for file and / or database backups. It’s intuitive to work with, the developer is a genuinely helpful guy (a breath of fresh air compared with another project where I was belittled in a support query after following their documentation), and it’s actively developed.

It’ll take me way longer to keep creating new servers with every upgrade as opposed to doing in-place upgrades.

Try not to stress over anything. When I was in my Ubuntu era, I would run the current LTS release (e.g. 18.04) and stick with it until the release of the next-but-one release (e.g. 22.04). This balanced the supported-ness of the whole thing (still well within acceptable support terms) with a level of reliability.

Then snap containers came along, I didn’t quite ‘get’ them, and vowed to stick with the least snap-y release until I had updated my build playbook for Debian. Night & day difference when I’d switched to Debian 12: no junk, no arbitrary container drivel and caches littered around the place, and barely any difference with the commands needed to build a server.

I have a handful of Debian / Ubuntu operating system checks (i.e. “if Debian do X, if Ubuntu do Y”), and they mostly check the correct library / dependency is used since there’s some disparity between Ubuntu and Debian package naming. The one thing that caught me out initially with one of the Debian releases was the introduction of bracketed-paste – but the first thing I do on a Debian build is turn it off:

if \
[[ $(awk -F= '$1=="ID" { print $2 ;}' /etc/os-release) = "debian" ]] \
; then \
bind 'set enable-bracketed-paste off' \
&& touch "$HOME"/.inputrc \
&& sed -i '/enable-bracketed-paste/d' "$HOME"/.inputrc \
&& echo 'set enable-bracketed-paste off' >> "$HOME"/.inputrc \
; fi

…and normal service resumes.

This is the first time I’m replacing all my servers as I’m migrating from Ubuntu to Debian. It’s a great opportunity to clean things up and switch over to Caddy and Percona MySQL at the same time.

I’m definitely interested to hear how you get on with Caddy. That’s on my list this year or next.

Last edited by gaekwad (2025-05-15 15:16:37)

Offline

#42 2025-05-15 19:24:19

jakob
Admin
From: Germany
Registered: 2005-01-20
Posts: 4,926
Website GitHub

Re: Adventures in Linux Land

gaekwad wrote #339716:

I’m definitely interested to hear how you get on with Caddy. That’s on my list this year or next.

GitHub tells me you starred Ferron (website) recently. That seems quite young but growing at a rapid pace. Any opinions on that, e.g. compared to caddy? In their own reporting, they say it’s faster, but speed isn’t everything, I guess…


TXP Builders – finely-crafted code, design and txp

Offline

#43 2025-05-15 21:02:38

gaekwad
Server grease monkey
From: People's Republic of Cornwall
Registered: 2005-11-19
Posts: 4,357
GitHub

Re: Adventures in Linux Land

jakob wrote #339719:

GitHub tells me you starred Ferron (website) recently. […] Any opinions on that, e.g. compared to caddy? In their own reporting, they say it’s faster, but speed isn’t everything, I guess…

Ferron is interesting, but I’m not ready to jump in just yet. Caddy development is (currently) more civilised and sustainable, the main thing that’s holding me back is not needing it in the strictest sense.

A lot of Caddy’s selling points are for ease of use, and the related tasks. For example, it can handle TLS certificate stuff natively, it’s apparently relatively straightforward to configure sites, and overall – on paper, at least – looks just fine for us. TLS certificates is a solved problem for me (I use certbot, and there are plenty of other tried & tested). I know Nginx configuration-fu well, along with its idiosyncrasies, and I’m geared toward being specific in configs rather than assuming the factory default will work. Having a minimal configuration (for Caddy) feels counterintuitive to me. Not saying it’s right or wrong, it’s just…not what I’m used to.

I ventured into new territory for alternate web servers earlier this year, and found one that seemed to be performant, sensibly-configured, actively-developed, and lightweight. Nginx isn’t heavyweight by any stretch, but it can handle an enormous number of connections when it’s configured correctly. The web server project I looked at had some docs, some source, and I got stuck in. I had a couple of brick wall stops that I couldn’t get past, and posting on their support forum – in what I thought was a respectful and considered fashion – the lead developer told me:

“I think you should seriously question why you are trying to build these from source when these build error messages and how to solve them are so foreign to you. Please invest some time learning how to build software, or consider using some of the alternatives that I have suggested in my previous post.”

…and I said my goodbyes.

I tend not to put much weight on vendor benchmarks, my main squeeze at the moment is Anton Putra who does comparitive tests with a whiff of nerd ASMR. There’s an Nginx vs Caddy test which is quite revealing. Ferron is written in Rust, Caddy is written in Go. Anton has a Rust vs Go comparison, which could be worth a look.

As a Rust / Go luddite, I understand Go applications like Caddy need Go installed, and Rust applications like Ferron need Rust. That’s an extra layer of ‘stuff’ between the application and the rest of the operating system…so unless there are really good feature / security / ideological / etc reasons to switch, I’ll stick with Nginx as the go-to.

However…

I am working on switching Nginx to act as a reverse proxy so we can run multiple web servers on the same VPS. Nginx would proxy requests to Caddy / Ferron / Apache / whatever depending on the URL. So Caddy will make an appearance on the demo server at some point. If Ferron settles a bit, I’ll give it a spin. I need some Dutch courage to do Apache after all these years, but some time away may have lessened the trauma I had from it many years ago.

There’s also freenginx, I’m undecided on that route since it’s mostly compatible to Nginx open source and mostly built by one of the main contributors to Nginx before he left over differing opinions on Nginx security – and there’s some bedtime reading here if you like compare / contrast tables.

I’ll report back when I’ve got Caddy running on the demo server, we can battle test it and figure out what to do.

Edit: clumsy typos.

Last edited by gaekwad (2025-05-19 11:37:02)

Offline

#44 2025-05-22 08:56:40

Algaris
Member
From: England
Registered: 2006-01-27
Posts: 578

Re: Adventures in Linux Land

I’m just adding a link to the below topic by by seq as I have an interest in Caddy and left a post there (viewtopic.php?pid=339735#p339735).

can i use Caddy to run a Textpattern website
viewtopic.php?id=52593

Offline

#45 2025-06-10 09:24:37

Algaris
Member
From: England
Registered: 2006-01-27
Posts: 578

Re: Adventures in Linux Land

I’m currently investigating setting up a Debian server in Hyper-V to store my projects (version controlled in Git) in one place. Currently, they’re scattered across different servers in their own standalone git repositories, and some haven’t been version controlled yet. I’m keen to clean things up and get a handle on my projects.

I’ve narrowed down the software for this to either GitLab.com or Forgejo. Does anyone have any advice regarding setting up such a thing or perhaps any other software recommendations? Ideally, I want to avoid GitHub or any software hosted by another company on their servers.

My requirements are:

  • The software must be able to run on its own server managed by me and be accessible only on my network.
  • The software must be free with no upfront costs or subscriptions.
  • The software must be able to manage multiple Git repositories.
  • The software must be able to easily deploy repositories’ to other servers (dev or production).
  • The software must be able to be able to sync code via git from other servers back to the central server.
  • There must be no arbitrary limits on how many repositories I can manage or deploy, etc.

If the software has a nice web GUI and friendly UX, that would be a huge plus. I work better with Git when I can visualise things rather than using the terminal. For example, I tend to prefer using GUIs like Tower (which I get for free working in education) to manage Git on my dev servers. I also discovered Git Butler, which I need to investigate further.

Last edited by Algaris (2025-06-10 09:31:13)

Offline

#46 2025-06-11 14:20:14

gaekwad
Server grease monkey
From: People's Republic of Cornwall
Registered: 2005-11-19
Posts: 4,357
GitHub

Re: Adventures in Linux Land

Algaris wrote #339844:

My requirements are:

  • The software must be able to run on its own server managed by me and be accessible only on my network.
  • The software must be free with no upfront costs or subscriptions.
  • The software must be able to manage multiple Git repositories.
  • The software must be able to easily deploy repositories’ to other servers (dev or production).
  • The software must be able to be able to sync code via git from other servers back to the central server.
  • There must be no arbitrary limits on how many repositories I can manage or deploy, etc.

Self-hosted GitLab should fit the bill, add your preferred Git UI of choice, and away you go. If you’re running a local server and you’re the only tenant, you may well get away with less then the 4GB RAM it states in the system requirements.

I store my software repos in ~/repos/org/repo-name/, and in my experience changing your local Git management method (e.g., Tower to CLI, CLI to Nova, Nova to Git Butler) shouldn’t cause you any hassle since the repo is essentially self-contained / portable.

Last edited by gaekwad (2025-06-11 14:20:33)

Offline

#47 2025-06-13 15:01:15

Algaris
Member
From: England
Registered: 2006-01-27
Posts: 578

Re: Adventures in Linux Land

Thanks Pete. I’m glad to know I’m on the right track.

GitLab was my first choice but I wasn’t sure if there if there’s anything better out there. Sometimes I second-guess myself and end up going rabbit holes researching things rather than getting on with what I need to do. Part of the problem is I’m not fully aware of what’s out there (the old “known unknowns” chestnut, which keeps me researching).

Last edited by Algaris (2025-06-13 15:04:00)

Offline

Board footer

Powered by FluxBB