Per utilizzare i moduli i cui archivi sono su database è necessario aver installato i seguenti pacchetti:
## ln -s /usr/lib/libodbcinst.so.2.0.0 /usr/lib/libodbcinst.so.1
## ln -s /usr/lib64/libodbc.so.2 /usr/lib64/libodbc.so
L’RDBMS MySQL può essere installato sul medesimo PC oppure su un qualunque altro pc purché raggiungibile via TCP/IP dal server Linux in cui è installato il prodotto. Le prestazioni migliori si ottengono se l’RDBMS è installato su un sistema a 64 bit nella versione a 64 bit.
Partendo da una installazione minima del sistema CentOS 7, seguendo i seguenti passaggi è possibile completare l’installazione di MySQL 5.7 a 64 bit con tutti i componenti a 64 bit (pronto quindi per ospitare database di Mexal nella compilazione 64 bit). E’ necessario accettare l’installazione di tutte le dipendenze, i seguenti comandi hanno scopo puramente esemplificativo e valgono solo sul sistema sopra indicato:
yum install wget
wget “http://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm”
yum localinstall mysql57-community-release-el7-9.noarch.rpm //aggiunge al sistema il repo di mysql
yum update //installa aggiornamenti di sistema e aggiunge pacchetti mysql in sostituzione di mariadb
yum install perl perl-Data-Dumper libaio libtool unixODBC mysql-connector-odbc-5.3.14 mysql-community-server
systemctl start mysqld
systemctl enable mysqld
grep 'temporary password' /var/log/mysqld.log //si ottiene la password temporanea di root
mysql -uroot -p //inserire quando richiesta la password temporanea ottenuta dal comando precedente
mysql> alter user 'root'@'localhost' identified by 'Password1$'; //imposta la nuova password di root, complessa
mysql> rename user 'root'@'localhost' to 'root'@'%'; //facoltativo, serve per permettere l’accesso di root da altri host
mysql> grant all on *.* to 'mexaluser'@'%' identified by 'Password2$'; //crea un utente chiamato mexaluser idoneo alla configurazione del modulo su Mexal/Passcom
mysql> quit;
Partendo da una installazione minima del sistema Rocky 9, seguendo i seguenti passaggi è possibile completare l’installazione di MySQL 8.0 a 64 bit. E’ necessario accettare l’installazione di tutte le dipendenze, i seguenti comandi hanno scopo puramente esemplificativo e valgono solo sul sistema sopra indicato:
wget "http://dev.mysql.com/get/mysql80-community-release-el9-1.noarch.rpm"
yum localinstall mysql80-community-release-el9-1.noarch.rpm //aggiunge al sistema il repo di mysql
yum install unixODBC mysql-connector-odbc-8.0.33 mysql-community-server-8.0.33
ln -s /usr/lib64/libodbc.so.2 /usr/lib64/libodbc.so
systemctl start mysqld.service
systemctl enable mysqld.service
grep 'temporary password' /var/log/mysqld.log //si ottiene la password temporanea di root
mysql -uroot -p //inserire quando richiesta la password temporanea ottenuta dal comando precedente
mysql> alter user 'root'@'localhost' identified by 'Password1$'; //imposta la nuova password di root, complessa
mysql> create user 'mexaluser'@'%' identified by Password2$';
mysql> grant all privileges on *.* to 'mexaluser'@'%';
mysql> quit;
Per qualsiasi versione di MySQL occorre aggiungere i seguenti parametri nella sezione [mysqld] del file my.cnf:
vi /etc/my.cnf
[mysqld]
…
interactive_timeout = 1200300
wait_timeout = 1200300
max_allowed_packet=64M
net_write_timeout=7200
net_read_timeout=7200
innodb_buffer_pool_size = 2G //valorizzare al 25-50% RAM di sistema a seconda della disponibilità e dei sw installati
innodb_redo_log_capacity=512M //consigliato 25%-50% di innodb_buffer_pool_size
systemctl restart mysqld //riavviare il server MySQL per applicare le modifiche.
Si consiglia di evitare che questi componenti si aggiornino automaticamente insieme agli altri pacchetti di sistema, quindi si consiglia di definire delle esclusioni sul sistema yum. Ad esempio:
vi /etc/yum.conf
[main]
…
exclude=mysql* //pacchetti con questo pattern verranno sempre esclusi da ricerche ed aggiornamenti
ATTENZIONE: con alcune versioni come la 5.3.11 di mysql-connector-odbc sono stati rilevati problemi di compatibilità, pertanto si raccomanda di installare la sola versione 5.3.10 e disabilitarne gli aggiornamenti. In generale si consiglia di mantenere una versione e non aggiornarla se si dimostra affidabile.
Infine si ricorda di aggiornare la struttura delle tabelle di MySQL in seguito ad un aggiornamento della versione di MySQL. Su Windows l’operazione viene effettuata dal MySQL Installer, mentre su Linux occorre eseguire il comando “mysql_upgrade -uroot -p”, poi riavviare il servizio.
ATTENZIONE: non effettuare mai l’aggiornamento di MySQL da una versione 5.x alla versione 8.0. L’aggiornamento dell’istanza non è supportato, occorre necessariamente effettuare una nuova installazione e migrare i dati con gli strumenti di Mexal/Passcom.