no way to compare when less than two revisions

Differences

This shows you the differences between two versions of the page.


mysql_source_installation [2015/06/01 22:56] (current) – created - external edit 127.0.0.1
Line 1: Line 1:
 +====== MySQL Source Installation ======
 +
 +  * [[MySQL]]
 +
 +Generic install for MySQL.
 +
 +Add mysql group and user:
 +
 +<code>
 +groupadd mysql
 +useradd -g mysql mysql
 +</code>
 +
 +Target install base:
 +
 +<code>
 +/var/run/mysqld/ - mysqld.sock
 +/usr/bin - binaries
 +/etc/mysql - configuration
 +/usr/lib/ - libraries
 +/usr/lib/mysql/plugin - plugins
 +/usr/sbin - mysqld binary
 +/usr/share/doc/percona-server-5.5/ - docs
 +/usr/share - shares
 +/usr/share/man - man pages
 +/usr/share/mysql - charsets
 +</code>
 +
 +Unpack tarball and start build for a 5.5 install:
 +
 +<code>
 +rm -f CMakeCache.txt
 +cmake . -DCMAKE_INSTALL_PREFIX=/usr -DMYSQL_DATADIR=/var/lib/mysql -DSYSCONFDIR=/etc/mysql -DINSTALL_BINDIR=bin -DINSTALL_DOCDIR=share/doc/mysql-5.5 -DINSTALL_DOCREADMEDIR=share/doc/mysql-5.5/readme -DINSTALL_INCLUDEDIR=include/mysql -DINSTALL_INFODIR=share/info -DINSTALL_LIBDIR=lib/mysql -DINSTALL_MANDIR=share/man -DINSTALL_MYSQLSHAREDIR=share/mysql -DINSTALL_MYSQLTESTDIR=share/mysql/mysql-test -DINSTALL_PLUGINDIR=lib/mysql/plugin -DINSTALL_SBINDIR=libexec -DINSTALL_SCRIPTDIR=bin -DINSTALL_SQLBENCHDIR=share/mysql -DINSTALL_SUPPORTFILESDIR=/usr/share/mysql -DWITHOUT_UNIT_TESTS=1 -DINSTALL_SUPPORTFILESDIR=share/doc/mysql-5.5/support -DWITH_SSL=system
 +make
 +</code>
 +
 +Install new init script:
 +
 +<code>
 +cp /etc/init.d/mysql{,.bak}
 +cp support-files/mysql.server /etc/init.d/mysql.server
 +</code>
 +
 +Get the old value for the ''innodb_log_file_size'' and update it in the new my.cnf:
 +
 +<code>
 +mysql information_schema -Bse "select variable_value from session_variables where variable_name = 'innodb_log_file_size';"
 +</code>
 +
 +Backups, stop server:
 +
 +<code>
 +mysqldump -A > ~/mysqldump-$(date %+F).sql
 +/etc/init.d/mysql stop
 +</code>
 +
 +Setup directories, files and ownership:
 +
 +<code>
 +mkdir /var/run/mysqld /var/log/mysql
 +touch /var/run/mysqld/mysqld.{pid,sock} /var/log/mysql/mysql{,-slow}.log
 +rm -f /var/lib/mysql/mysql.sock /tmp/mysql.sock /var/lib/mysql/mysqld.pid /var/lib/mysql/mysql.sock 
 +mkdir -p /var/lib/mysql/data
 +mkdir -p /var/log/mysql
 +touch /var/log/mysql/mysql{,-slow}.log
 +</code>
 +
 +Actually install binaries, final setup:
 +
 +<code>
 +make install
 +cd /usr
 +# ./bin/mysql_install_db --datadir=/var/lib/mysql/data
 +chown -R mysql: /var/lib/mysql/data /var/run/mysqld /var/log/mysql
 +chmod 2750 /var/log/mysql/*
 +chmod 0700 /var/lib/mysql/data
 +cp /etc/my.cnf{,.bak}
 +</code>
 +
 +Start the server:
 +
 +<code>
 +tail -f /var/log/mysql/mysql.log
 +mv /etc/init.d/mysql{.server,}
 +chmod +x /etc/init.d/mysql
 +/etc/init.d/mysql start
 +</code>
 +
 +Create symlinks that would be deleted before now:
 +
 +<code>
 +ln -s /var/run/mysqld/mysqld.pid /var/lib/mysql/mysqld.pid
 +ln -s /var/run/mysqld/mysqld.sock /var/lib/mysql/mysql.sock
 +ln -s /var/run/mysqld/mysqld.sock /tmp/mysql.sock
 +</code>
 +
 +Bring databases up to speed:
 +
 +<code>
 +mysql_upgrade
 +mysqlcheck -A
 +</code>
 +
 +Some possible loose ends:
 +
 +<code>
 +cpan install DBD::MySQL
 +</code>
 +
 +Add to your php.ini:
 +
 +<code>
 +pdo_mysql.default_socket = /var/run/mysqld/mysqld.sock
 +</code>
 +
  

Navigation
QR Code
QR Code mysql_source_installation (generated for current page)