cmake mysql5.6_mysql5.6的安装(cmake)

从官网下载了一个最新版的mysql源码包mysql-5.6.4-m7.tar.zip,准备安装一下,可是解压出来,却发现无法./configure。后来才知道mysql现在用cmake了。

这里贴一下cmake编译安装mysql的方法:

下载cmake的source包:wget http://www.cmake.org/files/v2.8/cmake-2.8.5.tar.gz

一 安装cmake

如果本机上不存在cmake,则:

./bootstrap

make   -----有时候是gmake

make install

如果本机上存在cmake,想安装一个新版本,则:

cmake .

make

make install

(皮爱死:bootstrap不是通用程序。只要知道是安装脚本就行了。具体的用法看各自的README、install之类的文档。这里看的就是 Readme.txt。但里面说是运行make;make install,但是bootstrap之后提示信息是运行gmake,那就先gmake呗。gmake和make的区别请看另一篇文章《gmake和 make》。)

export PATH=/usr/local/cmake/bin:$PATH (如果已经能找到cmake命令就不用这步了)

二 安装mysql5.6

1、创建用户、组

groupadd mysql

useradd mysql -g mysql

2 安装

#cd mysql-5.6.4-m7

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql

-DMYSQL_DATADIR=/usr/local/mysql/demo

-DWITH_MYISAM_STORAGE_ENGINE=1

-DWITH_INNOBASE_STORAGE_ENGINE=1

-DWITH_ARCHIVE_STORAGE_ENGINE=1

-DWITH_BLACKHOLE_STORAGE_ENGINE=1

-DENABLED_LOCAL_INFILE=1

-DDEFAULT_CHARSET=utf8

-DDEFAULT_COLLATION=utf8_general_ci

-DEXTRA_CHARSETS=all

-DMYSQL_TCP_PORT=3306

-DMYSQL_UNIX_ADDR=/usr/local/mysql/tmp/mysqld.sock

-DSYSCONFDIR=/usr/local/mysql/etc/my.cnf

-DWITH_DEBUG=0

-DCMAKE_INSTALL_PREFIX= 数据库程序安装路径;

-DMYSQL_DATADIR= 数据库文件存放路径(不配置的话会默认创建$PREFIX_DIR/data)

-DMYSQL_UNIX_ADDR= 默认位置是/tmp/mysql.sock

-DDEFAULT_CHARSET= 默认数据库编码

-DDEFAULT_COLLATION= 默认数据库整理编码

-DWITH_EXTRA_CHARSETS= 扩展支持编码(all | utf8,gbk,gb2312 | none)

-DWITH_MYISAM_STORAGE_ENGINE= MYISAM引擎支持(1|0)

-DWITH_INNOBASE_STORAGE_ENGINE= innoDB引擎支持(1|0)

-DWITH_MEMORY_STORAGE_ENGINE= MEMORY引擎支持(1|0)

shell> make

shell> make install

四、配置mysql

1、修改配置文件my.cnf

chmod 775 /tmp/

cp support-files/my-medium.cnf/usr/local/mysql/my.cnf

修改my.cnf参数,没有则加入如下:

basedir = /usr/local/mysql(不配置的话默认为$PREFIX_DIR)

datadir = /usr/local/mysql/demo(不配置的话默认为$PREFIX_DIR/data)

log-error = /usr/local/mysql/mysql_error.log(不配置的话默认为$PREFIX_DIR/data/$hostname.err)

pid-file = /usr/local/mysql/mysql.pid(不配置的话默认为$PREFIX_DIR/data/$hostname.pid)

tmpdir = /tmp(不配置的话默认为/tmp)

2、初始化安装:

chmod +x scripts/mysql_install_db

scripts/mysql_install_db--basedir=/usr/local/mysql --datadir=/usr/local/mysql/demo--user=mysql

(--user一定要加,其他可不加,默认会是$PREFIX_DIR和$PREFIX_DIR/data,因为--help看到说不加--user会以当前系统登录用户启动mysql)

成功后有如下提示:

To start mysqld at boot time you have to copy

support-files/mysql.server to the right place for your system

PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !

To do so, start the server, then issue the following commands:

/usr/local/src/mysql/bin/mysqladmin -u root password 'new-password'

/usr/local/src/mysql/bin/mysqladmin -u root -h localhost password 'new-password'

Alternatively you can run:

/usr/local/src/mysql/bin/mysql_secure_installation

