Mysql
 sql >> база данни >  >> RDS >> Mysql

Настройка на Macports mysql5 под Snow Leopard

Самият аз току-що инсталирах mysql5 и тъй като това винаги е болка, отбелязах процеса, който следвах. Това беше направено на Leopard, но предполагам, че процесът е същият при Snow Leopard и Lion. Той не отговаря на всички първоначални въпроси, но поне е нещо като ръководство.

Инсталиране на Mysql

Първо, инсталирайте mysql5 сървъра с:

sudo port install mysql5-server

Просто инсталирам mysql5 не инсталира сървъра.

Обърнете внимание на изхода на конзолата, той включва инструкции за настройка на macports. Може да искате да го копирате и поставите в текстов файл. На него се основава следното.

Вместо mysql5-server , можете да използвате порт като mysql55-server , mysql56-server , mariadb-server или percona-server за да получите по-нова версия на mysql или fork. Ако го направите, обърнете внимание на изхода на конзолата, тъй като следните инструкции са базирани на mysql5-server и ще трябва да се коригира, за да се използват правилните изпълними файлове и пътища.

Ако това е нова инсталация, настройте базата данни:

sudo -u _mysql mysql_install_db5

Това извежда някои общи инструкции, които не мисля, че са напълно подходящи за macports. Според мен най-добрият начин да заредите mysql5 като демон е да използвате метода на macport:

sudo port load mysql5-server

Освен че стартира mysql5, това го зарежда постоянно - той ще работи при стартиране. За да спрете това по-късно:

sudo port unload mysql5-server

Ако не искате да го стартирате като демон, можете да го стартирате от командния ред:

sudo /opt/local/lib/mysql5/bin/mysqld_safe

Проверете дали работи, като влезете в командния ред:

mysql5 -u root -p

По подразбиране паролата е празна, така че просто натиснете enter, когато бъдете подканени. За да зададете root парола:

/opt/local/lib/mysql5/bin/mysqladmin -u root password 'correct horse battery staple'

Следват инструкции за настройка както на macports php, така и на собствената php инсталация.

Настройте Macports PHP

Ако приемем, че вече имате инсталиран и работещ macports php. Трябва да инсталирате php5-mysql (или нещо като php54-mysql в зависимост от това коя версия на php използвате):

sudo port install php5-mysql

Това инсталира драйверите на mysql, mysqli и pdo.

Сега погледнете във вашия /opt/local/etc/php5 директория, ако все още нямате php.ini копие на конфигурационния файл или php.ini-development или php.ini-production към php.ini . Сега редактирайте php.ini и потърсете подходящите редове за добавяне:

pdo_mysql.default_socket=/opt/local/var/run/mysql5/mysqld.sock

и:

mysql.default_socket = /opt/local/var/run/mysql5/mysqld.sock

и:

mysqli.default_socket = /opt/local/var/run/mysql5/mysqld.sock

Ако не искате да ги конфигурирате, можете да ги зададете изрично във вашия php скрипт, когато се свързвате.

Ако имате проблеми със свързването, може да искате да разгледате другите настройки наблизо и да сравните с php.ini-development и php.ini-production за да видите какво е променено.

След това използвайте скрипта по-долу или нещо подобно за тестване, което можете да свържете с php.

Настройка на системния PHP

php на OS X идва с вградена поддръжка на mysql и mysqli (но не и pdo), така че всичко, което трябва да направите, е да настроите macport unix сокета. Местоположението по подразбиране е /opt/local/var/run/mysql5/mysqld.sock . Намерете правилното място в /etc/php.ini (ако вече го нямате, копирайте го от /etc/php.ini.default ), за да добавите:

mysql.default_socket = /opt/local/var/run/mysql5/mysqld.sock

и:

mysqli.default_socket = /opt/local/var/run/mysql5/mysqld.sock

Ако не искате да ги конфигурирате, можете да ги зададете изрично във вашия php скрипт, когато се свързвате.

Тестов скрипт

Ето php скрипт, за да проверите дали може да се свърже. Очевидно е, че обикновено няма да използвате root акаунта във вашите php скриптове, така че може да искате първо да създадете друг mysql акаунт за тестване на връзката. PDO връзката няма да работи за родния php, тъй като няма PDO драйвери.

<?php

$username = 'root';
$password = 'correct horse battery staple';

/* Try mysql: */

$connection = mysql_connect('localhost', $username, $password);
if ($connection === FALSE) {
    echo "Error connecting using mysql.\n\n";
    echo "Error ".mysql_errno().": ".mysql_error()."\n\n";

}
else {
    echo "Connected using mysql.\n\n";
    mysql_close($connection);
}

/* Try mysqli: */

$connection = mysqli_connect('localhost', $username, $password);
if ($connection->connect_error) {
    echo "Error connecting using mysqli:\n\n";
    echo "Error ".$connection->connect_errno.": ".$connection->connect_error."\n\n";
}
else {
    echo "Connected using mysqli.\n\n";
    $connection->close();
}

/* Try pdo:
 * Won't work for the version of php supplied with OS X. */

try {
    $pdo = new PDO('mysql:host=localhost', $username, $password);
    echo "Connected using PDO.\n\n";
    $pdo = null;
}
catch(PDOException $e) {
    echo "Error connecting using PDO:\n\n";
    echo "Error ".$e->getCode().": ".$e->getMessage()."\n\n";
}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Какви са разликите между типовете данни BLOB и TEXT в MySQL?

  2. Грешка в TypeScript при използване на Op.between в Sequelize с дати

  3. MySQL, където DateTime е по-голямо от днес

  4. Проверка за валиден ресурс за резултати от MySQL

  5. Как да изберете count с плавния конструктор на заявки на Laravel?