MySQL编译安装时常见错误分析
MySQL编译安装时常见错误分析
继前⽂记述了如何在Linux系统中,通过源码编译安装MySQL5.7.7 Release Candidate版本的过程,这篇⽂章主要是记录源码编译安装MySql5.6.24的过程。
鉴于官⽅MySql5.6.24相对是⼀个⽐较稳定的版本,所以博主之前也在⾃⼰的另⼀台CentOS7.1主机上安装了⼀遍。不过最后还是图新鲜,选择了MySQL5.7.7rc版本。下⾯是具体的安装过程,由于和MySQL5.7.7rc的编译安装过程很类似,所以这⾥尽可能精简⽂字:
1 创建mysql⽤户和⽤户组,并下载MySql5.6.24版本
⾸先创建⼀个名为mysql且没有登录权限的⽤户和⼀个名为mysql的⽤户组,然后去mysql官⽹下载MySql5.6.24版本。
>##新建mysql⽤户和mysql组
[root@typecodes ~]# groupadd -r mysql && useradd -r -g mysql -s /bin/false -M mysql
>#从官⽹或者博客备份地址下载MySql5.6.24版本
[root@typecodes ~]# wget -c sql/Downloads/MySQL-5.6/mysql-5.6.
[root@typecodes ~]# wget -c pecodes/libs/mysql/mysql-5.6.
>#开始解压MySql5.6.24
[root@typecodes ~]# tar -zxvf mysql-5.6. && cd mysql-5.6.24/
>#下载gmock:google的c++mock框架,从mysql 5.6开始⽀持
[root@typecodes mysql-5.7.7-rc]# wget -c lecode/files/gmock-1.6.0.zip
[root@typecodes mysql-5.7.7-rc]# wget -c pecodes/libs/ccpp/gmock-1.6.0.zip
>#将其解压到MySQL5.6.24的source_downloads⽬录下
[root@typecodes mysql-5.6.24]# unzip gmock-1.6.0.zip -d source_downloads
2 下载编译MySql5.6.24时需要的⼯具(安装过程同编译安装MySQL5.7.7rc完全⼀致)
和编译安装MySQL5.7.7rc版本⼀样,这⾥也需要安装CMake、Ncurses、bison和Boost库。
>##CMake编译⼯具
[root@typecodes ~]# wget -c pecodes/libs/ccpp/cmake-3.2.
[root@typecodes ~]# tar -zxf cmake-3.2. && cd cmake-3.2.1
[root@typecodes cmake-3.2.1]# ./configure
[root@typecodes cmake-3.2.1]# make && make install  [默认安装路径是/usr/local/bin]
mysql下载后安装中出现提示不到安装包[root@typecodes cmake-3.2.1]# cmake --version      [查看cmake版本]
cmake version 3.2.1
CMake suite maintained and supported by Kitware (kitware/cmake).
[root@typecodes cmake-3.2.1]# cd ~ && rm -rf cmake-3.2.1*
>##Ncurses:提供功能键定义(快捷键),屏幕绘制以及基于⽂本终端的图形互动功能的动态库。
[root@typecodes ~]# yum -y install ncurses-devel
>##bison:GNU分析器⽣成器
[root@typecodes ~]# wget -c pecodes/libs/ccpp/bison-3.
[root@typecodes ~]# tar -zxf bison-3. && cd bison-3.0/ && ./configure
[root@typecodes bison-3.0]# make && make install
[root@typecodes bison-3.0]# cd ~ && rm -rf bison-3.0*
>##Boost库:⼀个开源可移植的C++库,是C++标准化进程的开发引擎之⼀
[root@typecodes ~]# wget -c pecodes/libs/ccpp/boost_1_57_0.tar.bz2
[root@typecodes ~]# tar -jxf boost_1_57_0.tar.bz2 && cd boost_1_57_0/
[root@typecodes boost_1_57_0]# ./bootstrap.sh
[root@typecodes boost_1_57_0]# ./b2 stage threading=multi link=shared
[root@typecodes boost_1_57_0]# ./b2 install threading=multi link=shared
[root@typecodes boost_1_57_0]# cd ~ && rm -rf boost_1_57_0*
⾕歌到这篇⽂章解决:注销第869⾏的//char buf[TC_BUFSIZE];并将第879⾏的area =改成area = NULL;。
开始进⾏MySql5.6.24编译前的配置
这⾥和编译安装MySQL5.7.7rc时的操作也完全相同:
>#使⽤cmake命令,开始编译MySql5.6.24
[root@typecodes mysql-5.6.24]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql  \              [MySQL安装的根⽬录] -DMYSQL_DATADIR=/mydata/mysql/data  \                  [MySQL数据库⽂件存放⽬录]
-DSYSCONFDIR=/etc \                                    [MySQL配置⽂件所在⽬录]
-DMYSQL_USER=mysql \                                    [MySQL⽤户名]
-DWITH_MYISAM_STORAGE_ENGINE=1 \                        [MySQL的数据库引擎]
-
DWITH_INNOBASE_STORAGE_ENGINE=1 \                      [MySQL的数据库引擎]
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \                      [MySQL的数据库引擎]
-DWITH_MEMORY_STORAGE_ENGINE=1 \                        [MySQL的数据库引擎]
-DWITH_READLINE=1 \                                    [MySQL的readline library]
-DMYSQL_UNIX_ADDR=/var/run/mysql/mysql.sock \          [MySQL的通讯⽬录]
-DMYSQL_TCP_PORT=3306 \                                [MySQL的监听端⼝]
-DENABLED_LOCAL_INFILE=1 \                              [启⽤加载本地数据]
-DENABLE_DOWNLOADS=1 \                                  [编译时允许⾃主下载相关⽂件]
-DWITH_PARTITION_STORAGE_ENGINE=1  \
-DEXTRA_CHARSETS=all \                                  [使MySQL⽀持所有的扩展字符]
-DDEFAULT_CHARSET=utf8 \                                [设置默认字符集为utf8]
-
DDEFAULT_COLLATION=utf8_general_ci \                  [设置默认字符校对]
-DWITH_DEBUG=0 \                                        [禁⽤调试模式]
-DMYSQL_MAINTAINER_MODE=0 \
-DWITH_SSL:STRING=bundled \                            [通讯时⽀持ssl协议]
-DWITH_ZLIB:STRING=bundled                              [允许使⽤zlib library]
执⾏上⾯的配置命令的结果如下图所⽰:
5 开始编译和安装MySQL5.6.24
相对编译MySQL5.7.7rc来说,编译MySQL5.6.24对主机资源的消耗低很多,⽽且耗时也少(约1⼩时)。
[root@typecodes mysql-5.6.24]# make && make install
下图展⽰的是make命令执⾏完毕的情况:
make命令执⾏完后,开始执⾏make install命令:
最后,激动⼈⼼的时刻,看到下图就代表已经编译安装好了MySQL5.6.24!
6 查看编译成功后的MySQL安装⽬录
同MySQL5.7.7rc⼀样,需要查看MySQL5.6.24的/usr/local/mysql/lib/⽬录下是否存在下⾯的库⽂件。
[root@typecodes lib]# ls
libmysqlclient.a    libmysqlclient_r.so    libmysqlclient_r.so.18.1.0  libmysqlclient.so.18      libmysqld.a        plugin libmysqlclient_r.a  libmysqlclient_r.so.18  libmysqlclient.so          libmysqlclient.so.18.1.0  libmysqlservices.a
7 开始设置MySQL的配置⽂件myf
[root@typecodes mysql]# mv /etc/myf /etc/myfbak
[root@typecodes mysql]# mv  ~/myf  /etc/myf
[root@typecodes mysql]# echo -e '\n\nexport PATH=/usr/local/mysql/bin:$PATH\n' >> /etc/profile && source /etc/profile [root@typecodes ~]# mkdir -p /mydata/mysql/data && chown -R root:mysql /usr/local/mysql
[root@typecodes mysql]# chown -R mysql:mysql /mydata/mysql/data
[root@typecodes mysql]# chmod -R go-rwx /mydata/mysql/data
>#参数user表⽰⽤户,basedir表⽰mysql的安装路径,datadir表⽰数据库⽂件存放路径
[root@typecodes bin]# mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/mydata/mysql/data
创建MySQL⽇志存放⽬录以及设置开机启动
MySQL5.7.7rc,将启动MySQL服务进程的脚本添加到开机启动项中。
[root@typecodes ~]# mkdir -p /var/run/mysql && mkdir -p /var/log/mysql
[root@typecodes ~]# chown -R mysql:mysql /var/log/mysql && chown -R mysql:mysql /var/run/mysql
>#配置开机⾃启动
[root@typecodes mysql]# cp /usr/local/mysql/support-files/mysql.server  /etc/init.d/mysqld
[root@typecodes mysql]# chmod +x /etc/init.d/mysqld    #增加可执⾏权限
[root@typecodes mysql]# chkconfig --add mysql      #添加到sysV服务
[root@typecodes mysql]# chkconfig mysqld on
[root@typecodes mysql]# mysqld_safe --user=mysql --datadir=/mydata/mysql/data --log-error=/var/log/mysql/error.lo
g &
[1] 10274
[root@typecodes mysql]# 150513 21:28:16 mysqld_safe Logging to '/var/log/mysql/error.log'.
15051321:28:16 mysqld_safe Starting mysqld daemon with databases from /mydata/mysql/data
[root@typecodes mysql]# service mysqld start
Starting MySQL.[  OK  ]                [启动成功]
[root@typecodes mysql]#

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。

发表评论