which will also give you the option of removing the test

databases and anonymous user created by default.  This is

strongly recommended for production servers.

See the manual for more instructions.

You can start the MySQL daemon with:

cd /usr/local/src/mysql ; /usr/local/src/mysql/bin/mysqld_safe &

You can test the MySQL daemon with mysql-test-run.pl

cd /usr/local/src/mysql/mysql-test ; perl mysql-test-run.pl

Please report any problems with the /usr/local/src/mysql/scripts/mysqlbug script!

修改数据目录的权限

shell> chown -R root:mysql    mysql

shell> chown -R mysql :mysql   demo

3 可以根据现在屏幕上的提示信息来做,先启动mysql:

/usr/local/mysql/bin/mysqld_safe --user=mysql & //启动mysql  等同于/usr/local/mysql/bin/mysqld_safe  --defaults-file=/usr/local/mysql/my.cnf--user=mysql &  因为/usr/local/mysql是basedir 所以前面启动省略了

/usr/local/mysql/bin/mysqladmin --version //测试下

4 再修改root密码:

/usr/local/mysql/bin/mysqladmin -u root password 'abc123.'

测试是否能进入:

/usr/local/mysql/bin/mysql -u root -p

可以进入,好的,杀掉进程,接着做下面的。

将mysql加入开机启动:

cp support-files/mysql.server /etc/init.d/mysqld (如果已有/etc/init.d/mysqld也要复制下,因为自带的mysqld里面控制服务的方式与源代码中带的mysqld不同,而且还要重新定 义下面提到要修改的字段)

chmod +x /etc/init.d/mysqld

修改上面文件的如下字段:

basedir=/usr/local/mysql

datadir=/usr/local/mysql/data

mysqld_pid_file_path=/var/run/mysqld

其实上面三个定义为空的话也没事,因为下面会有一个判断将这两个变量定义为my.cnf中我们定义的值(5.5.28版本中有这个判断,其他版本我不知道有没有,到时候注意下)。

然后执行:

chkconfig--add mysqld

chkconfig--level 345 mysqld on

3、启动mysql

/etc/init.d/mysqld start

总结:这次安装极其坑爹,注意每一步执行之后要看提示信息以及错误日志,有很多有用信息,可以少走很多弯路!!

补充 5.7安装需要注意的

参考文档http://blog.itpub.net/29733787/viewspace-1590891/

cmake时报错

CMake Error at cmake/boost.cmake:76 (MESSAGE):

You can download it with -DDOWNLOAD_BOOST=1 -DWITH_BOOST=

解决办法一:

[root@Lnmp mysql-5.7.9]# cmake 。。。 -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/usr/local/boost--最后面加这两个参数(下载并安装boost的意思)

解决办法二:

下载 安装boost_1_59_0.tar.gz   http://pan.baidu.com/s/1nurKTFb

[root@host-192-168-2-177 ~]# mkdir /usr/local/boost/

[root@host-192-168-2-177 ~]# cd /usr/local/boost/

[root@host-192-168-2-177 ~]# tar -zxvf boost_1_59_0.tar.gz

[root@host-192-168-2-177 ~]# cdboost_1_59_0

[root@host-192-168-2-177 ~]#./bootstrap.sh

[root@host-192-168-2-177 ~]#./b2 install

再cmake成功

[root@Lnmp mysql-5.7.9]# cmake 。。。有可能缺失ncurses-devel#yum -y install ncurses-devel

删除CMakeCache.txt再cmake

5.7初始化数据库

/usr/local/mysql5.7/bin/mysqld  --initialize   --basedir=     --datadir=      --user=mysql

mysql5.7会生成一个初始化密码,而在之前的版本首次登陆不需要登录。

[root@localhost bin]# ./mysqld --initialize   --basedir=/soft/mysql-5.7.11-linux-glibc2.5-x86_64     --datadir=/soft/mysql-5.7.11-linux-glibc2.5-x86_64/data      --user=mysql

2016-01-10T14:15:18.467542Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).

2016-01-10T14:15:19.739479Z 0 [Warning] InnoDB: New log files created, LSN=45790

2016-01-10T14:15:20.232923Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.

2016-01-10T14:15:20.834849Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 9514acfc-b7a4-11e5-918a-0800272b8253.

2016-01-10T14:15:20.850238Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.

2016-01-10T14:15:20.871908Z 1 [Note] A temporary password is generated for root@localhost: ICSPgCF%l5Q4

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值