CMAKE方式编译安装Mysql5.5

2017-09-13 10:27:09来源:http://stimewang.blog.51cto.com/1879353/1964602作者:人点击

分享

1、源码cmake方式编译安装MySQL5.5.32

安装前先安装:

yum install ncurses-devel -y

1.1下载Mysql和cmake安装包:

wgethttp://wwwNaNake.org/files/v2.8/cmake-2.8.8.tar.gz

1.2查看系统环境

cat /etc/redhat-release

uname -r

uname -m

1.3安装cmake包

tar zxf cmake-2.8.8.tar.gz

cd cmake-2.8.8

./configure

gmake

gmake install

cd ../

1.4开始安装mysql

1.4.1创建用户和组

groupadd mysql

useradd mysql -s /sbin/nologin -M -g mysql

1.4.2解压编译MySQL

tar zxf mysql-5.5.32.tar.gz

cd mysql-5.5.32

cmake . -DCMAKE_INSTALL_PREFIX=/application/mysql-5.5.32 /

-DMYSQL_DATADIR=/application/mysql-5.5.32/data/

-DMYSQL_UNIX_ADDR=/application/mysql-5.5.32/tmp/mysql.sock/

-DDEFAULT_CHARSET=gbk/

-DDEFAULT_COLLATION=gbk_chinese_ci/

-DENABLED_LOCAL_INFILE=ON/

-DWITH_INNOBASE_STORAGE_ENGINE=1/

-DWITH_FEDERATED_STORAGE_ENGINE=1/

-DWITH_BLACKHOLE_STORAGE_ENGINE=1/

-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1/

-DWITHOUT_PARTITION_STORAGE_ENGINE=1

make

make install

ln -s /application/mysql-5.5.32/ /application/mysql

如果上述操作未出现错误,则MySQL软件的安装就算成功了。

1.4.3初始化配置MySQL

1.查看默认模板配置文件

[[email protected]]# ll support-files/my*.cnf

-rw-r--r--1 root root 4759 Apr 25 18:19support-files/my-huge.cnf

-rw-r--r--1 root root 19809 Apr 25 18:19 support-files/my-innodb-heavy-4G.cnf

-rw-r--r--1 root root 4733 Apr 25 18:19support-files/my-large.cnf

-rw-r--r--1 root root 4744 Apr 25 18:19support-files/my-medium.cnf

-rw-r--r--1 root root 2908 Apr 25 18:19support-files/my-small.cnf

2.选择配置文件

/bin/cpsupport-files/my-small.cnf /etc/my.cnf

测试环境选小的,生产环境可以根据硬件选择support-files/my-innodb-heavy-4G.cnf

3.配置环境变量

echo 'export PATH=/application/mysql/bin:$PATH' >>/etc/profile

tail -1 /etc/profile

source /etc/profile

echo $PATH

4.初始化数据文件(容易出错的步骤)

#建立mysql数据文件目录

mkdir -p /application/mysql/data

#授权mysql用户访问mysql的安装目录

