【转】CentOS6.3源码装配mysql5.5(多方法)
【转】CentOS6.3源码安装mysql5.5(多方法)???
【转】CentOS6.3源码安装mysql5.5(多方法)
?
??
==================================================================
1.安装准备配置防火墙,开启3306端口:[root@localhost src]# vi /etc/sysconfig/iptables-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT注:这条规则应该添加到默认22端口的后面。(如上所示)重启防火墙,使其配置生效:[root@localhost src]# /etc/init.d/iptables restart关闭SELINUX:[root@localhost src]# vi /etc/selinux/config在最后面添加如下信息:SELINUX=disabled:x??? ??? ←保存退出重启系统,使其生效:[root@localhost src]# shutdown -r now?查看当前版本信息:[feng@localhost Tools]$ rpm -qa|grep mysqlmysql-libs-5.1.61-4.el6.x86_64卸载当前较低版本:(需要root权限)[root@localhost Tools]# yum -y remove mysql-libs-5.1.61-4.el6.x86_64?2.安装Cmake,为MySQL编译工具(版本:cmake-2.8.9.tar.gz,在/usr/local/src目录中)安装gcc-c++,如果没有当执行./bootstrap时报错如下:---------------------------------------------CMake 2.8.9, Copyright 2000-2011 Kitware, Inc.C compiler on this system is: cc---------------------------------------------Error when bootstrapping CMake:Cannot find appropriate C++ compiler on this system.Please specify one using environment variable CXX.See cmake_bootstrap.log for compilers attempted.---------------------------------------------Log of errors: /usr/local/src/cmake-2.8.9/Bootstrap.cmk/cmake_bootstrap.log---------------------------------------------报错:缺少gcc-C++编译器解决办法:安装gcc-c++编译器[root@localhost src]# yum install gcc-c++??? ??? ←安装,选择y安装完成[root@localhost src]# tar zxvf cmake-2.8.9.tar.gz??? ←解压[root@localhost src]# cd cmake-2.8.9[root@localhost cmake-2.8.9]# ./bootstrap??? ??? ←同执行./configure[root@localhost cmake-2.8.9]# gmake??? ??? ??? ←编译[root@localhost cmake-2.8.9]# gmake install??? ??? ←安装?3.正式安装[root@localhost src]# tar zxvf mysql-5.5.27.tar.gz[root@localhost src]# cd mysql-5.5.27安装ncurses-devel包和bison包,否则执行cmake .时会出错缺少ncurses-devel包信息如下:-- 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!原因:缺少ncurses-devel包,需要先删除CMakeCache.txt,再进行安装缺少bison包信息如下:Warning: Bison executable not found in PATH-- Configuring done-- Generating done-- Build files have been written to: /usr/local/src/mysql-5.5.27原因:缺少bison包?为了避免出错,所以先安装ncurses-devel包和bison包[root@localhost mysql-5.5.27]# yum install ncurses-devel[root@localhost mysql-5.5.27]# yum install bison配置用户和用户组:[root@localhost mysql-5.5.27]# groupadd mysql??? ??? ??? ??? ←添加mysql用户组[root@localhost mysql-5.5.27]# useradd -g mysql mysql -s /bin/false??? ←创建mysql用户,并加入到mysql组,不允许mysql用户直接登录系统[root@localhost mysql-5.5.27]# mkdir -p /data/mysql??? ??? ??? ←创建数据库存放目录[root@localhost mysql-5.5.27]# chown -R mysql:mysql /data/mysql/??? ←设置数据库目录权限[root@localhost mysql-5.5.27]# mkdir -p /usr/local/mysql??? ??? ←设置安装目录[root@localhost mysql-5.5.27]# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql -DSYSCONFDIR=/etc??? ←别漏了有个点。[root@localhost mysql-5.5.27]# make && make install??? ??? ??? ←时间较长?4.配置[root@localhost mysql-5.5.27]# cd /usr/local/mysql/[root@localhost mysql]# cp ./support-files/my-huge.cnf /etc/my.cnf??? ←拷贝配置文件,若存在则覆盖[root@localhost mysql]# vi /etc/my.cnf??? ??? ??? ??? ??? ←编辑,在[mysqld]下增加一行datadir = /data/mysql:x??? ??? ←保存退出[root@localhost mysql]# ./scripts/mysql_install_db --user=mysql??? ??? ←生成mysql系统数据库[root@localhost mysql]# cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld??? ??? ←把mysql加入系统启动[root@localhost mysql]# chmod 755 /etc/init.d/mysqld??? ??? ←增加执行权限[root@localhost init.d]# chkconfig mysqld on??? ??? ??? ←加入开机启动[root@localhost init.d]# vi /etc/rc.d/init.d/mysqld ??? ??? ←编辑basedir=/usr/local/mysql??? ←mysql程序安装路径datadir=/data/mysql??? ??? ←mysql数据存放vi 路径??? ??? ??? ??? ???[root@localhost mysql]# service mysqld start??? ??? ??? ←启动成功则提示:Starting MySQL..... SUCCESS!将mysql服务加入系统环境变量[root@localhost mysql]# vi /etc/profile??? ??? ??? ??? ←编辑export PATH=$PATH:$JAVA_HOME/bin:/usr/local/mysql/bin??? ??? ←在最后加上:/usr/local/mysql/bin[root@localhost mysql]# source /etc/profile??? ??? ??? ←使其配置生效?5.设置密码[root@localhost bin]# ./mysqladmin -u root password 123456??? ←设置成功设置成功后重新启动![root@localhost mysql]# service mysqld restart6.删除匿名用户[feng@localhost ~]$ mysql -u root -p??? ??? ??? ←通过密码登录Enter password: ??? ←输入密码mysql> select user,host,password from mysql.user;??? ←查看用户信息mysql> delete from mysql.user where user="";??? ??? ←删除匿名用户
?
==================================================================
?
1.安装cmake
# cd/usr/local/src/tarbag?
# wget -c http://www.cmake.org/files/v2.8/cmake-2.8.3.tar.gz
# tar zxvf cmake-2.8.3.tar.gz -C ../software
# cd ../software/cmake-2.8.3
# ./bootstrap
# make
# make install
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/services/mysql5.5 -DINSTALL_DATADIR=/data/mydata? -DDEFAULT_CHARSET=utf8? -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all -DWITH_EMBEDDED_SERVER=1 -DENABLED_LOCAL_INFILE=1 -DWITH_MYISAM_STORAGE_ENGINE=1
Could NOT find Curses (missing:? CURSES_LIBRARY CURSES_INCLUDE_PATH)
yum install ncurses-devel
rm CMakeCache.txt 重新cmake
编译选项说明:
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql? //安装目录
-DINSTALL_DATADIR=/www/mydata //数据库存放目录
-DDEFAULT_CHARSET=utf8 //使用utf8字符
-DDEFAULT_COLLATION=utf8_general_ci? //校验字符
-DEXTRA_CHARSETS=all? //安装所有扩展字符集
-DWITH_SSL=system //使用SSL加密
-DWITH_EMBEDDED_SERVER=1 //编译成embedded mysql library
-DENABLED_LOCAL_INFILE=1 //允许从本地导入数据
-DWITH_MYISAM_STORAGE_ENGINE=1 //安装myisam引擎
3.新建用户
# useradd mysql -d /dev/null -s /sbin/nologin
4.配置
# chown -R mysql.mysql /usr/local/services/mysql5.5/
# chown -R mysql.mysql /www/mydata
# cd /usr/local/mysql
# cp ./support-files/my-medium.cnf /etc/my.cnf
# ./scripts/mysql_install_db --user=mysql
# chown -R? mysql.mysql /www/mydata
# ./bin/mysqld_safe --user=mysql &
# cp ./support-files/mysql.server /etc/init.d/mysqld
# chmod +x /etc/init.d/mysqld
# chkconfig --add mysqld
# chkconfig mysqld on
# service mysqld restart
若提示/etc/init.d/mysqld: line 256: my_print_defaults: command not found
MySQL server PID file could not be found!??
编辑/etc/init.d/mysqld 46,47行basedir和datadir变量。