专栏首页运维录​ mysql编译安装脚本

​ mysql编译安装脚本

《复仇者联盟4:终局之战》队长 左手拿盾,右手持锤.

开始之前


这篇文章发布于 2015年,内容是介绍使用源码方式编译安装 mysql-5.6 ,时间回到 2015年,那时候 Docker还在蓄能阶段没有全面爆发。

业务上云、使用云数据库,也只是刚刚拉开大幕不久,技术人员更多的是尝试IDC机房+云服务方式这种混合方式,即先把一部分业务迁到云上,另一部分业务仍然使用传统IDC托管方式。

那么都 9012 年了源码方式编译安装mysql过时了吗?谁还自己部署mysql数据库呢?上云啊、用容器啊、多好多便捷!

没有过时、仍然有效,挨踢圈有一句名言说的好 "没有最好的方案,只有最适合的方案",虽然上云、容器化、微服务化是大势所趋,不过某些场景下还是有源码编译安装的需求。

环境描述

系统版本: CentOS 7.2 amd64
mysql版本: MySql-5.6.25
脚本依赖: 需要联网 yum 安装 cmake、gcc 等工具。

1. 目录结构

tree ./
./
├── conf
│   └── my.cnf
├── mysql-5.6.25.tar.gz
└── mysql-server.sh

1 directory, 3 files

2. mysql 配置文件

# 示例 2cpu/4GB虚拟机,请根据实际情况配置参数。
awk '!/^(#|$)/' conf/my.cnf

[client]
port    = 3306
socket  = /tmp/mysql.sock

[mysql]
no-auto-rehash

[mysqld]
user   = mysql
port   = 3306
socket = /tmp/mysql.sock
basedir  = /usr/local/mysql
datadir  = /usr/local/mysql/data
pid-file = /usr/local/mysql/data/mysql.pid
character_set_server = utf8
skip-name-resolve
long_query_time = 5
slow_query_log  = 1 
max_connections = 2000
max_connect_errors = 4000
explicit_defaults_for_timestamp = 1
tmp_table_size = 32M
max_heap_table_size = 32M
thread_cache_size = 100
default-storage-engine = INNODB
innodb_flush_log_at_trx_commit = 1
innodb_file_per_table = 1
innodb_buffer_pool_size = 2048M
innodb_log_file_size = 512M
key_buffer_size = 512M
log-bin=mysql-bin
binlog_format = mixed
server-id = 11
sync_binlog = 1
expire_logs_days = 15

[mysqldump]
quick
max_allowed_packet = 32M

操作步骤


1. shell脚本

# 使用脚本完成,mysql 编译、配置、安装步骤。

2. 执行脚本

bash  mysql-server.sh
# 耐心等待, 笔者2cpu/4GB虚拟机编译时间大约20分钟左右。

3. 启动服务

/etc/init.d/mysqld start

4. 安全设置

mysql_secure_installation
# 初始root密码为空,需要进行安全配置,按照提示完成配置向导。

5. 验证 mysql

mysql -u root -p 
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 18
Server version: 5.6.25-log Source distribution

Copyright (c) 2000, 2015, Oracle. All rights reserved.

# ...省略

mysql>

小结


最后来总结下文章中的知识点

  • 无论是源码方式,还是二级制方式,没有最好的方案,只有最适合的方案
  • 源码方式的优点,是安装参数可以定制化,按照需求编译程序,灵活性大。

本文分享自微信公众号 - 运维录(gh_70d95b8f5f7c),作者:东南

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-12-23

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 为什么Docker创建的MySQL容器字符乱码?

    这篇文章发布于 2016.11.03 ,记录如何解决 mysql容器查询结果乱码的问题。

    用户1560186
  • 使用shell 批量更改 mysql字符集

    这里还有一个mysql字符乱码的例子,部署redmine过程中,mysql数据库使用了默认的字符集,导致含有中文内容为乱码。

    用户1560186
  • ​mysql show processlist

    功能: 列出正在运行的线程以及这些线程的状态,这对了解客户端执行那些操作很有帮助。

    用户1560186
  • Hive在Linux下完全分布式环境的搭建

    2.如果出现如下截图内容,则认为安装了mysql(CentOS6.5默认自带安装了mysql)

    用户2992598
  • mysql基本操作

    MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司。

    胡齐
  • Python数据库操作 mysql安装#学习猿地

    ![file](https://cdn2.lmonkey.com/uploads/2020-01-13-06-33-56-image-1578911635852...

    学习猿地
  • 初探MySQL-小白的Linux安装笔记

    这篇文章是我们组内一位小伙伴(lc_mail@163.com)垒的文字,亲测每个步骤,真实、可靠、接地气,照着做就能入门Linux下的MySQL安装,欢迎更多的...

    bisal
  • 一次生产环境mysql迁移操作(一)数据归档

    我们有需要将物理盘上的mysql迁移到ssd上,先说一下生产环境一直有数据产生,且数据量达到500G。 方案一:使用mysqldump,不管是导入导出都太耗时,...

    一笠风雨任生平
  • Windows 下安装 MySQL 的一些陷阱

    MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,2008 年被 SUN 公司收购,后 SUN 公司又被 Oracle 公司收购。

    用户2769421
  • 快速学习-Linux安装MySQL

    yum install mysql mysql-server mysql-devel

    cwl_java

扫码关注云+社区

领取腾讯云代金券