LINUX 环境下源码方式安装mysql5.6

  1. 云栖社区>
  2. 博客>
  3. 正文

LINUX 环境下源码方式安装mysql5.6

dragonwang 2015-10-12 21:32:00 浏览1399
展开阅读全文
1.下载mysql源码:
wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.26.tar.gz

备注:至于想以什么方式下载都无所谓,总之得到源码就可以了~

2.确认需要的开发工具的版本,都要满足mysql安装版本的需要

 Building GCC requires GMP 4.2+, MPFR 2.4.0+ and MPC 0.8.0+.cmake 3.75+,gcc 4.21+,perl  if you intend to run test scripts
3.创建mysql的安装目录 mysql

mkdir mysql526

备注:一般在虚拟机、测试环境、开发机、服务器上安装的时候都不会直接使用root权限进行安装,因为使用普通用户安装会降低服务器的风险,但是同时也带来了一个问题,就是对于默认的安装路径下我们没有读写权限,这时候按照官方简易的文档安装就会失败,或者出现各种各样的无法连接、无法启动等错误

此处的方法是用普通用户权限进行安装

4.创建几个相应的文件夹:tmp, var, etc,

cd mysql526
mkdir tmp var etc

5.执行cmake创建makefile
cmake . -DCMAKE_INSTALL_PREFIX=/home/work/mysql526 -DEFAULT_CHARSET=utf8 -DEFAULT_COLLATION=utf8_general_ci 
-DMYSQL_UNIX_ADDR=/home/work/mysql526/tmp/mysql.sock -DWITH_INNOBASE_STORAGE_ENGINE=1 -DTMPDIR=/home/work/mysql526/log/

参数介绍:

-DCMAKE_INSTALL_PREFIX:相当于安装的根目录,其余的一些配置,都会安装在PREFIX/下。比如PREFIX/BIN,等等
-DEFAULT_CHARSET:默认编码
-DEFAULT_COLLATION=utf8_general_ci:默认排序方式
-DMYSQL_UNIX_ADDR=/home/work/mysql526/tmp/mysql.sock:连接mysql使用的socket文件,此处很关键!
-DWITH_INNOBASE_STORAGE_ENGINE=1:使用innodb引擎
-DTMPDIR=/home/work/mysql526/log/:指定tmp文件夹路径,一般tmp中包含mysql.sock,log,pid等配置
-MYSQL_TCP_PORT=3306:TCP/IP port number, and Unix socket file can be changed at server startup with the --basedir, --port, and --socket options for mysqld. Where applicable,

注:此处如果报错:可以查看CMakeCache.txt,CMakeFiles/CMakeError.log and CMakeFiles/CMakeOutput.log under the build directory
解决错误后,执行rm CMakeCache.txt,然后再次cmake重新配置
注:如果MYSQL_MAINTAINER_MODE 配置是enable的,它会将warn变成error,可以disable这个选项,再编译
doc:If compilation fails, check whether the  MYSQL_MAINTAINER_MODE option is enabled. This mode causes compiler warnings to become errors, so disabling it may enable compilation to proceed.

5.1cmake介绍:此处编译使用的是cmake工具

下载地址:https://cmake.org/download/

https://cmake.org/files/v3.4/cmake-3.4.0-rc1.tar.gz

6.执行make编译:
make
注:如果此处出错,需要先执行make clean,再执行rm CMakeCache.txt,然后在重新cmake----make
注:如果make失败:并且提示了如下信息的任意一种:表明make的版本过低,升级GNU的make去吧。3.75+
#1:make: Fatal error in reader: Makefile, line 18:  Badly formed macro assignment
#2:pthread.h: No such file or directory
#3:make: file `Makefile' line 18: Must be a separator (:
7.执行安装
make install
注:make install 也可以指定路径,但是如果你已经在cmake的时候指定了 -DCMAKE_INSTALL_PREFIX参数,就不要在这里再指定了。。make install DESTDIR="/some/absolute/path"

8.准备mysql的配置文件:关于my.cnf的配置请参考下一章,这里先凑合用
cp support-files/my-default.cnf etc/my.cnf     //****my-default.cnf是空白的,都得自己配置,如果my-medium.cnf要是没有,就去偷一个吧
或者 cp /home/work/mysql526/support-files/my-medium.cnf /home/work/mysql526/etc/my.cnf
9.编辑my.cnf,配置相关参数的路径
# The MySQL server
     26 [mysqld]
     27 port        = 3306
     28 /home/work/mysql526/tmp/mysql.sock
     29 log-error   =/home/work/mysql526/log/mysql.err
     30 pid-file    =/home/work/mysql526/tmp/mysql.pid

10.配置环境变量
TMPDIR=/home/work/mysql5/tmp/
MYSQL_UNIX_PORT=/home/work/mysql5/tmp/mysql.sock
export TMPDIR MYSQL_UNIX_PORT
11.数据初始化:需要Perl。如果没有也需要安装,yum install perl  然后还得安装yum install perl-Data-Dumper
记得指定参数,要读取我们刚刚配置的my.cnf配置文件,否则白折腾了,user就是你的用户名,数据初始化结束后,去data目录下能看到多了test以外的数据文件
scripts/mysql_install_db --defaults-file=/home/work/mysql526/etc/my.cnf --user=work --basedir=/home/work/mysql526/ --datadir=/home/work/mysql526/data/

13.安全 守护进程 启动msyql ------ 至于为啥带my.cnf参数,请参考下一章
--help :  带my.cnf参数启动,配置各种权限     //**这个还必须要指定这个配置参数
/home/work/mysql526/bin/mysqld_safe --defaults-file=/home/work/mysql526/etc/my.cnf
14.设置密码
1./home/work/mysql526//bin/mysqladmin -u root password 设置密码:xxx123  
2./home/work/mysql526//bin/mysqladmin -u root -h cp01-vm-epc-wiseapp5.epc.com password 设置密码:xxx123
15.执行product环境清理工作,提高安全性
在product环境执行:/home/work/mysql526//bin/mysql_secure_installation
16.配置指定的IP可以访问:配置10.126.107.119使用root,xxx123连接,
GRANT ALL PRIVILEGES ON *.* TO 'root'@' 10.126.107.119' IDENTIFIED BY 'xxx123' WITH GRANT OPTION;
flush privileges;  //---别忘记了。。否则又蒙圈
注:For boolean options, the value may be specified as 1 or ON to enable the option, or as 0 or OFF to disable the option
17.mysql -uroot -p .............没了。。。。附加一页文档: http://dev.mysql.com/doc/internals/en/cmake-howto-detailed.html

18.常见问题:
1. 报错:CMAKE_CXX_COMPILER-NOTFOUND
需要安装g++
yum install g++
2. 报错:Curses library not found
yum install ncurses-devel

网友评论

登录后评论
0/500
评论
dragonwang
+ 关注