Название: [Qt 3.3.8] Драйвер для MySQL Embedded под Linux Отправлено: Sergeich от Сентябрь 08, 2007, 12:28 Наконец-то разобрался со сборкой сабжа :D Может кому-то окажется полезным. Использовался MySQL 4.0.27.
1) Ставим или собирем MySQL со встраиваемым сервером. При сборке из исходников юзаем ./configure --with-embedded-server, в папке с MySQL-ными библиотеками должна появиться libmysqld.a 2) Запускаем mysql_config --include --libmysqld-libs. Он должен выдать что-то типа: -I/usr/local/include/mysql -L/usr/local/lib/mysql -lmysqld -lpthread -lz -lcrypt -lnsl -lm -lpthread -lrt 3) Лезем в $QTDIR/plugins/src/sqldrivers/mysql и курочим mysql.pro (предварительно желательно скопировать папку mysql в какую-нить mysqlemb). Комментим LIBS *= -lmysqlclient Добавляем INCLUDEPATH += /usr/local/include/mysql LIBS += -L/usr/local/lib/mysql -lmysqld -lpthread -lz -lcrypt -lnsl -lm -lpthread -lrt 4) Опционально меняем название драйвера в $QTDIR/plugins/src/sqldrivers/mysql/main.cpp: заменяем "QMYSQL3" на что-нить более подходящее типа "QMYSQLEMB" 5) cd $QTDIR/plugins/src/sqldrivers/mysql; qmake; make Название: Re: [Qt 3.3.8] Драйвер для MySQL Embedded под Linux Отправлено: bigirbis от Сентябрь 19, 2007, 10:18 Еще один вопрос по теме:
Каким образом при добавлении подключения ( QSqlDatabase::addDatabase() ) передать этому серверу параметры? К примеру: Цитировать innodb_data_home_dir=current_path innodb_log_group_home_dir=current_path innodb_log_arch_dir=current_path innodb_data_file_path="ibdata1:10M:autoextend"; datadir=current_path Долго ковырялся, но так и не осилил... ??? Название: Re: [Qt 3.3.8] Драйвер для MySQL Embedded под Linux Отправлено: KADABRA от Сентябрь 19, 2007, 10:46 Еще один вопрос по теме: А почему именно через QSqlDatabase::addDatabase()?Каким образом при добавлении подключения ( QSqlDatabase::addDatabase() ) передать этому серверу параметры? К примеру: Цитировать innodb_data_home_dir=current_path innodb_log_group_home_dir=current_path innodb_log_arch_dir=current_path innodb_data_file_path="ibdata1:10M:autoextend"; datadir=current_path Долго ковырялся, но так и не осилил... ??? Вроде как инициализировать сервер прийдётся самому: http://dev.mysql.com/doc/refman/5.0/en/mysql-library-init.html Название: Re: [Qt 3.3.8] Драйвер для MySQL Embedded под Linux Отправлено: bigirbis от Сентябрь 19, 2007, 10:53 To KADABRA
Ты тему смотрел? Цитировать А почему именно через QSqlDatabase::addDatabase()? Я имел в виду: средствами QtНазвание: Re: [Qt 3.3.8] Драйвер для MySQL Embedded под Linux Отправлено: KADABRA от Сентябрь 19, 2007, 21:04 To KADABRA Нет, читал.Ты тему смотрел? Цитировать А почему именно через QSqlDatabase::addDatabase()? Я имел в виду: средствами QtНазвание: Re: [Qt 3.3.8] Драйвер для MySQL Embedded под Linux Отправлено: crocus от Сентябрь 20, 2007, 02:17 Что ж такие непонятливые :)
Сначала в "main" инициализируем/запускаем embedded MySql сервер, а затем где-нибудь в "connection.h" подключаемся к нему. |