RedFlag LinuxSP3 安装mysql 5.6.14
nstallation of MySQL
For security reasons, running the server as an unprivileged user and group is strongly encouraged. Issue the following (as root
) to create the user and group:
groupadd -g 40 mysql && useradd -c "MySQL Server" -d /srv/mysql -g mysql -s /bin/false -u 40 mysql
If the MySQL server is not needed, it is possible to build only the client libraries of MySQL. To do this you need to add -DWITHOUT_SERVER=ON
to the cmake command below.
MySQL contains an embedded server library. By default, it is built as a statically linked library, libmysqld.a
, but by applying the optional patch, a shared version of this library can be built. The library is needed by certain applications, such as Amarok and it is recommend to use the shared libraries whenever it is possible.
There are numerous options available to cmake. Check the output of the `cmake . -LH` for additional customization options. See the MySQL Documentation for a full listing of all options.
If you want to build shared version of the embedded server library, apply the following patch:
patch -Np1 -i ../mysql-5.6.14-embedded_library_shared-1.patch
Install MySQL by running the following commands:
sed -i "/ADD_SUBDIRECTORY(sql\/share)/d" CMakeLists.txt && sed -i "s/ADD_SUBDIRECTORY(libmysql)/&\\nADD_SUBDIRECTORY(sql\/share)/" CMakeLists.txt && sed -i "s@data/test@\${INSTALL_MYSQLSHAREDIR}@g" sql/CMakeLists.txt && sed -i "s@data/mysql@\${INSTALL_MYSQLTESTDIR}@g" sql/CMakeLists.txt && sed -i "s/srv_buf_size/srv_sort_buf_size/" storage/innobase/row/row0log.cc && mkdir build && cd build && cmake -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX=/usr \ -DINSTALL_DOCDIR=share/doc/mysql \ -DINSTALL_DOCREADMEDIR=share/doc/mysql \ -DINSTALL_INCLUDEDIR=include/mysql \ -DINSTALL_INFODIR=share/info \ -DINSTALL_MANDIR=share/man \ -DINSTALL_MYSQLDATADIR=/srv/mysql \ -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=/srv/mysql \ -DMYSQL_UNIX_ADDR=/run/mysqld/mysqld.sock \ -DSYSCONFDIR=/etc/mysql \ -DWITH_PERFSCHEMA_STORAGE_ENGINE=OFF \ -DWITH_EXTRA_CHARSETS=complex \ -DWITH_LIBEVENT=system \ -DWITH_SSL=system \ .. && make
To test the results, issue: make test.
Now, as the root
user:
make install
Tip
The only documentation shipped in the source tarball are mysql.info
and man pages. You can download various formats of the MySQL Reference Manual from http://dev.mysql.com/doc/.
Command Explanations
sed -i ...: First two seds fix client-only builds. Last two seds set correct installation directories for some components.
-DWITHOUT_SERVER=ON
: Use this switch if you don't want the server and would like to build the client only.
-DWITH_EXTRA_CHARSETS=complex
: This switch enables support for the complex character sets.
-DWITH_LIBEVENT=system
: This switch is used to tell the build system to use installed libevent. Remove it if you didn't install libevent.
-DWITH_SSL=system
: This switch is used to tell the build system to use installed OpenSSL. Remove it if you didn't install OpenSSL.
Configuring MySQL
Configuration Information
Note
If you are upgrading from previous major version of MySQL, be sure to consult the MySQL Reference Manual for notes on upgrading the software.
Create basic /etc/mysql/my.cnf
using the following command as the root
user:
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 = /srv/mysql
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
You can now install a database and change the ownership to the unprivileged user and group (perform as the root
user):
mysql_install_db --basedir=/usr --datadir=/srv/mysql --user=mysql && chown -R mysql:mysql /srv/mysql
Further configuration requires that the MySQL server is running. Start the server using the following commands as the root
user:
install -v -m755 -o mysql -g mysql -d /var/run/mysqld && mysqld_safe --user=mysql 2>&1 >/dev/null &
A default installation does not set up a password for the administrator, so use the following command as the root
user 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 as the root
user:
mysqladmin -p shutdown
Boot Script
Install the /etc/rc.d/init.d/mysql
init script included in the blfs-bootscripts-20130908 package as the root
user to start the MySQL server during system boot-up.
make install-mysql
Contents
Short Descriptions
Descriptions of all the programs and libraries would be several pages long. Instead, consult the mysql.info
documentation or the on-line reference manual at http://dev.mysql.com/doc/refman/5.6/en/index.html.
mysql5.6源代码编译安装
/*安装CMake*/
/*进入CMake源代码所在目录*/
cd #
/*解压CMake源代码*/
tar zxf cmake-2.8.3.tar.gz
/*进入CMake源代码目录*/
cd cmake-2.8.3
/*配置安装参数*/
./configure --prefix=/usr/local/cmake
/*编译*/
gmake
/*安装*/
make install
/*设置软连接*/
ln -s /usr/local/cmake/bin/cmake /usr/bin
##########################################################################
/*创建用户组*/
groupadd mysql
/*创建用户并加入用户组,并取消永不的sbin权限*/
useradd -g mysql -s"/sbin/nologin" mysql
/*进入root目录[源文件所在目录]*/
cd #
/*解压mysql源代码*/
tar zxf mysql-5.5.8.tar.gz
/*进入解压后的MYSQL源代码目录*/
cd mysql-5.5.8
/*用cmake配置编译选项*/
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/home/mysql -DSYSCONFDIR=/etc -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_FEDERATED_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DMYSQL_UNIX_ADDR=/tmp/mysqld.sock -DENABLED_LOCAL_INFILE=1 -DEXTRA_CHARSETS=all -DMYSQL_USER=mysql
/*开始编译*/
gmake
/*安装mysql到配置的目录*/
make install
/*进入mysql安装目录下的脚本目录*/
cd /usr/local/mysql/scripts
/*安装mysql默认数据库*/
./mysql_install_db --basedir=/usr/local/mysql --datadir=/home/mysql --user=mysql
/*进入mysql安装目录下的支持文件目录*/
cd /usr/local/mysql/support-files
/*复制mysql配置文件*/
cp my-medium.cnf /etc/my.cnf
/*复制服务文件并修改*/
cp mysql.server mysqld
vi mysqld
/*
修改:
basedir=/usr/local/mysql
datadir=/home/mysql
完成后按ESC键
然后输入
:wq
*/
mv mysqld /etc/init.d/mysqld
/*启动服务*/
service mysqld start
/*添加服务到自启动项*/
chkconfig --level 3 mysqld on
/*设置软连接*/
ln -s /usr/local/mysql/bin/mysql /usr/bin
ln -s /usr/local/mysql/bin/mysqldump /usr/bin
ln -s /usr/local/mysql/bin/mysqladmin /usr/bin
/*设置mysql的默认字符集*/
vi /etc/my.cnf
/*在[mysql配置节里面加入]*/
DEFAULT-CHARACTER-SET=UTF8
/*在[mysqld配置节里面加入]*/
CHARACTER-SET-SERVER=UTF8
The Perl DBI modules must be installed for some of the MySQL support programs to function properly.
目录 返回
首页