Installatie MySQL

Uit De Vliegende Brigade
Naar navigatie springen Naar zoeken springen

Dit artikel is er om twee redenen:

  • Handig om te weten hoe je überhaupt MySQL installeert
  • MySQL is nogal kieskeurig als het gaat om configuratie-instellingen: Eén foutje, en het werkt niet meer. Daarom handig om de installatieprocedure goed te snappen, zodat ik weet wat ik precies moet doen om een cleane installatie te krijgen - Want dat gaat niet vanzelf!

Installatieprocedure - Linux Mint (mei 2018)

Dit betreft de algemene procedure voor installatie op een bijgewerkte instantie van Linux Mint 18.3 "Sylvia", uitgekomen in november 2017, gebaseerd op Ubuntu 16.04 [1].

Eigenlijke installatie

De eigenlijke installatie stelt weinig voor, en is in vijf minuten gedaan:

sudo apt install mysql-server
  • Dit resulteert in een complete installatie van MySQL 5.7, inclusief de MySQL-client. Opvallend dat MySQL 5.7 wordt geïnstalleerd, maar niet 8.0. Overigens: MySQL Workbench voor 8.0 is lastig te installeren, dus wellicht een goede zaak om voorlopig nog versie 5.7 te gebruiken
  • Tijdens de installatieprocedure wordt er om een nieuw root-wachtwoord gevraagd.

Installatie - bestanden & acties

Wat er zoal gebeurt (copy-past werkt niet want virtuele machine):

* Setting up mysql-common
* Setting up mysql-server-core-5.7
* Setting up mysql-client-core-5.7
* Setting up mysql-client-5.7
* Setting up libevent-core-2.0-5
* Setting up 
* Triggers man-db
* Triggers ureadahead
* Triggers systemd
* Triggers libc-bin
  • Ik geloof dat dit weinig zegt. Oa. staat er niet vermeld dat er mappen zoals /etc/mysql worden aangemaakt (en die map was er voor de installatie niet!).
  • De basis-storage location is /var/lib/mysql. Eigenaar van alle bestanden: mysql. Groep: mysql

Security hardening-script

Mbv. sudo mysql_secure_installation kun je de beveiliging bijwerken. Dat gebruik ik wel op servers, maar niet op locale ontwikkelomgevingen. Onderdeel van dit script, is het aanmaken van een MySQL-gebruikersaccount, maar dat lijkt niet te werken, want naderhand is dat account niet beschikbaar. Sterker nog: Zelfs 'gewoon' inloggen met het root-account lijkt dan niet te werken. Wat dan wel werkt: sudo mysql -u root -p.

Gebruikersaccount aanmaken

Direct na installatie is er alleen een root-account beschikbaar. Daarin kun je inloggen middels mysl -u root -p

  • Gebruiker aanmaken met zoiets als grant all on *.* to jeroen@localhost identified by 'MijnGeheimeWachtwoord' with grant option;. Zie Gebruikers & rechten (MySQL) voor details
  • Ik zou nu FLUSH PRIVILEGES; moeten doen om het nieuwe account te activeren, maar dat lijkt in de praktijk niet nodig te zijn
  • Verifiëer met select user, grant_priv from mysql.user; dat dit account werkt.

Verder: Indien het MySQL-gebruikersaccount dezelfde naam heeft als het computeraccount waarin ik werk, kan ik voortaan inloggen met mysql -p.

Inloggen zonder wachtwoord

Creëer een .my.cnf-bestand met bijpassende inhoud en bestandsrechten, om voortaan zonder wachtwoord te kunnen inloggen. Zie Gebruikers & inloggen (MySQL) voor details.

Verplaats storage location naar dropbox

Zie Storage location aanpassen (MySQL).

Overige aanpassingen

Zie ook

Bronnen