Welcome 微信登录

首页 / 数据库 / MySQL / RHEL Server 6.3下MySQL5.5.25a源码安装

OS:RHEL Server 6.3MySQL:mysql-5.5.25a.tar.gz相关依赖包:ncurses-5.9.tar.gzbison-2.5.tar.gz安装MySQL一、安装依赖包(1)ncurses[root@test ~]# cd /data1/lnmp/[root@test lnmp]# tar -xzf ncurses-5.9.tar.gz[root@test lnmp]# cd ncurses-5.9[root@test ncurses-5.9]# ./configure[root@test ncurses-5.9]# make && make install(2)bison[root@test lnmp]# tar -xzf bison-2.5.tar.gz[root@test lnmp]# cd bison-2.5[root@test bison-2.5]# ./configure[root@test bison-2.5]# make && make install二、安装用于编译 MySQL 的 cmake 工具[root@test lnmp]# tar -xzf cmake-2.8.8.tar.gz[root@test lnmp]# cd cmake-2.8.8[root@test cmake-2.8.8]#./configure[root@test cmake-2.8.8]#make && make install三、源码安装 MySQL(1)建立运行MySQL的用户和组[root@test ~]# groupadd mysql[root@test ~]# useradd -M -g mysql -s /sbin/nologin mysql(2)建立相关目录[root@test ~]# mkdir /usr/local/mysql[root@test ~]# mkdir /var/lock/mysql[root@test ~]# mkdir /var/run/mysql[root@test ~]# mkdir /var/log/mysql[root@test ~]# mkdir /data1/mysql_db[root@test ~]# chown -R mysql:mysql /usr/local/mysql/[root@test ~]# chown mysql:mysql /var/run/mysql/[root@test ~]# chown mysql:mysql /var/lock/mysql/[root@test ~]# chown mysql:mysql /var/log/mysql/[root@test ~]# chown mysql:mysql /data1/mysql_db/ ------------------------------------------------------------------------------------------注意:之所以要创建/var/lock/mysql/var/run/mysql目录,这是因为mysql server是用mysql这个用户启动的。/var/lock//var/run/这两个目录只有root才有写的权限,所以mysql这个用户不能在其中建立mysql.lockmysql.pid文件。所以要在/var/lock//var/run/这两个目录分别再建立一个目录,例如:mysql。并把这个目录所有者和群组改为mysql这具用户和群组。此种做法也是为了便于管理,例如把日志存放在/var/log/mysql/,日志只会在这一个目录下轮转,便于管理#chown mysql:mysql /var/run/mysql/ /var/lock/mysql/ /var/log/mysql/错误:如果数据库 /data1/mysql_db/ 目录权限设置不正确,在启动 mysql 时可能会出现下面的错误。[root@test ~]# tail /var/log/mysql.log120713 17:15:21 mysqld_safe Starting mysqld daemon with databases from /data1/mysql_db /usr/local/mysql/bin/mysqld: File "./mysql-bin.index" not found (Errcode: 13)120713 17:15:21 [ERROR] Aborting
120713 17:15:21 [Note] /usr/local/mysql/bin/mysqld: Shutdown complete
120713 17:15:21 mysqld_safe mysqld from pid file /var/run/mysql/mysql.pid ended[root@test ~]#
解决方法:这里是用mysql这个用户启动数据库的。所以要把建立的数据库目录 /data1/mysql_db/ 的所有者和群组更改为mysql。
[root@test ~]#chown -R mysql:mysql /data1/mysql_db/
这一步最好在初始化完数据库时再做一下。初始化完成后,可以先检查这个目录下的新建立的文件和目录的权限是否正确,如果正确则不用再做这一步了。
为了安全可以指定用户 mysql 初始化数据库:#./mysql_install_db --user=mysql --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/data1/mysql_db----------------------------------------------------------------------------------------(3)源码安装 MySQL[root@test ~]# cd /data1/lnmp/[root@test lnmp]# tar -xzf mysql-5.5.25a.tar.gz[root@test lnmp]# cd mysql-5.5.25a[root@test mysql-5.5.25a]cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql 
-DSYSCONFDIR=/etc
-DINSTALL_MANDIR=/usr/share/man
-DMYSQL_UNIX_ADDR=/tmp/mysqld.sock -DMYSQL_DATADIR=/data1/mysql_db <?XML:NAMESPACE PREFIX = O />-DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DWITH_READLINE=ON-DWITH_SSL=system -DWITH_DEBUG=0 -DWITH_PARTITION_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_FEDERATED_STORAGE_ENGINE=1  -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DINSTALL_LAYOUT=STANDALONE -DENABLED_LOCAL_INFILE=1 -DENABLED_PROFILING=1 -DMYSQL_MAINTAINER_MODE=0 -DWITH_EMBEDDED_SERVER=1 -DMYSQL_TCP_PORT=3306 -DMYSQL_USER=mysql[root@test mysql-5.5.25a]#make[root@test mysql-5.5.25a]#make install------------------------------------------------------------------------------------------[root@test mysql-5.5.25a]cmake . LH注意:在编译的时候有可能会出现以下错误。-- Could NOT find Curses (missing:  CURSES_LIBRARY CURSES_INCLUDE_PATH)CMake Error at cmake/readline.cmake:83 (MESSAGE):  Curses library not found.  Please install appropriate package,
      remove CMakeCache.txt and rerun cmake.On Debian/Ubuntu, package name is libncurses5-dev, on RedHat and derivates it is ncurses-devel.Call Stack (most recent call first):  cmake/readline.cmake:127 (FIND_CURSES)  cmake/readline.cmake:217 (MYSQL_USE_BUNDLED_LIBEDIT)  CMakeLists.txt:268 (MYSQL_CHECK_READLINE) -- Configuring incomplete, errors occurred!错误原因:这是因为没有安装curses library的原因,如果是Debian/Ubuntu平台则要安装libncurses5-dev,RHEL平台安装ncurses-devel
