linux下一键编译安装MariaDB10.0.12

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介:

虽然网上有很多的lnmp一键安装包,可以直接安装集成环境。

但是有时候我们需要单独的安装mariadb,则可以使用下面的脚本来安装。


# 一键CMAKE编译安装mariadb-10.0.12 

# 安装到/usr/local/mariadb

# 数据目录为/data/mysql

# my.cnf文件是我自己修改的



一键安装包的文件目录结构如下:

wKiom1eheojACHjLAAAT5CgkRdU117.png-wh_50

我们只要自己将下面的文件组合成上图的结构,执行sh install.sh脚本即可完成安装。




install.sh脚本内容如下:

#!/bin/bash

# Date: 2016/08/03

# Author: Lee


# 一键CMAKE编译安装mariadb-10.0.12 

# 安装到/usr/local/mariadb

# 数据目录为/data/mysql

# my.cnf文件是我自己修改的


echo -e "\033[32m即将安装MariaDB到 /usr/local \033[0m"

echo -e "\033[32m数据目录为/data/mysql,请确保有足够的空间存放数据\033[0m"

echo -e "\033[31m你有10秒钟的时间取消该操作(按ctrl+c取消)\033[0m"

echo

sleep 10


if [ ! -f src/mariadb-10.0.12.tar.gz ];then

echo -e "\033[31m不存在mariadb-10.0.12包.Quit\033[0m" 

exit

fi


tar xf src/mariadb-10.0.12.tar.gz -C src/

cd src/mariadb-10.0.12 


cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mariadb \

-DSYSCONFDIR=/etc \

-DWITH_ARIA_STORAGE_ENGINE=1 \

-DWITH_XTRADB_STORAGE_ENGINE=1 \

-DWITH_INNOBASE_STORAGE_ENGINE=1 \

-DWITH_PARTITION_STORAGE_ENGINE=1 \

-DWITH_MYISAM_STORAGE_ENGINE=1 \

-DEXTRA_CHARSETS=all \

-DDEFAULT_CHARSET=utf8 \

-DDEFAULT_COLLATION=utf8_general_ci \

-DWITH_READLINE=1 \

-DWITH_SSL=bundled \

-DWITH_ZLIB=system \

-DWITH_EMBEDDED_SERVER=1 \

-DENABLED_LOCAL_INFILE=1 


make && make install


groupadd mariadb

useradd -r -s /sbin/nologin -g mariadb mariadb

chown mariadb.mariadb /usr/local/mariadb -R


cp /usr/local/mariadb/support-files/mysql.server /etc/init.d/mariadb

chmod +x /etc/init.d/mariadb

\cp ../../my.cnf /etc/my.cnf


mkdir /data/mysql -p

chown mariadb.mariadb /data/mysql -R

/usr/local/mariadb/scripts/mysql_install_db --user=mariadb --basedir=/usr/local/mariadb --datadir=/data/mysql

/etc/init.d/mariadb start


if ss -lnt|grep 3306 --color=auto ;then

echo -e "\033[32mMariaDB已启动.\n默认server-id为1. \033[0m"

echo -e "\033[31m在主从或主主复制环境下请修改server-id并重启MariaDB!!\033[0m"

fi



优化后的my.cnf配置文件:

[client]

user = root

#password   = your_password

port        = 3306

socket      = /tmp/mysql.sock


[mysql]

default_character_set = utf8

prompt = [\d] >


[mysqld]

####basic####

user = mariadb

port  = 3306

socket  = /tmp/mysql.sock

datadir = /data/mysql/

basedir = /usr/local/mariadb/

pid_file = /var/run/mysql.pid

default_storage_engine = InnoDB


# others setting

skip_name_resolve = ON

skip_external_locking

character-set-server = utf8


# Timeout

connect_timeout = 20

wait_timeout = 14400

interactive_timeout = 14400


back_log = 500


myisam_recover

event_scheduler = ON


# Query Cache Setting

query_cache_type = OFF

query_cache_size = 0


# LOG Settings

server-id = 1

log-bin = mysql.bin

binlog_format = mixed

max_binlog_size = 1G

expire_logs_days = 10


binlog_cache_size = 8M


slow_query_log = ON

slow_query_log_file = /data/mysql/localhost_slow.log

long_query_time = 5

log_error = /data/mysql/localhost.error

log_warnings = 2


tmp_table_size = 32M

max_heap_table_size = 32M

max_connections = 1000

max_allowed_packet = 50M