chown -R mysql.mysql /application/mysql/*

chmod -R 1777 /tmp

#初始化数据库文件(如果重新初始化数据库文件,必须先执行:rm -fr /application/mysql/data/*)

/application/mysql/scripts/mysql_install_db --basedir=/application/mysql--datadir=/application/mysql/data --user=mysql

特别提示:

a.如果用mysql 5.0,5.1省略指定datadir会出错。

5.设置常规方式启动关闭脚本

cd /application/tools/mysql-5.5.32/

#拷贝mysql启动脚本到/etc/init.d/下

cp support-files/mysql.server /etc/init.d/mysqld

#授权700权限,即脚本可执行

chmod 700 /etc/init.d/mysqld

/etc/init.d/mysqld start

chkconfig mysqld on

chkconfig --list mysqld

6.登录mysql

7.简单优化mysql

a.删除test库:

mysql>show databases;

+--------------------+

|Database|

+--------------------+

|information_schema |

|mysql |

|performance_schema |

|test|

+--------------------+

4 rowsin set (0.03 sec)

mysql>drop database test;

Query OK, 0 rows affected (0.04 sec)

mysql>show databases;

+--------------------+

|Database|

+--------------------+

|information_schema |

|mysql |

|performance_schema |

+--------------------+

3 rowsin set (0.00 sec)

b.清除并修改管理员用户

mysql>select user,host from mysql.user;

+------+-----------+

| user| host |

+------+-----------+

| root| 127.0.0.1 |

| root| ::1|

| | Mysql |

| root| Mysql |

| | localhost |

| root| localhost |

+------+-----------+

6 rowsin set (0.00 sec)

mysql>delete from mysql.user;

QueryOK, 6 rows affected (0.07 sec)

mysql>select user,host from mysql.user;

Emptyset (0.00 sec)

mysql>grant all privileges on *.* to [email protected]'localhost' identified by '1234' withgrant option;

QueryOK, 0 rows affected (0.00 sec)

mysql>flush privileges;

QueryOK, 0 rows affected (0.00 sec)

mysql>grant all privileges on *.* to [email protected]'127.0.0.1' identified by '1234' withgrant option;

QueryOK, 0 rows affected (0.00 sec)

mysql>select user,host from mysql.user;

+--------+-----------+

|user| host |

+--------+-----------+

|system | 127.0.0.1 |

|system | localhost |

+--------+-----------+

2 rowsin set (0.00 sec)

操作过程:

[[email protected]]# cat /etc/redhat-release

CentOSrelease 6.4 (Final)

[[email protected]]# uname -r

2.6.32-358.el6.x86_64

[[email protected]]# uname -m

x86_64

[[email protected]]# tar zxf cmake-2.8.8.tar.gz

[[email protected]]# cd cmake-2.8.8

[[email protected]]# ./configure

CMakehas bootstrapped. Now run gmake.

[[email protected]]# gmake

[[email protected]]# gmake install

[[email protected]]# groupadd mysql

[[email protected]]# useradd mysql -s /sbin/nologin -M -g mysql

[[email protected]]# tar zxf mysql-5.5.32.tar.gz

[[email protected]]# cd mysql-5.5.32

[[email protected]]# cmake . -DCMAKE_INSTALL_PREFIX=/application/mysql-5.5.32 /

cmake. -DCMAKE_INSTALL_PREFIX=/application/mysql-5.5.32 /

-DMYSQL_DATADIR=/application/mysql-5.5.32/data/

-DMYSQL_UNIX_ADDR=/application/mysql-5.5.32/tmp/mysql.sock/

-DDEFAULT_CHARSET=gbk/

-DDEFAULT_COLLATION=gbk_chinese_ci/

-DENABLED_LOCAL_INFILE=ON/

-DWITH_INNOBASE_STORAGE_ENGINE=1/

-DWITH_FEDERATED_STORAGE_ENGINE=1/

-DWITH_BLACKHOLE_STORAGE_ENGINE=1/

-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1/

-DWITHOUT_PARTITION_STORAGE_ENGINE=1

#Build files have been written to: /application/tools/mysql-5.5.32 如果显示这个表示cmake成功

[[email protected]]# make

[[email protected]]# make install

[[email protected]]# ln -s /application/mysql-5.5.32//application/mysql

[[email protected]]# ll support-files/my*.cnf

-rw-r--r--1 root root 4759 Apr 25 18:19support-files/my-huge.cnf

-rw-r--r--1 root root 19809 Apr 25 18:19 support-files/my-innodb-heavy-4G.cnf

-rw-r--r--1 root root 4733 Apr 25 18:19support-files/my-large.cnf

-rw-r--r--1 root root 4744 Apr 25 18:19support-files/my-medium.cnf

-rw-r--r--1 root root 2908 Apr 25 18:19support-files/my-small.cnf

[[email protected]]# cp support-files/my-small.cnf /etc/my.cnf

[[email protected]]# echo 'export PATH=/application/mysql/bin:$PATH'>>/etc/profile

[[email protected]]# tail -1 /etc/profile

exportPATH=/application/mysql/bin:$PATH

[[email protected]]# source /etc/profile

[[email protected]]# echo $PATH

/application/mysql/bin:/application/mysql/bin/:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

[[email protected]]# mkdir -p /application/mysql/data

[[email protected]]# chown -R mysql.mysql /application/mysql/*

[[email protected]]# chmod -R 1777 /tmp

[[email protected]]# /application/mysql/scripts/mysql_install_db--basedir=/application/mysql --datadir=/application/mysql/data--user=mysql

[[email protected]]# cp support-files/mysql.server /etc/init.d/mysqld

[[email protected]]# chmod 700 /etc/init.d/mysqld

[[email protected]]# chkconfig mysqld on

[[email protected]]# chkconfig --list mysqld

mysqld 0:off1:off 2:on3:on4:on5:on6:off

[email protected]]# mysql

Welcometo the MySQL monitor. Commands end with; or /g.

YourMySQL connection id is 2

Serverversion: 5.5.32 Source distribution

Copyright(c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.

Oracleis a registered trademark of Oracle Corporation and/or its

affiliates.Other names may be trademarks of their respective

owners.

Type'help;' or '/h' for help. Type '/c' to clear the current input statement.

mysql>

简单优化mysql

a.删除test库:

mysql>show databases;

+--------------------+

|Database|

+--------------------+

|information_schema |

|mysql |

|performance_schema |

|test|

+--------------------+

4 rowsin set (0.03 sec)

mysql>drop database test;

QueryOK, 0 rows affected (0.04 sec)

mysql>show databases;

+--------------------+

|Database|

+--------------------+

|information_schema |

|mysql |

|performance_schema |

+--------------------+

3 rowsin set (0.00 sec)

b.清除并修改管理员用户

mysql>select user,host from mysql.user;

+------+-----------+

| user| host |

+------+-----------+

| root| 127.0.0.1 |

| root| ::1|

| | Mysql |

| root| Mysql |

| | localhost |

| root| localhost |

+------+-----------+

6 rowsin set (0.00 sec)

mysql>delete from mysql.user;

Query OK, 6 rows affected (0.07 sec)

mysql>select user,host from mysql.user;

Emptyset (0.00 sec)

mysql>grant all privileges on *.* to [email protected]'localhost' identified by '1234' withgrant option;

Query OK, 0 rows affected (0.00 sec)

mysql>flush privileges;

Query OK, 0 rows affected (0.00 sec)

mysql>grant all privileges on *.* to [email protected]'127.0.0.1' identified by '1234' withgrant option;

Query OK, 0 rows affected (0.00 sec)

mysql>select user,host from mysql.user;

+--------+-----------+

|user| host |

+--------+-----------+

|system | 127.0.0.1 |

|system | localhost |

+--------+-----------+

2 rowsin set (0.00

1、CMAKE安装Mysql时遇到的问题:

--Check size of wint_t - done

--Could NOT find Curses (missing: CURSES_LIBRARY CURSES_INCLUDE_PATH)

CMakeError at cmake/readlineNaNake:83 (MESSAGE):

Curses library not found. Please install appropriate package,

remove CMakeCache.txt and rerun cmake.OnDebian/Ubuntu, package name is libncurses5-dev, on Redhat and derivates it isncurses-devel.

CallStack (most recent call first):

cmake/readlineNaNake:127 (FIND_CURSES)

cmake/readlineNaNake:217(MYSQL_USE_BUNDLED_LIBEDIT)

CMakeLists.txt:269 (MYSQL_CHECK_READLINE)

--Configuring incomplete, errors occurred!

解决方法:

rm CMakeCache.txt

yum install ncurses-devel -y

然后再cmake


最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台