CentOS 7编译安装Mariadb-10.2.11

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CentOS 7编译安装Mariadb-10.2.11相关的知识,希望对你有一定的参考价值。

1.安装开发环境

安装需要包:

1

yum install -y ncurses-devel openssl-devel zlib-devel ncurses-devel openssl gcc gcc-c++

2.安装cmake

1
2
3
4
5
tar -zvxf cmake-3.8.0.tar.gz -C /usr/local/src
cd /usr/local/src/cmake-3.8.0
./bootstrap
make
make install

3.安装前准备

3.1.准备目录

1
mkdir -pv /data/mysql/3306/{data,logs/{binlog,relaylog},run,tmp}

3.2.添加用户

groupadd -g 3306 mysql
useradd -u 3306 -g 3306 -s /sbin/nologin -M mysql
chown mysql:mysql /data/mysql/3306/ -R

4.编译安装

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# tar -xf mariadb-10.1.22.tar.gz -C /usr/local/src
# cd mariadb-10.1.22
# cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/data/mysql/3306/data \
-DSYSCONFDIR=/etc \
-DMYSQL_USER=mysql \
-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 \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1  \
-DWITH_DEBUG=0 \
-DWITHOUT_MROONGA_STORAGE_ENGINE=1
# make

# make install

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \       # 安装根目录
-DMYSQL_DATADIR=/data/mysql/data \          # 数据存储目录
-DTMPDIR=/data/mysql/tmp \               # 临时文件存放目录
-DMYSQL_UNIX_ADDR=/data/mysql/run/mysqld.sock \     # UNIX socket文件
-DSYSCONFDIR=/etc \                             # 配置文件存放目录
-DWITH_MYISAM_STORAGE_ENGINE=1 \            # Myisam 引擎支持
-DWITH_INNOBASE_STORAGE_ENGINE=1  \       # innoDB 引擎支持
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \            # ARCHIVE 引擎支持
-DWITH_BLACKHOLE_STORAGE_ENGINE=1  \     # BLACKHOLE 引擎支持
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \     # PERFSCHEMA 引擎支持
-DWITH_FEDERATED_STORAGE_ENGINE=1  \     # FEDERATEDX 引擎支持
-DWITH_TOKUDB_STORAGE_ENGINE=1 \         # TOKUDB 引擎支持
-DWITH_XTRADB_STORAGE_ENGINE=1  \         # XTRADB 引擎支持
-DWITH_ARIA_STORAGE_ENGINE=1 \             # ARIA 引擎支持
-DWITH_PARTITION_STORAGE_ENGINE=1 \     # PARTITION 引擎支持
-DWITH_SPHINX_STORAGE_ENGINE=1 \         # SPHINX 引擎支持
-DWITH_READLINE=1 \                     # readline库
-DMYSQL_TCP_PORT=3306 \                 # TCP/IP端口
-DENABLED_LOCAL_INFILE=1  \             # 启用加载本地数据
-DWITH_EXTRA_CHARSETS=all \             # 扩展支持编码 ( all | utf8,gbk,gb2312 | none )
-DEXTRA_CHARSETS=all \                     # 扩展字符支持
-DDEFAULT_CHARSET=utf8 \                 # 默认字符集
-DDEFAULT_COLLATION=utf8_general_ci \     # 默认字符校对
-DCMAKE_EXE_LINKER_FLAGS='-ljemalloc' \ # Jemalloc内存管理库
-DWITH_SAFEMALLOC=OFF \                 # 关闭默认内存管理
-DWITH_DEBUG=0 \                        # 关闭调试模式        
-DENABLE_PROFILING=1 \                     # 启用性能分析功能
-DWITH_SSL=system \                        # 使用系统上的自带的SSL库
-DWITH_ZLIB=system \                     # 使用系统上的自带的zlib库
-DWITH_LIBWRAP=0                         # 禁用libwrap库

5.安装完环境准备

1
2
# chmod +w /usr/local/mysql/
# chown -R mysql:mysql /usr/local/mysql/

6.拷贝配置文件并修改

1
# cp support-files/my-large.cnf /etc/my.cnf
1
# vim /etc/my.cnf

增加如下:

1
2
3
4
datadir = /data/mysql/3306/data
innodb_flush_log_at_trx_commit = 2
innodb_file_per_table = ON
skip_name_resolve = ON

查看配置文件:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
vim /etc/my.cnf
[client]
port            = 3306
socket          = /tmp/mysql.sock
 
[mysqld]
port            = 3306
socket          = /tmp/mysql.sock
skip-external-locking
key_buffer_size = 256M
max_allowed_packet = 1M
table_open_cache = 256
sort_buffer_size = 1M
read_buffer_size = 1M
read_rnd_buffer_size = 4M
myisam_sort_buffer_size = 64M
thread_cache_size = 8
query_cache_size= 16M
thread_concurrency = 8
 
log-bin=mysql-bin
binlog_format=mixed
server-id       = 1
datadir = /data/mysql/3306/data
innodb_data_home_dir = /data/mysql/3306/data
innodb_data_file_path = ibdata1:10M:autoextend
innodb_log_group_home_dir = /data/mysql/3306/data
innodb_buffer_pool_size = 256M
innodb_additional_mem_pool_size = 20M
innodb_log_file_size = 64M
innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit = 2
innodb_lock_wait_timeout = 50
innodb_file_per_table = ON
skip_name_resolve = ON
 
[mysqldump]
quick
max_allowed_packet = 16M
 
[mysql]
no-auto-rehash
 
[myisamchk]
key_buffer_size = 128M
sort_buffer_size = 128M
read_buffer = 2M
write_buffer = 2M
 
[mysqlhotcopy]
interactive-timeout


7.初始化mysql

1
# scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/data/mysql/3306/data/ --defaults-file=/etc/my.cnf


查看初始化结果:

1
2
3
# ls /data/mysql/3306/data/
aria_log.00000001  ibdata1      ib_logfile1  mysql-bin.000001  mysql-bin.000003  mysql-bin.state     test
aria_log_control   ib_logfile0  mysql        mysql-bin.000002  mysql-bin.index   performance_schema

8.启动服务

1
2
3
4
# cp support-files/mysql.server /etc/rc.d/init.d/mysqld
# chmod +x /etc/rc.d/init.d/mysqld 
# chkconfig --add mysqld
# service mysqld start

9.添加环境变量

1
2
# vim /etc/profile
export PATH=$PATH:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/mysql/bin


重读环境变量

1
source /etc/profile


10.初始化数据库用户表

1
2
3
4
5
6
7
8
9
10
# mysql
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 4
Server version: 10.1.22-MariaDB Source distribution
Copyright (c) 20002016, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> use mysql
Database changed
MariaDB [mysql]> delete from user where host='localhost.localdomain' or host='127.0.0.1' or host='::1' or user='';
Query OK, 5 rows affected (0.00 sec)


http://blog.51cto.com/ckl893/1920592

以上是关于CentOS 7编译安装Mariadb-10.2.11的主要内容,如果未能解决你的问题,请参考以下文章

CentOS7.3编译安装MariaDB10.2.12

运维知识:CentOS7下源码编译安装MariaDB 10.2

CentOS 6.9 基于clang3.4 编译安装mariadb-10.2.12

CentOS 6.9 基于gcc4.8.5编译安装mariadb-10.2.12

CentOS7编译安装MariaDB

centos7.4编译安装lamp