Hello Sergei, On Tue, Oct 28, 2014 at 12:39 PM, Sergei Golubchik <[email protected]> wrote:
> Hi, Geoff! > > On Oct 27, Geoff Montee wrote: > > I've been building MySQL 5.6 from source for a while. I recently started > > testing MariaDB Galera Cluster 10.0. When I build MariaDB Galera Cluster > > from source, I originally used the same cmake flags that I used for MySQL > > 5.6, along with the additional flags specified in Codership's > documentation: > > > > http://galeracluster.com/documentation-webpages/installmariadbsrc.html > > > > My build process basically comes down to this: > > > > cmake . -L -DCMAKE_INSTALL_PREFIX=$MYQL_PREFIX > -DMYSQL_DATADIR=$MYSQL_DATA > > -DWITH_SSL=yes -DWITH_READLINE=ON -DWITH_PIC=ON -DWITH_UNIT_TESTS=0 > > -DWITH_WSREP=ON -DWITH_INNODB_DISALLOW_WRITES=1 > > make > > make install > > > > With MariaDB Galera Cluster 10.0.14, the server that gets built does not > > have the Archive and Blackhole storage engines enabled by default. I do > see > > that "ha_archive.so" and "ha_blackhole.so" were built and placed in > > plugin_dir, so I could probably enable them manually with INSTALL PLUGIN. > > > > This surprised me, because these engines are enabled by default in MySQL > > 5.6, and I see no mention of this difference here: > > > > > https://mariadb.com/kb/en/mariadb-vs-mysql-compatibility/#incompatibilities-between-mariadb-100-and-mysql-56 > > > > Of course, if I add "-DWITH_ARCHIVE_STORAGE_ENGINE=ON > > -DWITH_BLACKHOLE_STORAGE_ENGINE=ON" to my cmake arguments, then these > > engines are enabled in the MariaDB server that gets built. > > > > Is this difference intentional? If so, you may want to add a note to the > > documentation referenced above. > > This has changed in MySQL-5.6 about in 2012, as a response to the internal > bug > > Bug#13595996 CREATE A CONSISTENT DEVELOPMENT CMAKE OPTION SET AND MAKE > IT A DEFAULT > > Interesting. I just checked MySQL 5.5, and when I build it with the above flags, it has the same behavior as MariaDB 10.0: the Archive and Blackhole storage engines are only included as shared libraries in plugin_dir. Thanks for that clarification. > This change links storage engines statically into the server by default, > not only in mysql_release configuration, as it was before. > > But we intentinally don't do that. There is a release configuration, as > specified in https://mariadb.com/kb/en/generic-build-instructions/ it is > > cmake . -DBUILD_CONFIG=mysql_release > > and if you don't use it, you can assemble your own configuration as you > see fit. > Thanks! I'll change my build scripts. > > Regards, > Sergei > > P.S. Note that both mysql and mariadb have a concept of "default" > engines - engines that are compiled in by default. They are: > > mysql-5.6 $ grep -lw DEFAULT storage/*/CMakeLists.txt > storage/innobase/CMakeLists.txt > storage/ndb/CMakeLists.txt > storage/perfschema/CMakeLists.txt > > mariadb-10.0 $ grep -lw DEFAULT storage/*/CMakeLists.txt > storage/maria/CMakeLists.txt > storage/perfschema/CMakeLists.txt > storage/xtradb/CMakeLists.txt > > I'm not entirely sure why MySQL enables non-default engines by default, > looks kind of weird. > That is weird. A quick look at the MySQL 5.6 source code suggests that these storage engines are being enabled in cmake/build_configurations/feature_set.cmake. Geoff
_______________________________________________ Mailing list: https://launchpad.net/~maria-discuss Post to : [email protected] Unsubscribe : https://launchpad.net/~maria-discuss More help : https://help.launchpad.net/ListHelp

