LNMP搭建笔记①之编译安装mysql

来源:互联网 发布:sql2000数据库置疑 编辑:程序博客网 时间:2024/05/08 12:26

准备工作:

system:CentOS6.4 64位 (阿里云ECS)
mysql:mysql-5.5.35.tar.gz(由于CentOS6.4的glibc版本较低,所以这里选用5.5版)


使用ssh登录远程服务器:
ssh root@xxx.xxx.xxx.xxx
下载mysql:
 wget http://cdn.mysql.com/Downloads/MySQL-5.5/mysql-5.5.35.tar.gz

编译mysql:

解压mysql-5.5.35.tar.gz
tar xvf mysql-5.5.35.tar.gz
配置编译参数:
cmake  -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_DATADIR=/usr/local/mysql/data -DMYSQL_USER=mysql -DMYSQL_TCP_PORT=3306 -DENABLE_DOWNLOADS=1
开始编译并安装:
make && make install

配置mysql:

创建用户和组:
groupadd mysqluseradd -s /sbin/nologin -g mysql mysql
修改/usr/local/mysql目录所有者和组
chown -R mysql:mysql /usr/local/mysql
进入mysql安装目录 (/usr/local/mysql)执行初始化脚本:
scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql
注:在启动MySQL服务时,会按照一定次序搜索my.cnf,先在/etc目录下找,找不到则会搜索"$basedir/my.cnf",在本例中就是 /usr/local/mysql/my.cnf,这是新版MySQL的配置文件的默认位置!注意:在CentOS 6.4版操作系统的最小安装完成后,在/etc目录下会存在一个my.cnf,需要将此文件更名为其他的名字,如:/etc/my.cnf.bak,否则,该文件会干扰源码安装的MySQL的正确配置,造成无法启动。
在mysql安装目录下,执行下面的命令添加开机启动:
cp support-files/mysql.server /etc/init.d/mysqlchkconfig mysql on

设置root密码:

启动mysql:
service mysql start

出错了!检查错误日志(/usr/local/mysql/data/XXX.err):

从上面可以看出,错误原因是内存分配失败,解决办法是编辑mysql配置文件(/usr/local/mysql/my.cnf),将分配的内存改小些,这里我把它改成32M:

再次启动mysql:

问题解决,启动成功!

接下来编辑/etc/profile文件,在文件末尾添加环境变量:
PATH=/usr/local/mysql/bin:$PATHexport PATH
执行下面命令,使环境变量立即生效:
source /etc/profile
最后执行下面的命令修改root密码:
mysqladmin -u root password XXXXXXXX

至此,mysql编译安装完成!!

参考:http://www.cnblogs.com/xiongpq/p/3384681.html
          http://flyingdutchman.iteye.com/blog/1901149





0 0