MySQL on Linux 部署手册
1. 背景
MySQL为开源数据库,因此可以基于源码实现安装。基于源码安装有更多的灵活性。也就是说我们可以针对自己的硬件平台选用合适的编译器来优化编译后的二进制代码,根据不同的软件平台环境调整相关的编译参数,选择自身需要选择不同的安装组件,设定需要的字符集等等一些可以根据特定应用场景所作的各种调整。本文描述了如何在源码方式下安装MySQL
2. 安装依赖包
# yum install wget bison gcc gcc-c++ make cmake ncurses-devel libtool zilib-devel perl -y
3. 配置OS资源限制
# vi /etc/security/limits.conf
mysql soft nproc 2047
mysql hard nproc 16384
mysql soft nofile 1024
mysql hard nofile 65536
4. 配置OS防火墙
建议按业务场景设置,我这里先清掉
# service iptables stop;chkconfig iptables off
selinux如果没有这方面的需求,建议禁用
# vi /etc/sysconfig/selinux
SELINUX=disabled
SELINUXTYPE=targeted
5. 创建mysql帐号和用户组
# groupadd mysql
# useradd -g mysql mysql
6. 创建安装目录
# mkdir -p /data/mysqldata/{3306/{data,tmp,binlog,logs,redo-log,undo-log},backup,scripts}
# chown -R mysql:mysql /data/mysqldata
7. 安装mysql软件
# tar -zxvf mysql-5.6.15.tar.gz
# cd mysql-5.6.15
# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql56 \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DENABLED_LOCAL_INFILE=ON \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DCOMPILATION_COMMENT='LOTTU' \
-DWITH_READLINE=ON \
-DSYSCONFDIR=/data/mysqldata/3306 \
-DMYSQL_UNIX_ADDR=/data/mysqldata/3306/mysql.sock
若编译过程总出现错误或者参数变更要重新配置,用通过rm删除源码包下的Cmakecache.txt文件重新执行cmake;或者直接删除源码目录重新解压缩并进行编译配置。
# make && make install
make是用来编译的,它从Makefile中读取指令,然后编译
make install是用来安装的,它也是从Makefile中读取指令,将软件安装到指定的位置。
常用参数:
-DCMAKE_INSTALL_PREFIX:用于指定软件的安装路径。默认安装到/usr/local/mysql下。
-DDEFAULT_CHARSET 指定mysql服务的默认字符集。默认为latin1,也可以在mysql服务启动时通过指定character_set_server参数进行设置
-DDEFAULT_COLLATION 指定mysql服务的默认校对规则,本参数的默认值为latin1_swedish_ci也可以在启动时通过colloation_server参数进行设置
-DENABLED_LOCAL_INFILE 是否允许从客户端本地加载数据到mysql服务端,专用于LOAD DATA INFILE语句,默认是不允许的。
-DENABLED_PROFILING 是否启动query profiling 专用于show profile和show profiles语句,默认是启用的。
-DMYSQL_DATADIR 指定mysql数据库数据文件的存储路径,这一选项可在mysql服务启动时通过datadir参数进行配置
-DSYSCONFDIR 指定mysql参数文件的默认位置,可在mysql服务启动时通过default-file参数进行设置。
-DWITH_xxx_STORAGE_ENGINE 静态编译某存储引擎。MyISAM、MERGE、MEMORY及CSV存储引擎默认就会被编译只服务端无需指定。另外PARTITION指定是否允许支持分区,PERFSCHEMA则是Performance_schema库
-DWITHOUT_xxx_STORAGE_ENGINE 用于指定不编译的存储引擎
-DWITH_EXTRA_CHARSETS 指定附加支持的字符集,默认是all全部
-DINSTALL_BINDIR 指定mysql各项命令的存储路径,默认在CMAKE_INSTALL_PREFIX/bin下
-DINSTALL_DOCDIR 指定mysql文档的存储路径 默认在CMAKE_INSTALL_PREFIX/docs下
-DINSTALL_INCLUDERDIR 指定头文件的存储路径 默认在CMAKE_INSTALL_PREFIX/include下
-DINSTALL_LIBDIR 指定链接文件的存储路径 默认在CMAKE_INSTALL_PREFIX/lib下
-DINSTALL_MANDIR 指定用户手册的存储路径 默认在CMAKE_INSTALL_PREFIX/man下
-DINSTALL_PLUGINDIR 指定Plugin的存储路径 默认在CMAKE_INSTALL_PREFIX/plugin下
-DINSTALL_SBINDIR 指定服务端执行脚本的存储路径 默认在CMAKE_INSTALL_PREFIX/bin下
-DINSTALL_SCRIPTDIR 指定mysql自带的mysql_install_db脚本的存储路径 默认在CMAKE_INSTALL_PREFIX/scripts下
-DINSTALL_SQLBENCHDIR 指定sql-bench存储路径 默认在CMAKE_INSTALL_PREFIX下
-DINSTALL_SUPPORTFILESDIR 指定mysql自带的附加支持类文件的存储路径 默认在CMAKE_INSTALL_PREFIX/support-files
-DMYSQL_TCP_PORT 指定mysql数据库提供服务的TCP/IP端口 默认3306。可在mysql启动时通过port参数进行设置。
-DMYSQL_UNIX_ADDR 指定套接字文件的存储路径 默认在/tmp/mysql.sock目录下,可在mysqk服务启动时通过socket参数进行设置
-DCOMPILATION_COMMENT 指定编译信息
-DWITH_READLINE 指定输入输出的处理方式,在5.1之前版本无需单独处理,默认就是使用readline方式,5.5之后MYSQL编译时默认使用
libedit处理输入和输出,可能导致当前环境登录mysql命令行模式后无法输入中文(仅针对当前编译环境,其他客户端不受影响)因此编译时需要指定其以readline方式处理
mysql软件安装完成;
8. 安装软件后续工作
# chown -R mysql:mysql /usr/local/mysql56
# vi /home/mysql/.bash_profile
export LANG=zh_CN.GB18030
export PATH=/usr/local/mysql56/bin:$PATH
9. 配置参数文件
在/data/mysqldata/3306目录下;创建my.cnf文件
#vi /data/mysqldata/3306/my.cnf
[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/es_mysql1.pid
basedir=/usr/local/mysql56
datadir=/data/mysqldata/3306/data
tmpdir=/data/mysqldata/3306/tmp
open_files_limit=500
explicit_defaults_for_timestamp
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES #Buffer
max_allowed_packet=32M
max_heap_table_size=32M
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=16M
max_binlog_cache_size=64M
max_binlog_size=64M
binlog_format=row
log_output=FILE
log-error=/data/mysqldata/3306/logs/mysql-error.log
slow_query_log=1
slow_query_log_file=/data/mysqldata/3306/logs/slow_query.log
general_log=0
general_log_file=/data/mysqldata/3306/logs/general_query.log
expire-logs-days=14 #InnoDB
innodb_data_file_path=ibdata1:1024M:autoextend
innodb_log_file_size = 32M
innodb_log_files_in_group =6
innodb_buffer_pool_size = 128M
sync_binlog = 8
innodb_buffer_pool_load_at_startup = 1
innodb_buffer_pool_dump_at_shutdown = 1
innodb_log_group_home_dir=/data/mysqldata/3306/redo-log/
innodb_undo_directory=/data/mysqldata/3306/undo-log/ [mysql]
no-auto-rehash
prompt=(\u@\h) [\d]>\
default-character-set=gbk 参数可以到网上找查考..本环境是在虚拟机上面搭建的。
10. 初始化mysql数据库
# /usr/local/mysql56/scripts/mysql_install_db --datadir=/data/mysqldata/3306/data --basedir=/usr/local/mysql56
11. 启动mysql数据库
# mysqld_safe --defaults-file=/data/mysqldata/3306/my.cnf &
12. 配置mysql
delete from mysql.user where (user,host) not in (select 'root','localhost');
update mysql.user set user='system',password=password('li0924');
flush privileges;
MySQL on Linux 部署手册的更多相关文章
- 通达OA2008从windows环境移植到linux部署手册
通达OA2008从windows环境移植到linux中(centos5.5及以上版本) OA系统拓扑图: 环境搭建(安装lamp环境) 1.安装xampp集成lamp包xampp-linux-1.6. ...
- ProxySQL实现Mysql读写分离 - 部署手册
ProxySQL是一个高性能的MySQL中间件,拥有强大的规则引擎.ProxySQL是用C++语言开发的,也是percona推的一款中间件,虽然也是一个轻量级产品,但性能很好(据测试,能处理千亿级的数 ...
- LVS+MYCAT+读写分离+MYSQL主备同步部署手册
LVS+MYCAT+读写分离+MYSQL主备同步部署手册 1 配置MYSQL主备同步…. 2 1.1 测试环境… 2 1.2 配置主数据库… 2 1.2.1 ...
- 【转载】LVS+MYCAT+读写分离+MYSQL主备同步部署手册(邢锋)
LVS+MYCAT+读写分离+MYSQL主备同步部署手册 1 配置MYSQL主备同步…. 2 1.1 测试环境… 2 1.2 配置主数据库… 2 1.2.1 ...
- 部署WEB项目到服务器(三)安装mysql到linux服务器(Ubuntu)详解
突发奇想,想在自己电脑上部署一个web网站. 1,首先是下载一个适合自己已安装服务器版本的mysql数据库. 这里使用网上的链接http://dev.mysql.com/downloads/mysql ...
- JAVAEE——BOS物流项目14:Linux部署(安装jdk、tomcat、mySQL)和扩展资料
1 学习计划 1.Linux部署 n 安装jdk n 安装tomcat n 安装MySQL n 将项目发布到tomcat 2.扩展资料 2 Linux部署 2.1 安装jdk 第一步:获取Linux系 ...
- OpenStack Kilo版加CEPH部署手册
OpenStack Kilo版加CEPH部署手册 作者: yz联系方式: QQ: 949587200日期: 2015-7-13版本: Kilo 转载地址: http://mp.weixin.qq.co ...
- MariaDB Galera Cluster部署手册
MariaDB Galera Cluster部署手册 galara保证双主数据库的同步及一致性 1.环境准备 基于新部署.最小化安装centos6.5 1> yum install opens ...
- Linux部署ASP.NET 5 (vNext)
原文:Linux部署ASP.NET 5 (vNext) ASP.NET 5 (vNext) Linux部署 引言 工欲善其事,必先利其器. 首先,我们先明确下以下基本概念 Linux相关 Ubun ...
随机推荐
- Building Apache Thrift on CentOS 6.5
Building Apache Thrift on CentOS 6.5 Starting with a minimal installation, the following steps are r ...
- 解决Eclipse闪退问题的方法总结
1.在C:/WINDOWS/system32 系统文件夹中ctrl+F 然后搜索java.exe,如果存在java.exe, javaw.exe etc.全部删除. 2.内存不足,打开Eclipse目 ...
- 《编程之美》practice
1.2.中国象棋将帅问题 要求:只用一个字节存储变量,输出将帅不照面的所有可能位置. 思路简单,就是穷举让将和帅不在同一列即可,用char高四字节和低四字节分别存储将和帅的位置,位置编号从1到9.代码 ...
- vmstat和iostat命令进行Linux性能监控
这是我们正在进行的Linux命令和性能监控系列的一部分.vmstat和iostat两个命令都适用于所有主要的类unix系统(Linux/unix/FreeBSD/Solaris). 如果vmstat和 ...
- selenium操作浏览器-窗口切换
package seleniumLearn1; import java.util.Set; import java.util.concurrent.TimeUnit; import org.openq ...
- python-s and s.strip()
s and s.strip()“ 这个表达式的值.Python语法是这么运行的: 如果s is None,那么s会被判断为False.而False不管和什么做and,结果都是False,所以不需要看a ...
- (笔记)Mysql命令update set:修改表中的数据
update set命令用来修改表中的数据. update set命令格式:update 表名 set 字段=新值,… where 条件; 举例如下:mysql> update MyClass ...
- 第三百二十四节,web爬虫,scrapy模块介绍与使用
第三百二十四节,web爬虫,scrapy模块介绍与使用 Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架. 其可以应用在数据挖掘,信息处理或存储历史数据等一系列的程序中.其最初是为了 ...
- Java如何获取正在运行的线程的名称?
在Java编程中,如何获取正在运行的线程的名称? 以下示例显示如何获取正在运行的线程的名称. package com.yiibai; public class GettingThreadName ex ...
- 7款效果惊人的HTML5/CSS3应用
今天是周末,我为大家收集7个比较经典的HTML5/CSS3应用,每一个都提供源代码,效果非常惊人. 1.CSS3/jQuery创意盒子动画菜单 作为前端开发者,各种各样的jQuery菜单见过不少,这款 ...