• WAP手机版 加入收藏  设为首页
服务器类

centos6.5 mini手动编译mysql-5.5.48

时间:2016-9-26 20:03:03   作者:哎丫丫转载   来源:互联网   阅读:233   评论:0

为什么需要手动手动编译呢。因为我虚拟机centos6.5 mini一键安装lnmp得时候,最后发现mysql服务无法正确被安装。又不想去lnmp版本。毕竟编译一下lnmp不是一分钟2分钟得问题,需要很久。故百度出这个文章。根据此步骤完全可以正常编译并安装mysql-5.5.48呢。

mysql5.6.16的安装和之前的5.5、5.1有些不同,编译的时候不再使用./configure来进行了,使用了cmake命令来进行编译项目。

准备编译环境

因为我的Linux是刚安装的,需要安装很多的必要程序。

1
2
yum -y install make gcc-c++ cmake bison-devel  ncurses-devel gcc \
       autoconf automake zlib* fiex* libxml* libmcrypt* libtool-ltdl-devel*

下载MySQL

进入http://dev.mysql.com/downloads/mysql/ 的source/Generic Linux (Architecture Independent), Compressed TAR Archive,文件mysql-5.6.16.tar.gz

1
2
3
wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.16.tar.gz
tar xvf mysql-5.6.16.tar.gz

cd mysql-5.6.16


这里我就木有下载咯,直接使用得lnmp里面src目录现成的mysql-5.5.48.tar.gz资源包咯

编译源码

接下来组织项目

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/data/mysql/data \
-DSYSCONFDIR=/etc \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DMYSQL_UNIX_ADDR=/tmp/mysql/mysql.sock \
-DMYSQL_TCP_PORT=3306 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci

注意,这个cmake是替代以前的./configure 步骤。如果你需要更多的参数,请参考http://dev.mysql.com/doc/refman/5.6/en/source-configuration-options.html

有时候会出现类似的问题。

Googlemock was not found. gtest-based unit tests will be disabled. You can run cmake . -DENABLE_DOWNLOADS=1 to automatically download and build required components from source. — If you are inside a firewall, you may need to use an http proxy: export http_proxy=http://example.com:80
  • 使用参数-DENABLE_DOWNLOADS=1 自动下载。
  • 有网络限制,设置http代理export http_proxy=http://example.com:80。环境变量http_proxy 也为 curl 等其他工具所用。尽管 yum 可以识别大写或小写的 http_proxy,但curl 要求环境变量的名称是小写。

如果这个cmake这个步骤有出现问题,解决后重新再cmake一次。如果输出类似这样,那么就好了。

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
-- Running cmake version 2.6.4
-- MySQL 5.6.16
-- Packaging as: mysql-5.6.16-Linux-x86_64
-- HAVE_VISIBILITY_HIDDEN
-- HAVE_VISIBILITY_HIDDEN
-- HAVE_VISIBILITY_HIDDEN
-- Using cmake version 2.6.4
-- Not building NDB
-- Library mysqlclient depends on OSLIBS -lpthread;m;rt;dl
-- GMOCK_SOURCE_DIR:/root/mysql-5.6.16/source_downloads/gmock-1.6.0
-- GTEST_LIBRARIES:gmock;gtest
-- Library mysqlserver depends on OSLIBS -lpthread;m;rt;crypt;dl
-- Configuring done
-- Generating done
-- Build files have been written to: /root/mysql-5.6.16

接着编译源码

1
make && make install

编译时间缓慢,等待中…

修改文件权限,生成数据库

1
2
3
4
5
6
7
groupadd mysql
useradd -r -g mysql mysql
cd /usr/local/mysql
chown -R mysql:mysql .
scripts/mysql_install_db --user=mysql --ldata=/data/mysql/data
chown -R root .
chown -R mysql data

说明:参数--ldata说明你的数据文件存放的目录,如果你使用默认的路径,那么这个参数可以去除。如果你不增加此参数,但是在配置文件(见下方的datadir配置)中指定了其他的目录,那么会在启动MySQL的时候出现类似的提示:

Starting MySQL. ERROR! The server quit without updating PID file (/data/mysql/data/VM_208.pid).

出现这个的解决办法就是增加--ldata参数,指定和配置文件中datadir相同的值,重新执行mysql_install_db即可。

设置配置文件

MySQL 5.6.8开始,就不在分发my.cnf等配置的demo,所以想随便拿一个用都比较麻烦。

my.cnf的配置文件的默认读取顺序为
X operating systems where MySQL programs read startup options.
The purpose of each file is described." border="1" style="box-sizing:border-box;margin:0px;padding:0px;border:0px;font-size:0.9em;line-height:1;font-family:inherit;border-spacing:0px;empty-cells:show;width:1013.99px;">
File Name(上面的优先) Purpose
/etc/my.cnf Global options
/etc/mysql/my.cnf Global options
SYSCONFDIR/my.cnf Global options
$MYSQL_HOME/my.cnf Server-specific options
defaults-extra-file The file specified with --defaults-extra-file=path, if any
~/.my.cnf User-specific options
~/.mylogin.cnf Login path options
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
[client]
port=3306
socket=/var/lib/mysql/mysql.sock
default-character-set = utf8
 
[mysqld]
port=3306
bind-address=127.0.0.1
basedir=/usr/local/mysql
datadir=/data/data/mysql/data
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
 
############# default settings  ################
# time zone
default-time-zone = system
character-set-server = utf8
default-storage-engine = InnoDB
 
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

我的这个配置比较简单,声明一下常用的变量,如果你需要对性能优化,那么你需要细细研读一下配置文件。可以参考

启动MySQL,开机自动启动设置

手动启动MySQL。

1
2
3
4
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
/etc/init.d/mysql start
##或者
service mysql start

在上面的步骤后,开机自动启动设置

1
2
3
chkconfig --add mysql
##有的系统需要下面的
chkconfig --level 345 mysql on

可以参考:http://dev.mysql.com/doc/refman/5.6/en/automatic-start.html

修改root密码

默认的密码是空的,很危险,需要修改一下。

在此之前,为方便调用mysql,我们先生成一个mysql的软链。

1
ln -s /usr/local/mysql/bin/mysql /usr/bin/

然后修改密码

1
2
mysql -uroot  -h127.0.0.1 -p
mysql> SET PASSWORD = PASSWORD('123456');

将来如果你忘记了root密码,可以参考重置MySQL密码

通过上面的步骤,就可以使用MySQL数据库了,另外可以为mysql安装phpmyadmin作为前端的管理界面。

参考资料

原创文章,转载请注明: 转载自东东东 陈煜东的博客


      版权声明,所有转载都有注明出处,本站不负责承担任何法律责往。若有侵权,请联系我。我会及时删除。

专业从事于个人电脑维护,系统安装,软 、硬件维修,电脑配件,零售业务,网站建设,路由器安装设置 服务器维护,电脑、网络维护,智能手机刷机,安装WIFI 调试!

        咨询电话:13762514403  点击这里给我发消 息
        手机用户选择任意下面一种方法关注微文号
       点击我关注微信、扫描二维码、添加 订阅号
cz612459”     分享资讯、享受生活          


      

上一篇:centos6.5 apache开启本机多端口访问
下一篇:vm虚拟机安装centos6.5mini启用网卡
相关文章
相关评论
免责申明:本站部分资料来源互联网,如果侵犯了您的版权,请作者速来电或QQ与本站联系,我们将第一时间给予以改正或删除。
Copyright© 2014-2016 哎丫丫 湘ICP备14010293号 湘公网安备43100202000036号
点击这里给我发消息