MySQL is a widely used and fast SQL database server. It is a client/server implementation that consists of a server daemon and many different client programs and libraries.
Download (HTTP): http://mysql.he.net/Downloads/MySQL-4.1/mysql-4.1.8a.tar.gz
Download (FTP): ftp://mirror.mcs.anl.gov/pub/mysql/Downloads/MySQL-4.1/mysql-4.1.8a.tar.gz
Download MD5 sum: 2886edbe5cc826727fbb79a79d41145c
Download size: 22 MB
Estimated disk space required: 117 MB
Estimated build time: 4.65 SBU
OpenSSL-0.9.7e, tcpwrappers-7.6, libedit (as an alternative to readline), ORBit-0.5.17 (detected only if which-2.16 is installed), Doxygen-1.4.1 and TeX-2.0.2
For security reasons, running the server as an unprivileged user and group is strongly encouraged:
groupadd mysql &&
useradd -c mysql -d /dev/null -g mysql -s /bin/false mysql
Build and install MySQL by running the following commands:
CPPFLAGS="-D_GNU_SOURCE" ./configure --prefix=/usr --sysconfdir=/etc \
--libexecdir=/usr/sbin --localstatedir=/srv/mysql \
--enable-thread-safe-client --enable-assembler \
--enable-local-infile --with-named-thread-libs=-lpthread \
--with-unix-socket-path=/var/run/mysql/mysql.sock \
--without-debug --without-bench --without-readline &&
make testdir=/usr/lib/mysql/mysql-test &&
make testdir=/usr/lib/mysql/mysql-test install &&
cd /usr/lib &&
ln -sf mysql/libmysqlclient{,_r}.so* .
--libexecdir=/usr/sbin: This switch installs the mysqld daemon in an appropriate location.
--localstatedir=/srv/mysql: This switch forces MySQL to use /srv/mysql for database files and other variable data.
--enable-thread-safe-client: This switch compiles a thread-safe MySQL client library.
--enable-assembler: This switch allows using assembler versions of some string functions.
--enable-local-infile: This switch enables the LOAD DATA INFILE SQL statement.
CPPFLAGS="-D_GNU_SOURCE" --with-named-thread-libs=-lpthread: This environment variable and configure switch enable building on NPTL systems.
--with-unix-socket-path=/var/run/mysql: This switch puts the unix-domain socket into /var/run/mysql directory instead of default /tmp.
--without-bench: This switch skips building the benchmark suite.
--without-readline: This switch forces the build to use the system copy of readline instead of the bundled copy.
make testdir=...: This installs the test suite in /usr/lib/mysql/mysql-test. BLFS is currently seeking a method to omit the installation of the test suite altogether.
ln -sf mysql/libmysqlclient{,_r}.so* .: This command makes the MySQL shared libraries available to other packages at run-time.
--with-libwrap: This switch adds tcpwrappers support to MySQL.
--with-openssl: This switch adds OpenSSL support to MySQL.
There are several default configuration files available in /usr/share/mysql which you can use. Create /etc/my.cnf using the following command:
cp /usr/share/mysql/my-medium.cnf /etc/my.cnf
You can now install a database and change the ownership to the unprivileged user and group.
mysql_install_db --user=mysql
Further configuration requires that the MySQL server be running:
install -o mysql -d /var/run/mysql &&
mysqld_safe --user=mysql 2>&1 >/dev/null &
A default installation does not setup a password for the administrator, so use the following command to set one. Replace [new-password] with your own.
mysqladmin -u root password [new-password]
Configuration of the server is now finished. Shut the server down using the following command:
mysqladmin -p shutdown
Install the /etc/rc.d/init.d/mysql init script included in the blfs-bootscripts-6.0 package.
make install-mysql
The MySQL package contains client_test, comp_err, isamchk, isamlog, make_win_binary_distribution, make_win_src_distribution, msql2mysql, my_print_defaults, myisam_ftdump, myisamchk, myisamlog, myisampack, mysql, mysql_config, mysql_convert_table_format, mysql_create_system_tables, mysql_explain_log, mysql_find_rows, mysql_fix_extensions, mysql_fix_privilege_tables, mysql_install_db, mysql_secure_installation, mysql_setpermission, mysql_tableinfo, mysql_tzinfo_to_sql, mysql_waitpid, mysql_zap, mysqlacess,mysqladmin, mysqlbinlog, mysqlbug, mysqlcheck, mysqld, mysqld_multi, mysqld_safe, mysqldump, mysqldumpslow, mysqlhotcopy, mysqlimport, mysqlmanager, mysqlmanager-pwgen, mysqlmanagerc, mysqlshow, mysqltest, pack_isam, perror, replace, resolve_stack_dump, resolveip, libdbug, libheap, libmerge, libmyisam, libmyisammrg, libmysqlclient, libmysqlclient_r, libmystrings, libmysys, libnisam and libvio.
A package listing would be several pages long. Consult the MySQL documentation for full details instead.
Certain MySQL support programs may require the Perl DBI modules to be installed to function properly.
Last updated on 2005-01-25 09:02:00 -0700