编译安装mysql5.6.22
出处:
http://www.chenyudong.com/archives/building-mysql-5-6-from-source.html
重点参考:http://www.cnblogs.com/siqi/p/3567551.html
mysql5.6.22的安装和之前的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*
|
进入http://dev.mysql.com/downloads/mysql/ 的source/Generic Linux (Architecture Independent), Compressed TAR Archive,文件mysql-5.6.22.tar.gz。
1
2
3
|
wget http: //dev .mysql.com /get/Downloads/MySQL-5 .6 /mysql-5 .6.22. tar .gz
tar xvf mysql-5.6.22. tar .gz
cd mysql-5.6.22
|
输入命令编译:
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。
如果这个cmake这个步骤有出现问题,解决后重新再cmake一次。如果输出类似这样,那么就好了。
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
|
-- Running cmake version 2.8.5 -- MySQL 5.6.22 -- Packaging as: mysql-5.6.22-Linux-x86_64 -- HAVE_VISIBILITY_HIDDEN -- HAVE_VISIBILITY_HIDDEN -- HAVE_VISIBILITY_HIDDEN -- Using cmake version 2.8.5 -- Not building NDB -- Library mysqlclient depends on OSLIBS -lpthread;m;rt;dl -- GMOCK_SOURCE_DIR:/root/mysql-5.6.22/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.22 |
接着编译源码
1
|
make && make install
|
修改文件权限,生成数据库
groupadd mysql
useradd
-r -g mysql mysql
cd
/usr/local/mysql
chown
-R mysql:mysql .
scripts
/mysql_install_db
--user=mysql --ldata=
/data/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,所以想随便拿一个用都比较麻烦。
/etc/my.cnf |
Global options |
/etc/mysql/my.cnf |
Global options |
|
Global options |
$MYSQL_HOME/my.cnf |
Server-specific options |
defaults-extra-file |
The file specified with --defaults-extra-file= , if any |
~/.my.cnf |
User-specific options |
~/.mylogin.cnf |
Login path options |
[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
我的这个配置比较简单,声明一下常用的变量,如果你需要对性能优化,那么你需要细细研读一下配置文件。可以参考
- http://www.ha97.com/4110.html
-
http://dev.mysql.com/doc/refman/5.6/en/server-options.html
启动MySQL,开机自动启动设置手动启动MySQL。
1234cp
/usr/local/mysql/support-files/mysql
.server
/etc/init
.d
/mysql
/etc/init
.d
/mysql
start
##或者
service mysql start
在上面的步骤后,开机自动启动设置
123chkconfig --add mysql
##有的系统需要下面的
chkconfig --level 345 mysql on
可以参考:http://dev.mysql.com/doc/refman/5.6/en/automatic-start.html
修改root密码
默认的密码是空的,很危险,需要修改一下。
在此之前,为方便调用mysql,我们先生成一个mysql的软链。
1ln
-s
/usr/local/mysql/bin/mysql
/usr/bin/
然后修改密码
12mysql -uroot -h127.0.0.1 -p
mysql> SET PASSWORD = PASSWORD(
'123456'
);
将来如果你忘记了root密码,可以参考重置MySQL密码。
通过上面的步骤,就可以使用MySQL数据库了,另外可以为mysql安装phpmyadmin作为前端的管理界面。
上一篇: linux 下mysql安装成功后的配置
下一篇: mysql改root密码 MySQL