thread_cache_size = 300

open_files_limit = 65535


# 可以设置的比Open_tables大一倍

table_open_cache = 4096


# InnoDB Optimize

innodb_file_per_table = ON

innodb_flush_log_at_trx_commit = 1

innodb_log_buffer_size = 32M

# innodb_buffer_pool_size官方建议设置为内存大小的50%~80%

innodb_buffer_pool_size = 4G


# 事务日志文件的大小

innodb_log_file_size = 512M

# Innodb共享表空间的大小

innodb_data_file_path = ibdata1:1G:autoextend:max:2G


innodb_buffer_pool_instances = 8


innodb_write_io_threads = 8

innodb_read_io_threads = 8


innodb_buffer_pool_dump_at_shutdown = ON

innodb_buffer_pool_load_at_startup = ON


[mysqldump]

quick

max_allowed_packet = 48M 


[mysql]

no-auto-rehash

# Remove the next comment character if you are not familiar with SQL

#safe-updates


[myisamchk]

key_buffer_size = 256M

sort_buffer_size = 256M

read_buffer = 2M

write_buffer = 2M


[mysqlhotcopy]

interactive-timeout










本文转自 lirulei90 51CTO博客,原文链接:http://blog.51cto.com/lee90/1833914,如需转载请自行联系原作者
相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
关系型数据库 MySQL Linux
Linux(centos 7.5)服务器安装MariaDB
Linux(centos 7.5)服务器安装MariaDB
320 0
|
Linux 开发工具 git
【git】linux 编译安装最新版git
【git】linux 编译安装最新版git
106 0
|
7月前
|
Java Linux 开发工具
linux如何编译安装源码包软件
源码包软件是包含源代码的软件包,常见于Linux和BSD系统,如fcitx和Lumaqq。开源软件需满足源代码可见且有宽松许可,如GPL。安装源码包通常涉及解压、编译和安装步骤,使用`tar`命令解包,通过`./configure`, `make`, `make install`进行编译安装。软件源码允许定制和二次开发,但须遵循许可协议。安装前确保安装了必要的开发工具和库。对于perl和python程序,直接使用perl或python命令安装。推荐使用系统软件包管理工具如RPM、yum或apt进行管理,以简化流程。
138 0
|
7月前
|
Linux 应用服务中间件 PHP
Linux下搭建PHP环境-源码编译安装PHP7.2
Linux下搭建PHP环境-源码编译安装PHP7.2
335 0
|
2月前
|
安全 关系型数据库 MySQL
Linux下安装mysql8.0(以tar.xz包安装--编译安装)
通过上述步骤,您完成了从下载、编译、安装到配置MySQL 8.0的全过程。此过程虽然较为复杂,但提供了对MySQL安装环境的完全控制,有助于满足特定的部署需求。在实际操作中,根据具体的系统环境,可能还需调整部分步骤或解决未预见的依赖问题。始终参考官方文档和社区资源,保持安装过程与最新版本的兼容性。
1051 67
|
1月前
|
关系型数据库 MySQL Linux
Linux-安装Mariadb
本文介绍了在 Alibaba Cloud Linux 系统上安装和配置 MariaDB 10.5 的步骤。包括下载安装、初始化数据库、启动服务、处理启动失败的常见问题(如权限问题),以及如何连接数据库、设置密码和允许外部连接。通过这些步骤,您可以顺利完成 MariaDB 的安装和基本配置。
58 0
|
4月前
|
SQL 关系型数据库 MySQL
linux 上源码编译安装 PolarDB-X
linux 上源码编译安装 PolarDB-X
202 6
linux 上源码编译安装 PolarDB-X
|
4月前
|
关系型数据库 Java MySQL
Linux安装JDK1.8 & tomcat & MariaDB(MySQL删减版)
本教程提供了在Linux环境下安装JDK1.8、Tomcat和MariaDB的详细步骤。这三个组件的组合为Java Web开发和部署提供了一个强大的基础。通过遵循这些简单的指导步骤,您可以轻松建立起一个稳定、高效的开发和部署环境。希望这个指导对您的开发工作有所帮助。
238 8
|
6月前
|
关系型数据库 MySQL Linux
centos linux mysql 5.5脚本全自动源码包 编译安装
centos linux mysql 5.5脚本全自动源码包 编译安装
62 0
|
关系型数据库 Linux 网络安全
Linux系统下安装mariaDB数据库及防火墙
Linux系统下安装mariaDB数据库及防火墙
181 0