闲扯两句:

小弟不才,由于缺乏明确的职业规划,初毕业的那两年从事的是网络管理工作,接触最多的是计算机硬件和网络设备。

近几年才开始转向DB行业,最初是自学,过程中走了不少弯路,后来参加的专职的DBA培训,很多问题才豁然开朗。

下面说说我曾经走过的一段“弯路”:MySQL server 的安装方法。

大致上说,MySQL server 有三种常见的安装方法:

1.RPM 包安装,该方法比较方便,适合多台主机批量部署

2.源码编译安装,自己下载源码包,解压后自己编译再安装,相对来说比较耗费时间,但是可以自己定制编译选项

3.通用二进制包安装,官方已经编译的二进制包,解压后配置基本的参数和设置就能运行

我现在比较倾向于第三种方法,这也是我在工作实践中见到同行使用最普遍一种方法。

但是我曾经在第二种方法上耗费了相当长的时间,因为在编译过程中有很多可选项,为了弄清这些选项的含义以及后期对服务器的实际影响,琢磨了很久。

后来前辈指教说,生产环境不建议使用这种方法,我也就放弃了纠结。

下面以Percona-Server-5.5.33-rel31.1-566.Linux.x86_64.tar.gz 为例,简要说一下使用二进制包安装MySQL server。

其中配置文件中的参数仅作师范用,可根据自己实际需求自行修改

1.安装依赖包 openssl,openssl098e,libaio
yum install -y libaio openssl openssl098e

若缺乏上面两个软件包会报如下错误:
error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
error while loading shared libraries: libssl.so.6: cannot open shared object file: No such file or directory

2.创建msyql用户组和用户。
groupadd mysql
useradd -r -g mysql mysql

3.解压二进制压缩包到目标目录,并建立一个软链接。
mv /root/Percona-Server-5.5.33-rel31.1-566.Linux.x86_64.tar.gz /usr/local/
cd /usr/local/
tar -zxvf Percona-Server-5.5.33-rel31.1-566.Linux.x86_64.tar.gz

ln -s Percona-Server-5.5.33-rel31.1-566.Linux.x86_64/ /usr/local/mysql

4.权限检查与修改
chown -R mysql:mysql Percona-Server-5.5.33-rel31.1-566.Linux.x86_64/
mv Percona-Server-5.5.33-rel31.1-566.Linux.x86_64.tar.gz src/

5.修改配置文件
vi /etc/my.cnf
==========================================
[mysql]
socket=/tmp/mysql.sock
default-character-set=utf8
port=3306
#prompt="\\u@\\h:\p \\R:\\m:\\s [\\d]>"

[mysqld]
basedir =/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
port=3306
user=mysql
#tmpdir=/tmp

symbolic-links=0
character_set_server=utf8
lower_case_table_names=0

#bin-log
server-id=193306
log-bin=/usr/local/mysql/data/bin-log
log-bin-index=/usr/local/mysql/data/binlog-index
max_binlog_size= 1G
expire_logs_days= 7
binlog_format=row

#log_slave_updates=1

#innoDB-Parameter
innodb_data_file_path = ibdata1:1G:autoextend
innodb_file_per_table=1
innodb_buffer_pool_size = 2G

max_connections=3000
max_connect_errors = 100000
skip_name_resolve=1

query_cache_type = 0
query_cache_size = 0

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/usr/local/mysql/data/mysql.pid

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

==========================================

6.安装初始化
cd mysql/
./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

7.添加开机服务##生产环境中,不建议将MySQL设为开机启动服务##
cd /usr/local/mysql
cp support-files/mysql.server /etc/init.d/mysql
chkconfig --add mysql
chkconfig mysql on

启动mysql
service mysql start

8.设置环境变量
echo "PATH=/usr/local/mysql/bin:$PATH;export PATH" >> /etc/profile
source /etc/profile

9.设置密码
mysqladmin -u root password 'XXXXXX'

不妥之处请多指教!