解决方法:[root@test mysql-5.5.25a]# yum install ncurses-devel #或源码安装[root@test mysql-5.5.25a]# rm -rf CMakeCache.txt    #删除CMakeCache.txt文件[root@test mysql-5.5.25a]# cmake .  #再重新编译,即可!------------------------------------------------------------------------------------------(4)建立 MySQL 配置文件[root@test mysql-5.5.25a]# cp support-files/my-huge.cnf /etc/my.cnf[root@test mysql-5.5.25a]# cp support-files/mysql.server /etc/rc.d/init.d/mysqld
[root@test mysql-5.5.25a]# chmod 755 /etc/rc.d/init.d/mysqld
[root@test mysql-5.5.25a]# echo "export PATH=$PATH:/usr/local/mysql/bin" >> /ect/profile[root@test mysql-5.5.25a]# source /etc/profile
------------------------------------------------------------------------------------------注意:mysql-5.5.25a/support-files下共有5my.cnf配置文件。★ my-small.cnf适用于小型数据库,该配置文件专为物理内存小于64MB的服务器而设计。★ my-medium.cnf适用于物理内存在32MB64MB之间的专用于运行MySQL服务器,或物理内存在128MB以上。★ my-large.cnf适用于物理内存在512MB以上的专用于运行MySQL数据库的服务器。★ my-huge.cnf适用于物理内存在1GB2GB之间的专用于运行MySQL数据库服务器。★ my-innodb-heavy-4G.cnf适用于服务器物理内存在4GB以上,且需要运行复杂查询的MySQL数据库。------------------------------------------------------------------------------------------(5)修改/etc/rc.d/init.d/mysqld 脚本文件根据 cmake 时指定的配置参数和 my.cnf 配置文件中的参数修改 mysqld 这个脚本中的变量;my.cnf 配置文件中的参数优先于 cmake 时指定的参数。如果 my.cnf 配置文件没有设置对应的参数,则数据库运行时会以 cmake 时指定的参数为准。my.cnf 中参数优先级高于 cmake 时的配置参数。[root@test ~]# vim /etc/rc.d/init.d/mysqldbasedir=/usr/local/mysqldatadir=/data1/mysql_dblockdir="/var/lock/mysql"lock_file_path="$lockdir/mysql.lock"mysqld_pid_file_path = /var/run/mysql/mysql.pid

(6)修改 /etc/my.cnf 配置文件根据 cmake 时的配置修改 my.cnf 文件的部分参数。如果 my.cnf 配置文件没有设置对应的参数,则数据库运行时会以 cmake 时指定的参数为准。my.cnf 中参数优先级高于 cmake 时的配置参数。
[root@test ~]# vim  /etc/my.cnf
# The following options will be passed to all MySQL clients[client]#password       = your_passwordport            = 3306socket          = /tmp/mysql.sock
# The MySQL server[mysqld]user            = mysqlport            = 3306socket          = /tmp/mysql.sockbasedir                  = /usr/local/mysqldatadir         = /data1/mysql_dbpid-file        = /var/run/mysql/mysql.pidlog-error       = /var/log/mysql/mysql.logcharacter-set-server = utf8
  • 1
  • 2
  • 下一页
MySQL主从replication半同步设置及支持基于ssl复制配置Linux安装PostgreSQL 8.3步骤相关资讯      MySQL安装 
  • MySQL安装、配置、使用及JDBC链接  (02/23/2015 12:42:19)
  • Linux下MySQL默认安装目录和常用命  (10/29/2014 19:07:55)
  • MySQL自动化运维之安装篇  (09/21/2014 10:00:17)
  • Linux编译安装MySQL  (02/10/2015 19:49:03)
  • CentOS 6.5 环境安装 MySQL 5.1  (09/22/2014 05:50:26)
  • CentOS 6.4安装MySQL的过程中出现  (08/05/2014 06:40:47)
本文评论 查看全部评论 (0)
表情: 姓名: 字数