close
https://mariadb.com/
http://www.linuxfromscratch.org/blfs/view/svn/server/mariadb.html
# groupadd -g 40 mysql
# useradd -c "MySQL Server" -d /local/MySQL -g mysql -s /bin/false -u 40 mysql
First sed sets correct installation directory for some components. Second sed fixes a bug in the code.
# sed -i "s@data/test@\${INSTALL_MYSQLTESTDIR}@g" sql/CMakeLists.txt
# sed -i "s/srv_buf_size/srv_sort_buf_size/" storage/innobase/row/row0log.cc
# cmake -DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/local/MySQL \
-DINSTALL_DOCDIR=share/doc/mysql \
-DINSTALL_DOCREADMEDIR=share/doc/mysql \
-DINSTALL_MANDIR=share/man \
-DINSTALL_MYSQLSHAREDIR=share/mysql \
-DINSTALL_MYSQLTESTDIR=share/mysql/test \
-DINSTALL_PLUGINDIR=lib/mysql/plugin \
-DINSTALL_SBINDIR=sbin \
-DINSTALL_SCRIPTDIR=bin \
-DINSTALL_SQLBENCHDIR=share/mysql/bench \
-DINSTALL_SUPPORTFILESDIR=share/mysql \
-DMYSQL_DATADIR=/DB \
-DMYSQL_UNIX_ADDR=/run/mysqld/mysqld.sock \
-DWITH_EXTRA_CHARSETS=complex \
-DWITH_EMBEDDED_SERVER=ON \
-DTOKUDB_OK=0
-DWITH_EMBEDDED_SERVER=ON: This switch enables compiling the embedded server library needed by certain applications, such as?Amarok..
-DWITH_EXTRA_CHARSETS=complex: This switch enables support for the complex character sets.
-DWITHOUT_SERVER=ON -DWITH_UNIT_TESTS=OFF: Use these switches if you don't want the server and would like to build the client only.
# make
# make test
Now, as theroot
user:
# make install
# install -v -dm 755 /etc/mysql
# cat > /etc/mysql/my.cnf << "EOF"
# Begin /etc/mysql/my.cnf
# The following options will be passed to all MySQL clients
[client]
#password = your_password
port = 3306
socket = /run/mysqld/mysqld.sock
# The MySQL server
[mysqld]
port = 3306
socket = /run/mysqld/mysqld.sock
datadir = /DB
skip-external-locking
key_buffer_size = 16M
max_allowed_packet = 1M
sort_buffer_size = 512K
net_buffer_length = 16K
myisam_sort_buffer_size = 8M
# Don't listen on a TCP/IP port at all.
skip-networking
# required unique id between 1 and 2^32 - 1
server-id = 1
# Uncomment the following if you are using BDB tables
#bdb_cache_size = 4M
#bdb_max_lock = 10000
# Uncomment the following if you are using InnoDB tables
#innodb_data_home_dir = /srv/mysql
#innodb_data_file_path = ibdata1:10M:autoextend
#innodb_log_group_home_dir = /srv/mysql
# You can set .._buffer_pool_size up to 50 - 80 %
# of RAM but beware of setting memory usage too high
#innodb_buffer_pool_size = 16M
#innodb_additional_mem_pool_size = 2M
# Set .._log_file_size to 25 % of buffer pool size
#innodb_log_file_size = 5M
#innodb_log_buffer_size = 8M
#innodb_flush_log_at_trx_commit = 1
#innodb_lock_wait_timeout = 50
[mysqldump]
quick
max_allowed_packet = 16M
[mysql]
no-auto-rehash
# Remove the next comment character if you are not familiar with SQL
#safe-updates
[isamchk]
key_buffer = 20M
sort_buffer_size = 20M
read_buffer = 2M
write_buffer = 2M
[myisamchk]
key_buffer_size = 20M
sort_buffer_size = 20M
read_buffer = 2M
write_buffer = 2M
[mysqlhotcopy]
interactive-timeout
# End /etc/mysql/my.cnf
EOF
perform as theroot
user
# /local/MySQL/bin/mysql_install_db --basedir=/local/MySQL --datadir=/DB --user=mysql # chown -R mysql:mysql /DB
# install -v -m755 -o mysql -g mysql -d /run/mysqld
# /local/MySQL/bin/mysqld_safe --user=mysql 2>&1 >/dev/null &
# /local/MySQL/bin/mysqladmin -u root password
# /local/MySQL/bin/mysqladmin -p shutdown
mysql.server
works as a standard SysV-style init script.# mysql.server start # mysql.server stop
文章標籤
全站熱搜