源码安装mysql-5.5.52(centos6.8minimal)

官方文档:
Installing MySQL Using a Standard Source Distribution
MySQL Source-Configuration Options

准备工作
1.安装wget、gcc、gcc-c++、bison、ncurses-devel

$ yum install wget gcc gcc-c++ bison ncurses-devel -y

2.安装cmake-3.7.1

$ cd /usr/local/src
$ wget https://cmake.org/files/v3.7/cmake-3.7.1.tar.gz
$ tar zxf cmake-3.7.1.tar.gz
$ cd cmake-3.7.1
$ ./bootstrap && gmake && gmake install

3.下载mysql源码包并解压

$ cd /usr/local/src/
$ wget http://cdn.mysql.com/archives/mysql-5.5/mysql-5.5.52.tar.gz
$ tar zxvf mysql-5.5.52.tar.gz
$ cd mysql-5.5.52

安装过程
1.创建组mysql和用户mysql

$ groupadd mysql
$ useradd -r -g mysql -s /sbin/nologin mysql
注:
-r 创建系统用户;
-s 指定shell,/sbin/nologin只限制系统登录,可以使用ftp等服务,/bin/false限制登录及所有服务。

2.创建mysql安装和数据存放目录,属主和属组改为mysql.mysql

$ mkdir –p /data/mysql
$ chown –R mysql.mysql /data/mysql

3.配置cmake选项

$ cmake . \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/data/mysql \
-DSYSCONFDIR=/etc \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DMYSQL_USER=mysql
$ echo $?
注:
1)cmake选项:
    -DCMAKE_INSTALL_PREFIX=/usr/local/mysql
        指定安装目录
    -DMYSQL_DATADIR=/data/mysql
        指定数据存放目录
    -DSYSCONFDIR=/etc
        指定配置存放目录
    -DDEFAULT_CHARSET=utf8
        指定默认字符集
    -DDEFAULT_COLLATION=utf8_general_ci
        指定mysql排序规则(字符校对)
    -DMYSQL_USER=mysql
        指定mysql用户

2)echo $? 用于配置结果检验,若输出为0,则配置成功。

4.编译、安装

$ make && make install
$ echo $?

5.初始化数据库

$ ./scripts/mysql_install_db \
--user=mysql \
--datadir=/data/mysql \
--basedir=/usr/local/mysql
错误1:
-bash: ./scripts/mysql_install_db: Permission denied
解决方法:
chmod 755 ./scripts/mysql_install_db

错误2:
    FATAL ERROR: Could not find ./bin/my_print_defaults
If you compiled from source, you need to run 'make install' to
copy the software into the correct location ready for operation.
If you are using a binary release, you must either be at the top
level of the extracted archive, or pass the --basedir option
pointing to that location.
解决方法:
    添加选项--basedir=/usr/local/mysql

6.拷贝配置文件到/etc/

$ cp support-files/my-large.cnf /etc/my.cnf
注:
    mysql配置文件my.cnf在/usr/local/mysql/support-files/目录下,分别为my-small.cnf、my-medium.cnf、my-large.cnf以及my-huge.cnf,适用于不同规模的项目。例如,如果运行MySQL服务器的系统内存不多,而且MySQL只是偶尔使用,那么使用my-small.cnf配置文件最为理想,这个配置文件告诉mysqld daemon使用最少的系统资源。反之,如果MySQL服务器用于支持一个大规模的在线购物网站,系统资源充足,那么使用mysql-huge.cnf 最为合适。
    把my-large.cnf文件复制到服务器的/etc/my.cnf,此时文件中所定义的参数将全局有效,即对该服务器上运行的所有MySQL Server都有效。

7.mysql server服务添加到启动文件,并更改权限

$ cp support-files/mysql.server /etc/init.d/mysqld
$ chmod 755 /etc/init.d/mysqld

8.修改服务启动脚本

$ vim /etc/init.d/mysqld
修改部分如下:
    basedir=/usr/local/mysql
    datadir=/data/mysql

9.把启动脚本加入系统服务项,并设定开机启动,启动mysql

$ chkconfig --add mysqld
$ chkconfig mysqld on
$ service mysqld start

错误之处,还望指出,多谢!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章