前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MySQL入门02-MySQL二进制版本快速部署

MySQL入门02-MySQL二进制版本快速部署

作者头像
Alfred Zhao
发布2022-05-06 15:13:44
3510
发布2022-05-06 15:13:44
举报

在上篇文章 MySQL入门01-MySQL源码安装 中,我们介绍了MySQL源码安装的方法。 源码安装虽然有着更加灵活和更加优化等诸多优势。但源码编译安装部署的过程相对复杂,而且整个过程所花费的时间很长。 对于一整套系统和硬件完全一样的机器,其实完全可以只在一台机器源码安装,然后打包好编译出来的二进制版本,拷贝到其他机器解压,直接进行一些配置即可。

本篇文章就来介绍一下二进制版本安装配置MySQL的整个过程。

1.上传二进制版本

首先要将上篇文章中5.1小节中,打包好的MySQL二进制版本`mysql-5.6.30.tar.gz`上传到/usr2目录下。 注:二进制版本的压缩包就有200M+以上的大小。

2.规划数据存放目录

这里系统是使用lvm管理的,vg名称vg00,添加一个名称为lvdata的lv,大小设定100G,然后在系统创建/data目录,将新建的lvdata挂载到/data目录下。具体操作如下:

代码语言:javascript
复制
--创建lvdata
lvcreate -L 100g -n lvdata vg00

--格式化为ext4文件系统
mkfs.ext4 /dev/mapper/vg00-lvdata

--添加为开机自动挂载的目录
vi /etc/fstab 加入一行:
/dev/mapper/vg00-lvdata /data                   ext4    defaults        1 2

--创建/data目录并挂载
mkdir -p /data && mount -a

3.解压二进制版本的MySQL

切换到根目录下,解压二进制版本的MySQL:

代码语言:javascript
复制
cd / && tar zxvf /usr2/mysql-5.6.30.tar.gz

4.添加组和用户

添加组mysql和用户mysql:

代码语言:javascript
复制
groupadd mysql
useradd -g mysql mysql

5.配置limits.conf

vi /etc/security/limits.conf,在文件末尾添加:

代码语言:javascript
复制
mysql   soft    nproc   2047
mysql   hard    nproc   16384
mysql   soft    nofile  1024
mysql   hard    nofile  65536

6.修改目录所有者

修改MySQL软件所在目录拥有者:

代码语言:javascript
复制
chown -R mysql.mysql /usr/local/mysql

7.配置环境变量

配置mysql用户的环境变量: 需要`su - mysql`切换到mysql用户下, vi ~/.bash_profile

代码语言:javascript
复制
export LANG=zh_CN.GB18030
export PATH=/usr/local/mysql/bin:$PATH

8.创建数据库服务

**8.1 创建前准备:**

代码语言:javascript
复制
# mkdir -p /data/mysqldata/{3306/{data,tmp,binlog},backup,scripts}
# chown -R mysql.mysql /data/mysqldata

# su - mysql
$ vi /data/mysqldata/3306/my.cnf

8.2 MySQL的my.cnf配置文件内容如下:

代码语言:javascript
复制
[client]
port = 3306
socket = /data/mysqldata/3306/mysql.sock

#The MySQL Server
[mysqld]
port = 3306
user = mysql
socket = /data/mysqldata/3306/mysql.sock
pid-file = /data/mysqldata/3306/mysql.pid
basedir = /usr/local/mysql
datadir = /data/mysqldata/3306/data
tmpdir = /data/mysqldata/3306/tmp
open_files_limit = 10240
explicit_defaults_for_timestamp
sql_mode = NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

#Buffer
max_allowed_packet = 256M
max_heap_table_size = 256M
net_buffer_length = 8k
sort_buffer_size = 2M
join_buffer_size = 4M
read_buffer_size = 2M
read_rnd_buffer_size = 16M

#Log
log-bin = /data/mysqldata/3306/binlog/mysql-bin
binlog_cache_size = 32M
max_binlog_cache_size = 512M
max_binlog_size = 512M
binlog_format = mixed
log_output = FILE
log-error = ../mysql-error.log
slow_query_log = 1
slow_query_log_file = ../slow_query.log
general_log = 0
general_log_file = ../general_query.log
expire-logs-days = 14

#InnoDB
innodb_data_file_path = ibdata1:2048M:autoextend
innodb_log_file_size = 256M
innodb_log_files_in_group = 3
innodb_buffer_pool_size = 1024M

[mysql]
no-auto-rehash
prompt = (\u@\h)[\d]>\_
default-character-set = gbk

8.3 初始化MySQL数据库:

代码语言:javascript
复制
$ /usr/local/mysql/scripts/mysql_install_db --datadir=/data/mysqldata/3306/data --basedir=/usr/local/mysql

8.4 启动数据库服务:

代码语言:javascript
复制
mysqld_safe --defaults-file=/data/mysqldata/3306/my.cnf &

总结:其实在配置完二进制版本的MySQL后发现,整个过程跟源码安装并没有什么区别,只是省去了最麻烦和最耗时的MySQL源码的编译和安装过程。非常适合相同硬件和系统,对MySQL服务的快速部署。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016-06-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.上传二进制版本
  • 2.规划数据存放目录
  • 3.解压二进制版本的MySQL
  • 4.添加组和用户
  • 5.配置limits.conf
  • 6.修改目录所有者
  • 7.配置环境变量
  • 8.创建数据库服务
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档