专栏首页运维录​ 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
  • Mysql 的卸载之路 与Linux安装mysql的曲折

    由于MySQL编码原因会导致数据库出现乱码。 解决办法:修改MySQL数据库字符编码为UTF-8,UTF-8包含全世界所有国家需要用到的字符,是国际编码。

    ChinaManor
  • CentOS7.4 源码编译安装MySQL8.0

    MySQL 8 正式版 8.0.11 已发布,官方表示 MySQL 8 要比 MySQL 5.7 快 2 倍,还带来了大量的改进和更快的性能!

    萧晚歌
  • Ubuntu安装mysql5.7(诲人不倦,记点干货)

    在ubuntu中,我们常用apt-get命令插件,其实,它也一直在更新相应的资源库,到目前为止,

    陈哈哈
  • CentOS安装mysql

    第二步,进入/usr/local/soft/目录,在里面执行wget 下载链接命令,或者是先下载到windows然后通过xftp上传到CentOS的该目录下,然...

    编程思录
  • mysql5.7.24 安装手册

    将 mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz 通过sftp上传到 /tmp 目录下

    cosmozhu
  • 艾编程基础教程:Linux环境下MySQL安装

    mysql-5.6.34-linux-glibc2.5-x86_64.tar.gz (300MB+)

    艾编程
  • Linux环境下Mysql开启远程访问权限

    如何通过Window的数据库可视化工具远程连接装在Linux上的Mysql呢?可以按照以下步骤逐一确认!

    小菠萝测试笔记

扫码关注云+社区

领取腾讯云代金券