MySQL Server 的安装方法及简要步骤的更多相关文章

  1. MySQL安装时MySQL server一直安装失败日志显示This application requires Visual Studio 2013 Redistributable

    使用MySQL社区版的msi包进行安装,试了好多次,别的组件都能正常安装,只有MySQL server的安装状态显示为fail.删除所有安装的程序,包括所依赖的各种Microsoft发布的包,删除所有 ...

  2. 【转载】图解MySQL MSI方式安装方法

    ********************************** 后来发现图片是百度的被封了.有空再换下吧. 一般百度经验这样的链接是不会失效的,大家可以百度查看. *************** ...

  3. SELinux导致PHP连接MySQL异常Can't connect to MySQL server的解决方法

    原文摘自:http://www.jb51.net/article/52581.htm 这篇文章主要介绍了SELinux导致PHP连接MySQL异常Can't connect to MySQL serv ...

  4. 细说Mysql四种安装方法及自动化部署

    一.简介 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库, 每个数据库都有一个或多个不同的API用于创建,访问,管理,搜索和复制所保存的数据. 我们也可以将数据存储在文件中,但是 ...

  5. Mysql的多种安装方法———rpm安装

    下载地址 搜狐镜像:http://mirrors.sohu.com/mysql 官方网址:https://dev.mysql.com/downloads/mysql/ 一.rpm安装方式 从下载地址下 ...

  6. mysql解压缩版安装方法以及mysql无法启动1067错误

    https://jingyan.baidu.com/article/f3ad7d0ffc061a09c3345bf0.html我下载的版本号是5.6.421.解压到C:\Program Files\M ...

  7. mysql 压缩包免安装版 安转步骤

    一. 下载 MySQL 的官网下载地址:http://www.mysql.com/downloads/ 在这个下载界面会有几个版本的选择. 1. MySQL Community Server 社区版本 ...

  8. mysql 5.7安装方法

    yum方式安装rpm包形式,安装mysql的方法: 方法一: 使用yum方式,下载后离线安装mysql的安装包 安装前,先使用命令查看,确定系统未安装mysql安装包.彻底清除之前安装的mysql安装 ...

  9. mysql server的安装和配置

    YSQL-5.7.9.1解压版 例如我的在D:\Program Files\MySQL\MySQL Server 5.7(解压时名字mysql-installer-community-5.7.9.1可 ...

随机推荐

  1. Tomcat启动报错,报找不到gdk_custom.jar

    在 tomcat/conf/context.xml 中新增如下配置 <Context> ... <JarScanner scanManifest="false"/ ...

  2. 消息队列与Kafka

    2019-04-09 关键词: 消息队列.为什么使用消息队列.消息队列的好处.消息队列的意义.Kafka是什么 本篇文章系本人就当前所掌握的知识关于 消息队列 与 kafka 知识点的一些简要介绍,不 ...

  3. 我的python之路

    一.基础语法 Python基础—基本语法结构 Python基础—程序控制结构 Python基础—基本数据类型 Python基础—文件的读写操作 二.函数 Python基础—初识函数 Python基础— ...

  4. Luogu3732 [HAOI2017] 供给侧改革 【后缀数组】【线段树】【乱搞】

    题目分析: 这道题我是乱搞的,因为他说$01$串是随机的. 那么我们可以猜测能够让LCP变大的地方很少.求出后缀数组之后可能让LCP变大的地方就等价于从大到小往height里动态加点同时维护这个点左右 ...

  5. 特殊计数序列——第一类斯特林(stirling)数

    第一类斯特林数 在这里我因为懒所以还是用\(S(n,m)\)表示第一类斯特林数,但一定要和第二类斯特林数区分开来 递推式 \(S(n,m)=S(n-1.m-1)+S(n-1,m)*(n-1)\) 其中 ...

  6. Django 对接 支付宝支付, 回调

    平台 点击这里进入 蚂蚁金服开放平台 沙箱 点击这里进入 沙箱环境 初始界面 设置公钥 下载创建秘钥工具 1.  进入文档中心 这里 2. 选中 电脑网站支付 3. 进入后选中 API 列表 中的 统 ...

  7. [NOI2017]泳池

    题目描述 有一个长为\(n\),高为1001的网格,每个格子有\(p\)的概率为1,\((1-p)\)的概率0,定义一个网格的价值为极大的全一矩形,且这个矩形的底要贴着网格的底,求这个网格的价值为\( ...

  8. Docker 入门篇

    Docker 简介 作为一种新兴的虚拟化方式,Docker 跟传统的虚拟化方式相比具有众多的优势. 更高效的利用系统资源 更快速的启动时间 一致的运行环境 持续交付和部署 更轻松的迁移 更轻松的维护和 ...

  9. nodejs+express创建一个简单的服务器

    //首先安装express //1.引入express const express = require('express'); //2.创建服务器对象 let server = express(); ...

  10. DirectX11--HLSL编译着色器的三种方法

    前言 本教程不考虑Effects11(FX11),而是基于原始的HLSL. 目前编译与加载着色器的方法如下: 使用Visual Studio中的HLSL编译器,随项目编译期间一同编译,并生成.cso( ...