sql >> Database >  >> RDS >> Mysql

Configureer MAMP om mariadb te gebruiken

hier is hoe ik het doe, zodat je mysql of mariadb kunt gebruiken, omdat mariadb een vervanging is (typ dit uit het geheugen, dus laat het me weten als er fouten zijn)...

0) maak een back-up van uw mysql db-dir voor het geval dat, en doe wat mysql-voorbereiding voor het geval dat

$ cp -R /Applications/MAMP/db/mysql /Applications/MAMP/db/mysql.2013-02-06-1850.bak
$ /Applications/MAMP/bin/repairMysql.sh
$ /Applications/MAMP/bin/quickCheckMysqlUpgrade.sh
$ /Applications/MAMP/bin/upgradeMysql.sh

1) maak een kopie of noteer enkele instellingen in uw my.cnf-bestand. Het kan zich op verschillende plaatsen bevinden, dus om ze allemaal te vinden (er zijn er een heleboel):

$ locate my.cnf
/Applications/MAMP/conf/my.cnf
/etc/my.cnf
/usr/local/etc/my.cnf
/usr/local/etc/my.cnf.d
/usr/local/etc/my.cnf.d/client.cnf
/usr/local/etc/my.cnf.d/mysql-clients.cnf
/usr/local/etc/my.cnf.d/server.cnf

2) uitzoeken welke my.cnf is geladen (voor MAMP KAN het in /Applications/MAMP/conf/my.cnf staan)

$ /usr/local/bin/mysql --help | grep my.cnf
order of preference, my.cnf, $MYSQL_TCP_PORT,
/etc/my.cnf /etc/mysql/my.cnf /usr/local/etc/my.cnf ~/.my.cnf 
$ /Applications/MAMP/Library/bin/mysql --help | grep my.cnf
order of preference, my.cnf, $MYSQL_TCP_PORT,
/etc/my.cnf /etc/mysql/my.cnf /Applications/MAMP/conf/my.cnf ~/.my.cnf

3) maak een back-up van de my.cnf in /etc/my.cnf en bewerk my.cnf om er zeker van te zijn dat het een paar parameters bevat, vooral de poort-, socket- en datadir-instellingen, zodat mariadb weet waar ze naartoe moet zoek naar uw db-bestanden:

$ sudo cp /etc/my.conf /etc/my.cnf.2013-02-06-1858.bak
$ sudo vi /etc/my.cnf
port     = 3306
socket   = /Applications/MAMP/tmp/mysql/mysql.sock 
datadir  = /Applications/MAMP/db/mysql
tmpdir   = /Applications/MAMP/tmp/mysql

4) voeg eventuele mariadb-specifieke configuratie-opties toe die u wilt in een [mariadb]-sectie

5) installeer mariadb (ik gebruik graag brew, maar kies je vergif) ... en je kunt dit echt op elk moment doen

$ brew install mariadb

6) maak een symbolische link vanuit de my.conf uit stap twee

$ sudo ln -s /Applications/MAMP/conf/my.cnf /etc/my.cnf

6a) je kunt je my.cnf overal plaatsen, zolang er maar een kopie of link naar is in /etc/my.cnf... het doel hier is dat mariadb en MAMP's implementatie van mysql dezelfde configuratie-instellingen gebruiken.

7) maak nu een shell-shellscript om apache en mariadb te laden

$ mkdir -p ~/scripts/mamp
$ touch ~/scripts/mamp/startSomething.sh ~/scripts/mamp/stopSomething.sh
$ chmod ug+rx ~/scripts/mamp/*Something.sh

8) haal/neem nota van het huidige start/stop-script voor apache (het zal waarschijnlijk niets bijzonders zijn)

$ more /Applications/MAMP/bin/startApache.sh
$ more /Applications/MAMP/bin/stopApache.sh

9) verkrijg het geïnstalleerde mariadb-pad en zorg ervoor dat het de mariadb-versie is

$ which mysql
/usr/local/bin/mysql
$ mysql --version
mysql  Ver 15.1 Distrib 5.5.29-MariaDB, for osx10.8 (i386) using readline 5.1

10) bewerk nu startSomething.sh

# /bin/sh
/Applications/MAMP/Library/bin/apachectl start
/usr/local/bin/mysql.server start &

11) doe hetzelfde voor stopSomething.sh

# /bin/sh
/Applications/MAMP/Library/bin/apachectl stop
/usr/local/bin/mysql.server stop &

12) dat is het!. om dingen te starten of te stoppen

$ ~/scripts/mamp/startSomething.sh
$ ~/scripts/mamp/stopSomething.sh

als je de vanille MAMP wilt, gebruik dan de MAMP-app die bij MAMP is geleverd. anders, veel plezier met deze iets snellere database met een heleboel leuke nieuwe functies... maar onthoud dat hoewel mariadb van nature een vervanging is voor mysql, het andersom niet waar is (MariaDB v MySQL-compatibiliteit )



  1. .aggregate() gebruiken voor een waarde die is geïntroduceerd met .extra(select={...}) in een Django-query?

  2. SQL-query om alle WordPress-berichten met categorieën te extraheren

  3. Ik moet een zeer interessante query schrijven die null-waarden en rijen met waarden berekent

  4. Selecteer eerste en laatste tijdstempel waar userID uniek is