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

来源:互联网 发布:sdn网络控制器 编辑:程序博客网 时间:2024/06/09 21:22

官方文档:
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_defaultsIf you compiled from source, you need to run 'make install' tocopy the software into the correct location ready for operation.If you are using a binary release, you must either be at the toplevel of the extracted archive, or pass the --basedir optionpointing 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

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

0 0
原创粉丝点击