[Photo by MART  PRODUCTION](https://www.pexels.com/photo/person-holding-burning-money-7230878/)

Rising costs of running legacy Amazon RDS systems

Amazon recently faced challenges in maintaining support for legacy Relational Database Service (RDS) systems and even considered upgrading instances forcefully1. This situation is not unique to Amazon; many companies struggle with the costs of maintaining legacy systems. However, as a service provider, Amazon must support older systems as long as there are customers willing to pay for them. In December 2023, Amazon announced1 plans to upgrade legacy RDS instances to versions still under active development, citing the rising costs of maintaining outdated systems. This included versions like MySQL 5.7 and PostgreSQL 10 (or earlier)2. However, instead of enforcing upgrades, Amazon introduced a new support approach: RDS Extended Support. This allows customers to continue using older versions, but with additional costs. ...

2024-04-27 · 3 min · timor

Daily MySQL backups with xtrabackup

I’ve been using standard MySQL dumps as backup technique on my VPS for few years. It works fine and backups were usable few times when I needed them. But in other places I’m using xtrabackup. It’s faster when crating backups and a lot faster when restoring them - they’re binary so there is no need to reevaluate all SQL create tables/inserts/etc. Backups also include my.cnf config file so restoring on other machine should be easy. ...

2016-04-23 · 3 min · timor

Mass replace in WordPress posts via MySQL query

I was doing a lot of changes to my old posts, switched to HTTPS, etc. Sometimes it was useful to change some particular text in all my old posts at a time, but there is no such feature in WordPress. But WordPress runs on MySQL and I could use SQL query to update such posts. Make backup - it’s not required but strongly advised 😃 Now use this query as template to replace in place whatever you need: UPDATE wp_posts SET post_content = REPLACE(post_content, " ", ""); You should see something like: ...

2016-02-09 · 1 min · timor

MySQL - reset root password

It will happen from time to time, that you’re on alien machine and have to brutally update things in db without knowing credentials. Example is for root (quite secure candidate to change because it shouldn’t be used in app 😃 ) but will work for any user. shutdown db service mysql stop create text file with command like this (update user accordingly) ex. in /tmp/pwchange.txt SET PASSWORD FOR "root"@"localhost" = PASSWORD("HereYourNewPassword"); start mysqld with --init-file param mysqld_safe --init-file=/tmp/pwchange.txt sometimes you may require to point configuration file ex. --defaults-file=/etc/mysql/my.cnf ...

2015-12-28 · 1 min · timor

Debian - Upgrade MySQL to MariaDB

After reading some good opinions about MariaDB I wanted to give it a try. Upgrade looks quite straight forward but I found some issues a little tricky. Installation Add repo and key: cat > /etc/apt/sources.list <<SRC deb http://mirrors.supportex.net/mariadb/repo/5.5/debian wheezy main deb-src http://mirrors.supportex.net/mariadb/repo/5.5/debian wheezy main SRC (find more repositories here  external link ) Now install MariaDB: sudo apt-get update sudo apt-get install mariadb-server It could be better to install mariadb-server-5.5 and mariadb-client-5.5 package instead, because of this error  external link . ...

2014-01-24 · 1 min · timor

MySQL - Proste metody optymalizacji

Wcześniej czy później zawsze pojawia się potrzeba zoptymalizowania naszej bazy MySQL. Przedstawię kilka zmian w konfiguracji, które powinny zwiększyć wydajność w większości przypadków. MyISAM - key_buffer_size Najprostszą optymalizacją baz/tabel z mechanizmem MyISAM jest odpowiednie dobranie bufora na cache dla kluczy i indeksów (dane nigdy nie są cachowane). Poniższe zapytanie pozwala oszacować zalecany rozmiar cache’u: SELECT CONCAT(ROUND(KBS/POWER(1024, IF(PowerOf1024<0,0,IF(PowerOf1024>3,0,PowerOf1024)))+0.4999), SUBSTR(' KMG',IF(PowerOf1024<0,0, IF(PowerOf1024>3,0,PowerOf1024))+1,1)) recommended_key_buffer_size FROM (SELECT LEAST(POWER(2,32),KBS1) KBS FROM (SELECT SUM(index_length) KBS1 FROM information_schema.tables WHERE engine='MyISAM' AND table_schema NOT IN ('information_schema','mysql')) AA ) A, (SELECT 2 PowerOf1024) B; Wynik określa zalecany rozmiar bufora (parametr key_buffer_size w pliku /etc/mysql/my.cnf) dla bieżącego stanu bazy - warto ciut dodać na zapas. Na systemach 32 bitowych parametr key_buffer_size może przyjmować maksymalnie 4GB, na 64 bitowych maksymalnie 8GB. ...

2011-12-29 · 5 min · timor

MySQL - dostęp zdalny na szybko

Instalacja serwera MySQL na Debianie jest niezwykle prosta i sprowadza się do jednego polecenia: sudo apt-get install mysql-server Polecenie to zainstaluje i uruchomi usługę serwerową MySQL. W czasie instalacji będziemy proszeni o podanie hasła dla root’a (które oczywiście dobrze jest zapamiętać bądź zapisać). Tak zainstalowana baza nasłuchuje na lokalnym porcie (localhost:3306) umożliwiająć dostęp wyłącznie root’owi. Jest to bardzo bezpieczna konfiguracja… Ale jeśli nie mamy zamiaru na tej samej maszynie instalować oprogramowania zarządzającego to nie zawsze jest to wygodne, tym bardziej gdy przykładowo mamy działającego phpmyadmin’a na jakimś serwerze www. W takim przypadku pierwszą rzeczą, którą robię jest udostępnienie dostępu zdalnego dla root’a. Warto zaznaczyć że uprawnienia root’a można nadać dowolnemu użytkownikowi (np. romanowi) co jest dużo bezpieczniejszą konfiguracją niż działanie bezpośrednio na koncie root’a (którego nazwa jest powszechnie znana). ...

2011-08-27 · 2 min · timor