CentOS 5.5 安装 mysql5.5.20
安装mysql-5.5.20.tar.gz
创建mysql专用系统帐户
# group add mysql
# useradd -g mysql mysql -d /usr/local/mysql-5.5.20 -s /sbin/nologin
需要的工具:
cmake
http://www.cmake.org
GNU make
http://www.gnu.org/software/make/
GCC 4.2.1 or later
Perl
上面的工具可通过yum安装
开始安装
# tar -zxvf mysql-5.5.20.tar.gz
# cd mysql-5.5.20
# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql-5.5.20 \
-DMYSQL_DATADIR=/usr/local/mysql-5.5.20/data \
-DMYSQL_TCP_PORT=3307 \
-DMYSQL_UNIX_ADDR=/usr/local/mysql-5.5.20/tmp/mysql.sock \
-DDEFAULT_CHARSET=gbk -DDEFAULT_COLLATION=gbk_chinese_ci \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_DEBUG=0 \
-DWITH_EMBEDDED_SERVER=1 \
-DWITH_EXTRA_CHARSETS=all \
-DWITH_READLINE=1 \
-DWITH_SSL=system \
-DWITH_ZLIB=system \
-DMYSQL_USER=mysql
# make
# make install
# cd /usr/local/mysql-5.5.20
# chown -R mysql .
# chgrp -R mysql .
# /usr/local/mysql-5.5.20/scripts/mysql_install_db --user=mysql
# chown -R root .
# chown -R mysql data
# cp support-files/my-medium.cnf /etc/my.cnf
# bin/mysqld_safe --user=mysql &
# cp support-files/mysql.server /etc/init.d/mysqld
修改/etc/init.d/mysqld 使mysql可以后台运行;
找到行 $bindir/mysqld_safe --user=mysql --datadir="$datadir" --pid-file="$mysqld_pid_file_path"; return_value=$? 将其注释改成如下方式:
$bindir/mysqld_safe --user=mysql --datadir="$datadir" --pid-file="$mysqld_pid_file_path" &
return_value=$?
#启动数据库:/etc/init.d/mysqld start
#停止数据库:/etc/init.d/mysqld stop
#重启数据库:/etc/init.d/mysqld restart
添加开机启动服务或修改/etc/rc.local文件
chkconfig --add mysqld
chkconfig mysqld on
service mysqld start
创建一个具有root权限的用户(admin)和密码(12345678)用于远程管理
GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%' IDENTIFIED BY '123456789';
在iptables中开启3306端口否则远程无法访问
-A RH-Firewall-1-INPUT -p tcp -m state -m tcp --dport 3306 --state NEW -j ACCEPT
启动 mysqld 提示Starting MySQL.... ERROR! The server quit without updating PID file (/usr/local/mysql-5.5.20/data/FeiSOS.pid).
根据my.cnf的配置情况,修改相应目录的所属用户及读写权限
提示:
# cmake . -LH 查看安装可配置参数
# ccmake .
安装出错及解决:
错误提示
-- MySQL 5.5.20
-- 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:257 (MYSQL_CHECK_READLINE)
解决办法
# yum install ncurses-devel
错误提示
Warning: Bison executable not found in PATH
解决办法
# yum -y install bison bison-devel
错误提示
-- Looking for SHA512_DIGEST_LENGTH - not found.
CMake Error at cmake/ssl.cmake:83 (MESSAGE):
Cannot find appropriate system libraries for SSL. Use WITH_SSL=bundled to
enable SSL support
Call Stack (most recent call first):
CMakeLists.txt:255 (MYSQL_CHECK_SSL)
解决办法
# yum -y install openssl openssl-devel
错误提示
FATAL ERROR: Could not find ./bin/my_print_defaults
解决办法:
/usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data &(这点非常重要)
重新编译时,需要清除旧的对象文件和缓存信息
# make clean
# rm -f CMakeCache.txt
编译参数参考:
BUILD_CONFIG 采用官方发行版一致的编译参数
CMAKE_BUILD_TYPE 指定产品编译说明信息 RelWithDebInf
CMAKE_INSTALL_PREFIX 指定MySQL安装路径 /usr/local/mysql
CPACK_MONOLITHIC_INSTALL是否建立单个安装包文件 OFF 5.5.7
DEFAULT_CHARSET MYSQL 默认字符集 latin1 5.5.7
DEFAULT_COLLATION MYSQL 默认排序字符集 latin1_swedish_ci 5.5.7
ENABLE_DEBUG_SYNC 是否启用同步调试功能 ON 5.5.7
ENABLE_DOWNLOADS 是否下载可选文件 OFF 5.5.7
ENABLE_DTRACE 是否包含 DTrace 支持 5.5.7
ENABLE_GCOV 是否包含 Gcov 支持 5.5.14
ENABLED_LOCAL_INFILE 是否启用本地 LOAD DATA INFILE OFF 5.5.7
ENABLED_PROFILING 是否启用代码查询分析 ON 5.5.7
INSTALL_BINDIR MySQL 主执行文件目录 PREFIX/bin 5.5.7
INSTALL_DOCDIR 文档安装路径 PREFIX/docs 5.5.7
INSTALL_DOCREADMEDIR 自述文件目录 PREFIX 5.5.7
INSTALL_INCLUDEDIR 头文件目录 PREFIX/include 5.5.7
INSTALL_INFODIR 关于信息文件目录 PREFIX/docs 5.5.7
INSTALL_LAYOUT 选择预定义的安装 STANDALONE 5.5.7
INSTALL_LIBDIR 库文件目录 PREFIX/lib 5.5.7
INSTALL_MANDIR 手册页面目录 PREFIX/man 5.5.7
INSTALL_MYSQLSHAREDIR 共享数据目录 PREFIX/share 5.5.7
INSTALL_MYSQLTESTDIR mysql-test 目录 PREFIX/mysql-test 5.5.7
INSTALL_PLUGINDIR 插件目录 PREFIX/lib/plugin 5.5.7
INSTALL_SBINDIR 服务器超级用户执行文件目录 PREFIX/bin 5.5.7
INSTALL_SCRIPTDIR 脚本目录 PREFIX/scripts 5.5.7
INSTALL_SHAREDIR aclocal/mysql.m4 安装目录 PREFIX/share 5.5.7
INSTALL_SQLBENCHDIR sql-bench 性能测试工具目录 PREFIX 5.5.7
INSTALL_SUPPORTFILESDIR 扩展支持文件目录 PREFIX/support-files 5.5.7
MYSQL_DATADIR 数据库存放目录 5.5.7
MYSQL_MAINTAINER_MODE 是否启用MySQL的维护环境 OFF 5.5.7
MYSQL_TCP_PORT TCP/IP 端口号 3306 5.5.7
MYSQL_UNIX_ADDR Unix Socket 套接字文件 /tmp/mysql.sock 5.5.7
SYSCONFDIR 选项配置文件目录 5.5.7
WITH_COMMENT 编译环境发表评论 5.5.7
WITH_DEBUG 是否包括调试支持 OFF 5.5.7
WITH_EMBEDDED_SERVER 是否要建立嵌入式服务器 OFF 5.5.7
WITH_xxx_STORAGE_ENGINE 静态编译xxx 存储引擎到服务器 5.5.7
WITH_EXTRA_CHARSETS 额外的字符集,包括 all 5.5.7
WITH_LIBWRAP 是否包括支持libwrap(TCP包装) OFF 5.5.7
WITH_READLINE 使用捆绑的readline OFF 5.5.7
WITH_SSL 是否支持SSL no 5.5.7
WITH_ZLIB 是否支持Zlib system 5.5.7
WITHOUT_xxx_