MariaDB编译和安装


 

编译安装MySQL-5.5

 

cmake的重要特性之一是其独立于源码(out-of-source)的编译功能,即编译工作可以在另一个指定的目录中而非源码目录中进行,这可以保证源码目录不受任何一次编译的影响,因此在同一个源码树上可以进行多次不同的编译,如针对于不同平台编译。



1,安装开发组件

[root@[node108] ~]# yum groupinstall "Development Tools" "Server Platform Development" –y

2,安装cmake

[root@[node108] ~]#yum –y install cmake

3,下载mariadb源码

[root@[node108] ~]# mget  mariadb-5.5.44.tar.gz

4,创建用户名和组

[root@[node108] ~]# groupadd -r -g 306 mysql

[root@[node108] ~]# useradd -r -g 306 -u 306 mysql

[root@[node108] ~]# id mysql

uid=306(mysql) gid=306(mysql) groups=306(mysql)

5,解开源码包

[root@[node108] ~]# tar xf mariadb-5.5.44.tar.gz

[root@[node108] ~]# cd mariadb-5.5.44

6,编译安装

[root@[node108]# mariadb-5.5.44]#cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/Nmariadb-5.5.44 -DMYSQL_DATADIR=/mydata/data -DSYSCONFDIR=/etc -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DWITH_SSL=system -DWITH_ZLIB=system -DWITH_LIBWRAP=0 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci

 

*****************************************************************************

*# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mariadb-5.5.44 \  安装路径                             

*          -DMYSQL_DATADIR=/mydata/data \     数据目录

*          -DSYSCONFDIR=/etc \                配置文件

*                -DWITH_INNOBASE_STORAGE_ENGINE=1 \  安装启用INNOBASE存储引擎

*          -DWITH_ARCHIVE_STORAGE_ENGINE=1 \         安装启用ARCHIVE

*          -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \               安装启用BLACKHOLE

*                -DWITH_READLINE=1 \                 支持READLINE

*                -DWITH_SSL=system \                 支持SSL

*                -DWITH_ZLIB=system \                支持ZLIB

*                -DWITH_LIBWRAP=0 \                  不使用LIBWRAP 控制    

*                -DMYSQL_UNIX_ADDR=/tmp/mysql.sock \  mysql.cock文件位置

*                -DDEFAULT_CHARSET=utf8 \            默认字符集


*************************************************************************


 

[root@[node108]#make

[root@[node108]#make install

编译安装后切换到编译后的目录进行安装

[root@[node108] local]# cd Nmariadb-5.5.44/

[root@[node108] Nmariadb-5.5.44]# ll

total 220

drwxr-xr-x  2 root root   4096 Jun 19 23:18 bin

-rw-r--r--  1 root root  17987 Jun 10 04:25 COPYING

-rw-r--r--  1 root root  26545 Jun 10 04:25 COPYING.LESSER

drwxr-xr-x  3 root root   4096 Jun 19 23:18 data

-rw-r--r--  1 root root   8245 Jun 10 04:25 EXCEPTIONS-CLIENT

drwxr-xr-x  3 root root   4096 Jun 19 23:17 include

-rw-r--r--  1 root root   8694 Jun 10 04:25 INSTALL-BINARY

drwxr-xr-x  3 root root   4096 Jun 19 23:18 lib

drwxr-xr-x  4 root root   4096 Jun 19 23:19 man

drwxr-xr-x 11 root root   4096 Jun 19 23:19 mysql-test

-rw-r--r--  1 root root 108813 Jun 10 04:25 README

drwxr-xr-x  2 root root   4096 Jun 19 23:18 scripts

drwxr-xr-x 27 root root   4096 Jun 19 23:18 share

drwxr-xr-x  4 root root   4096 Jun 19 23:19 sql-bench

drwxr-xr-x  3 root root   4096 Jun 19 23:18 support-files

[root@[node108] Nmariadb-5.5.44]#

[root@[node108] Nmariadb-5.5.44]# chown -R root.mysql ./*

[root@[node108] Nmariadb-5.5.44]# cd ..

[root@[node108] local]# ln -sv Nmariadb-5.5.44 mysql

`mysql/Nmariadb-5.5.44' -> `Nmariadb-5.5.44'

[root@[node108] local]# cd mysql/

 

 

 

 

 

mysql安装至lvm,首先需要创建一个lvm

[root@[node108]#fdisk  /dev/sdb

Command (m for help): n

Command action

   e   extended

   p   primary partition (1-4)

p

Partition number (1-4): 1

First cylinder (7859-15665, default 7859):

Using default value 7859

Last cylinder, +cylinders or +size{K,M,G} (7859-15665, default 15665): +20G

 

Command (m for help): t

Partition number (1-4): 3

Hex code (type L to list codes): 8e

Changed system type of partition 3 to 8e (Linux LVM)

[root@[node108]#partx –a /dev/sdb

[root@[node108]#pvcreate /dev/sdb3

[root@[node108]#vgcreate myvg /dev/sdb3

[root@[node108]#lvcreate –L 10G –n mydata myvg

[root@[node108]#lvs

[root@[node108]#Mke2fs –t ext4 /dev/myvg/mydata

[root@[node108]#vim /etc/fstab

/dev/myvg/mydata    /mydata   ext4    defaults    0     0

[root@[node108]#mkdir /mydata/data

[root@[node108]#mount –a

[root@[node108]#chown mysql.mysql /mydata/data

7,开始初始化

[root@[node108]#cd /usr/local/mysql

[root@[node108] mysql]# scripts/mysql_install_db --user=mysql --datadir=/mydata/data

 

 

8,创建编辑配置文件!

[root@localhost mysql]# mkdir /etc/mysql

[root@localhost mysql]# cp support-files/my-large.cnf /etc/mysql/my.cnf

[root@localhost mysql]# vim /etc/mysql/my.cnf

[mysqld]里面添加如下

datadir = /mydata/data   安装目录指定

innodb_file_per_table = NO

skip_name_resolve = NO     跳过名称解析的

9,添加mysql service服务

[root@localhost mysql]# cp support-files/mysql.server /etc/rc.d/init.d/mysqld

[root@localhost mysql]# chmod +x /etc/rc.d/init.d/mysqld

[root@localhost mysql]# chkconfig --add mysqld

[root@localhost mysql]# chkconfig mysqld on

[root@localhost mysql]# service mysqld start

Starting MySQL....                                         [  OK  ]

[root@localhost mysql]# ss -tlp |grep :mysql

LISTEN     0      50                      *:mysql                    *:*        users:(("mysqld",44014,14))

 

root用户添加密码,并且删除用户

[root@localhost mysql]# /usr/local/mysql/bin/mysql_secure_installation

[root@localhost mysql]# /usr/local/mysql/bin/mysql -uroot -p

Enter password:

Welcome to the MariaDB monitor.  Commands end with ; or \g.

Your MariaDB connection id is 11

Server version: 5.5.44-MariaDB-log Source distribution

 

Copyright (c) 2000, 2015, Oracle, MariaDB Corporation Ab and others.

 

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

 

MariaDB [(none)]> show databases;

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

| Database           |

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

| information_schema |

| mysql              |

| performance_schema |

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

3 rows in set (0.03 sec)

 

 

编译安装MySQL-5.5

使用cmake编译mysql-5.5

cmake指定编译选项的方式不同于make,其实现方式对比如下:

./configure           cmake .

./configure --help    cmake . -LH or ccmake .

 

指定安装文件的安装路径时常用的选项:

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql

-DMYSQL_DATADIR=/data/mysql

-DSYSCONFDIR=/etc

 


默认编译的存储引擎包括:csvmyisammyisammrgheap。若要安装其它存储引擎,可以使用类似如下编译选项:

-DWITH_INNOBASE_STORAGE_ENGINE=1 编译innodb

-DWITH_ARCHIVE_STORAGE_ENGINE=1

-DWITH_BLACKHOLE_STORAGE_ENGINE=1

-DWITH_FEDERATED_STORAGE_ENGINE=1

 

若要明确指定不编译某存储引擎,可以使用类似如下的选项:

-DWITHOUT_<ENGINE>_STORAGE_ENGINE=1 

比如:

-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1

-DWITHOUT_FEDERATED_STORAGE_ENGINE=1

-DWITHOUT_PARTITION_STORAGE_ENGINE=1

 

如若要编译进其它功能,如SSL等,则可使用类似如下选项来实现编译时使用某库或不使用某库:

-DWITH_READLINE=1

-DWITH_SSL=system

-DWITH_ZLIB=system

-DWITH_LIBWRAP=0

 

其它常用的选项:

-DMYSQL_TCP_PORT=3306

-DMYSQL_UNIX_ADDR=/tmp/mysql.sock

-DENABLED_LOCAL_INFILE=1

-DEXTRA_CHARSETS=all

-DDEFAULT_CHARSET=utf8

-DDEFAULT_COLLATION=utf8_general_ci

-DWITH_DEBUG=0

-DENABLE_PROFILING=1

 

 

 

如果想清理此前的编译所生成的文件,则需要使用如下命令:

make clean

rm CMakeCache.txt

 

 

0 分享

您可以选择一种方式赞助本站

支付宝扫码赞助

支付宝扫码赞助

日期: 2015-06-20分类: Mariadb

标签: mariadb

发表评论