Как я могу создать падение mariadb для замены MAMP [duplicate]

Вы используете объект, содержащий ссылку нулевого значения. Таким образом, он дает пустое исключение. В примере строковое значение равно null, и при проверке его длины произошло исключение.

Пример:

string value = null;
if (value.Length == 0) // <-- Causes exception
{
    Console.WriteLine(value); // <-- Never reached
}

Ошибка исключения:

Необработанное исключение:

System.NullReferenceException: ссылка на объект не установлена ​​в экземпляр объекта. в Program.Main ()

3
задан venutip 23 June 2011 в 04:04
поделиться

2 ответа

вот как я делаю это так, что вы можете использовать mysql или mariadb, поскольку mariadb - это замена взамен (набрав это из памяти, поэтому, пожалуйста, дайте мне знать, если есть некоторые ошибки) ...

0) сделайте резервную копию вашего mysql db dir на всякий случай и сделайте некоторую готовку mysql только в случае

$ 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) сделайте копию или обратите внимание на некоторые настройки в файле my.cnf , Он может быть расположен в самых разных местах, поэтому, чтобы найти их все (есть куча):

$ 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) выяснить, какой my.cnf был загружен (для MAMP это может быть в /Applications/MAMP/conf/my.cnf)

$ /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) сделайте резервную копию my.cnf в /etc/my.cnf и отредактируйте my.cnf, чтобы убедиться, что у него есть несколько параметров там, самое главное параметры порта, сокета и datadir, так что mariadb будет знать, где искать ваши файлы db:

$ 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) добавить любые параметры конфигурации mariadb, которые могут вам понадобиться раздел [mariadb]

5) установить mariadb (мне нравится использовать варево, но выбирайте свой яд) ... и вы действительно можете это сделать в любое время

$ brew install mariadb

6) сделайте символическую ссылку из my.conf с шага два

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

6a) вы можете поместить свой my.cnf в любом месте, если есть копия или ссылка на нее в /etc/my.cnf ... Цель здесь состоит в том, чтобы реализация mariadb и MAMP в mysql использовала те же настройки конфигурации.

7) теперь сделать сценарий оболочки оболочки для загрузки apache и mariadb

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

8) получить / принять к сведению текущий скрипт start / stop для apache (это будет не очень интересно)

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

9) получить установленный путь mariadb и сделать конечно, это версия mariadb

$ 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) теперь редактировать startSomething.sh

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

11) сделать то же самое для stopSomething.sh

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

12) вот и все! чтобы начать или остановить вещи

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

, если вы хотите ванильный MAMP, используйте приложение MAMP, которое поставляется с MAMP. в противном случае получайте удовольствие от этой немного более быстрой базы данных с кучей веселых новых функций ... но имейте в виду, что, хотя mariadb по дизайну является заменой для mysql, это не так, наоборот. ( MariaDB v MySQL совместимость )

3
ответ дан pxl 28 August 2018 в 03:08
поделиться

MAMP использует MAMP / bin / startMysql.sh для запуска mysql. Попробуйте изменить его.

3
ответ дан Thiem Nguyen 28 August 2018 в 03:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: