php在编译时需要mysql的配置,这样PHP远程连接mysql才有用。
1.创建mysql用户和相关目录(配置文件里设置的目录)

groupadd mysql
useradd -g mysql -M -s /bin/nologin mysql

  

mkdir /usr/local/mysql    #mysql安装目录
mkdir /data/dbdata -p #mysql数据目录
mkdir -p /data/dbdata/binlog #mysql二进制日志目录
mkdir -p /data/dbdata/log #mysql慢日志、错误日志、普通日志存放目录
touch /data/dbdata/log/mysql-error.log #配置文件中的错误日志路径是什么就创建什么文件
mkdir -p /opt/mysqltmp #mysql临时表目录
chown mysql:mysql /usr/local/mysql -R
chown mysql:mysql /data/dbdata -R
chown mysql:mysql /opt/mysqltmp
chown mysql:mysql /data/dbdata/log/mysql-error.log

   

2.安装依赖包

yum install ncurses ncurses-devel libgcc compat-gcc libtool libtool-ltdl-devel cmake bison perl gcc gcc-c++ -y

有些安装过的包可以忽略

3.mysql源码包获取和编译安装

官网www.mysql.com     community-->source code-->Generic Linux

cd /download
tar xf mysql-5.6.37.tar.gz
cd mysql-5.6.37
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/dbdata -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1-DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_MYISAM_STORAGE_ENGINE=1 -DMYSQL_TCP_PORT=3306 -DENABLED_LOCAL_INFILE=1 -DWITH_EXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_SSL=yes
#注:重新运行配置,需要删除CMakeCache.txt文件
make && make install

  

##################编译参数解释: ############################################# 

#一般选项:
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql
#指定基本安装目录,这个参数可以在服务启动时候用--basedir参数指定
-DMYSQL_DATADIR=/data/dbdata
#指定mysql data文件存放目录
#存储引擎:
-DWITH_INNOBASE_STORAGE_ENGINE=
-DWITH_BLACKHOLE_STORAGE_ENGINE=
-DWITH_ARCHIVE_STORAGE_ENGINE=
-DWITH_PARTITION_STORAGE_ENGINE=
-DWITH_PERFSCHEMA_STORAGE_ENGINE=
-DWITH_MYISAM_STORAGE_ENGINE=
#存储引擎选项:
MyISAM,MERGE,MEMORY,和CSV引擎是默认编译到服务器中,并不需要明确地安装。
静态编译一个存储引擎到服务器,使用-DWITH_engine_STORAGE_ENGINE=
可用的存储引擎值有:ARCHIVE, BLACKHOLE, EXAMPLE, FEDERATED, INNOBASE (InnoDB), PARTITION (partitioning support), 和PERFSCHEMA (Performance Schema) #功能选项:
-DMYSQL_UNIX_ADDR=/usr/local/mysql/tmp/mysql.sock
#指定sock文件存放位置,默认位置是/tmp/mysql.sock
-DMYSQL_TCP_PORT=
#监听端口
-DENABLED_LOCAL_INFILE=
#Whether to enable LOCAL capability in the client library fo r LOAD DATA INFILE.
-DWITH_EXTRA_CHARSETS=all
-DDEFAULT_CHARSET=utf8
-DDEFAULT_COLLATION=utf8_general_ci
-DWITH_SSL=yes
#ssl支持
-DENABLE_DOWNLOADS=
#是否要下载可选的文件。例如,启用此选项(设置为1),cmake将下载谷歌所使用的测试套件运行单元测试

编译参数解释

#####################################################################################

4.初始化

/usr/local/mysql/scprit/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/dbdata

5.服务启动脚本

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
chmod 755 /etc/init.d/mysqld

多个mysql实例不可能共用同一个安装目录和数据存放目录,每个mysql实例都应有自己对应的目录,多实例需要修改mysql服务启动脚本中的目录位置,,如果不是多实例这一步可免

vim /etc/init.d/mysqld
basedir=/usr/local/mysql
datadir=/data/mysqldb

6.配置文件 

在MySQL5.5数据库中,可以没有配置文件,在这种情况下,MySQL会安装编译时的默认参数设置启动实例用以下命令查看,当MYSQL数据库实例启动时,它会在哪些位置查找配置文件

/usr/local/mysql/bin/mysql --help | grep my.cn
order of preference, my.cnf, $MYSQL_TCP_PORT,
/etc/my.cnf /etc/mysql/my.cnf /usr/etc/my.cnf ~/.my.cnf

MySQL里面有启动参数、系统参数,启动参数通过show variables无法查询到,可以在mysqld的选项中查到,例如关于二进制日志有Startup Options Used with Binary Logging、System Variables Used with Binary Logging两种参数

配置文件my.cnf详解:

[client]
port = //客户端所连接的端口号
socket = /tmp/mysql.sock //客户端所连接的sock文件存放位置 [mysqld]
#base
port = //mysql的默认端口号,可以修改
user = mysql //mysql用户指定
socket = /tmp/mysql.sock //连接所使用的端口号
pid-file = /tmp/mysql.pid //进程运行的主PID文件
basedir = /usr/local/mysql //Mysql安装目录
datadir = /data/mysqldb //Mysql数据目录
tmpdir = /opt/mysqltmp //Mysql临时表目录
open_files_limit = //打开文件句柄的数量
explicit_defaults_for_timestamp
sql_mode = NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
federated //支持sql语法和数据校验等.sql_mode三种模式
ANSI模式、宽松模式,对插入数据进行校验,如果不符合定义类型或长度,对数据类型调整或者截断保存,报“warning”警告 TRADITIONAL模式、严格模式,当向mysql数据插入数据时、进行数据的严格校验,保证数据不能插入,报error错误,用于事物时,会进行事物回滚. STRICT_TRANS_TABLES模式。严格模式,进行数据的严格校验,错误数据不能插入,报error错误. server_id = //主从复制唯一的服务辨识号,数值位于 1 到
#replicate-do-db = posp //定义唯一复制的库
#replicate-ignore-db = mysql //定义唯一复制的库
#log-slave-updates = //这个选项之再主从复制。从服务器上打开复制主的信息
event_scheduler= //打开时间调度器 max_connections = //#最大并发连接数 ,增大该值需要相应增加允许打开的文件描述符数
max_connect_errors = //如果某个用户发起的连接error超过该数值,则该用户的下次连接将被阻塞,
interactive_timeout = //服务器关闭交互连接前等待活动的秒数
wait_timeout = //服务器关闭非交互连接之前等待活动的秒数
skip-name-resolve //#garnt时,必须使用ip,不能使用主机名,禁用DNS解析
sync_binlog= //可以保证事务的安全。缺省为0
log_bin_trust_function_creators = //打开mysql可自定义函数 character-set-server = utf8 //设定字符集
default_storage_engine = InnoDB //定义默认引擎 #log
log-bin = /data/mysqldb/binlog/mysql-bin //指定binlog二进制日志的文件名称
binlog_cache_size = 32m //binlog的缓存大小
max_binlog_cache_size = 10g //设定最大的binlog缓存
binlog_stmt_cache_size = 32m //设定最小的binlo缓存
table_open_cache = //表描述符缓存大小,可减少文件打开/关闭次数
max_binlog_size = 1024m //设置binlog日志文件最大为1G
binlog_format = mixed //binlog日志格式.
log_output = FILE //确认输出到日志文件
log-error = /data/mysqldb/log/mysql-error.log //mysql系统错误日志输出
slow_query_log = //打开慢日志记录
slow_query_log_file = /data/mysqldb/log/mysql-slow_query.log //定义慢日志输出的路径
general_log = //定义普通日志
general_log_file = /data/mysqldb/log/mysql-general-query.log //定义普通日志输出的路径
expire-logs-days = //日志保留的时间为30天
relay-log = /data/mysqldb/binlog/relay-bin //定义reloa_log复制的地址
relay-log-index= /data/mysqldb/binlog/relay-bin.index //定义reloa_log索引 #buffer
sort_buffer_size = 2m //#MyISAM表发生变化时重新排序所需的缓冲。一般64M足矣
read_buffer_size = 2m //用来做MyISAM表全表扫描的缓冲大小.
read_rnd_buffer_size = 2m //#当在排序之后,从一个已经排序好的序列中读取行时,行数据将从这个缓冲中读取来防止磁盘寻道
join_buffer_size = 2m //# InnoDB用来缓存数据和 net_buffer_length = 16k //执行mysqldump时,net buffer length的最大上限是16Mb,默认值是1Mb
max_allowed_packet = 512m //每个连接独立的大小.大小动态增加
bulk_insert_buffer_size = 32m //# 当突发插入被检测到时此缓冲将被分配用于myisam
max_heap_table_size = 512m//#内存表的大小
tmp_table_size = 512m//# 内部(内存中)临时表的最大大小
thread_cache_size = //#缓存可重用的线程数,可以适当的调整
query_cache_size = 256m //#指定MySQL查询结果缓冲区的大小。调优可以适当调整
query_cache_limit = 10m //#缓存单条SQL的结果集上限。默认4KB。调优可以适当调整
query_cache_min_res_unit = 4k
key_buffer_size = 16m //#关键词缓冲的大小, 一般用来缓冲MyISAM表的索引块
myisam_sort_buffer_size = 64m //# 这在每个线程中被分配.所以在设置大值时需要小心
myisam_max_sort_file_size = 10g //MySQL重建索引时所允许的最大临时文件的大小如果文件大小比此值更大,索引会通过键值缓冲创建(更慢)
myisam_repair_threads = //#如果一个表拥有超过一个索引, MyISAM #innodb
innodb_file_per_table = #//#可以修改InnoDB为独立表空间模式,每个数据库的每个表都会生成一个数据空间
innodb_data_file_path = ibdata1:2048M:autoextend //#如果你只有单个逻辑驱动保存你的数据,一个单个的自增文件就足够好了
innodb_log_file_size = 128m //#在日志组中每个日志文件的大小,
innodb_log_files_in_group = //# 在日志组中的文件总数. 通常来说2~3是比较好的
innodb_buffer_pool_size = 1g //innodb缓存池大小
innodb_buffer_pool_instances = -
innodb_max_dirty_pages_pct = //#在InnoDB缓冲池中最大允许的脏页面的比例. 60-90都可以
#innodb_thread_concurrency =
innodb_flush_method = O_DIRECT
innodb_log_buffer_size = 16m # 用来缓冲日志数据的缓冲区的大小. 当此值快满时, InnoDB将必须刷新数据到磁盘上
innodb_flush_log_at_trx_commit =
0代表日志只大约每秒写入日志文件并且日志文件刷新到磁盘# 2代表日志写入日志文件在每次提交后,但是日志文件只有大约每秒才会刷新到磁盘上 [mysql]
no-auto-rehash #可以在命令可以使用tab键补齐
prompt = (\u@\h) [\d]\_ #在Mysql命令显示主机名字
default-character-set = utf8 //设定字符集合

my.cnf

touch /data/dbdata/mysql-error.log

chown mysql:mysql /data/dbdata/mysql-error.log

7.启动服务和设置环境变量

#:vim /etc/profile
文件末尾加上以下语句: MYSQL=/usr/local/mysql/bin
PATH=$PATH:$MYSQL
export PATH #:source /etc/profile //使配置生效  

 启动服务:

/etc/init.d/mysqld start

进入数据库:

mysql -uroot
若没有设置第七步的环境变量,进入数据库命令为:
/usr/local/mysql/bin/mysql -uroot

  

#######################

遇到的错误
首先看日志文件
删除/data/dbdata下的三个文件
============
注意:
log_slave_updates
主从复制的时候。在主(master)服务器上关闭此选项,在从(slave)上面开启此选项  

  

 

  

zabbix准备:mysql安装的更多相关文章

  1. RHEL6 最小化系统 编译安装部署zabbix (mysql)

    RHEL6 最小化系统 编译安装部署zabbix (mysql)官方说明详细见:https://www.zabbix.com/documentation/4.0/manual/installation ...

  2. Centos6.7 安装zabbix+apache+mysql教程(第一篇)

    Centos6.7 安装zabbix+apache+mysql教程 blog地址: http://www.cnblogs.com/caoguo ### 基本包安装 ### [root@ca0gu0 ~ ...

  3. zabbix 3.0 安装 ubuntu环境

    zabbix 3.0 安装 标签(空格分隔): 开发 [TOC] 下载deb # wget http://repo.zabbix.com/zabbix/3.0/ubuntu/pool/main/z/z ...

  4. [转]Zabbix 3.0 安装笔记

    Zabbix 3.0 只支持CentOS 7.0以上版本,所以先在虚拟机中安装好CentOS 7.0 x64,并设置好IP,允许虚拟机联网. 1.安装MySQL 从最新版本的linux系统开始,默认的 ...

  5. Zabbix 3.0 安装笔记

    Zabbix 3.0 只支持CentOS 7.0以上版本,所以先在虚拟机中安装好CentOS 7.0 x64,并设置好IP,允许虚拟机联网. 1.安装MySQL 从最新版本的linux系统开始,默认的 ...

  6. zabbix3.0.4 部署之三 (LNMP > Mysql 安装)

    MySQL从5.5版本开始,通过./configure进行编译配置方式已经被取消,取而代之的是cmake工具. 因此,我们首先要在系统中源码编译安装cmake工具. 接下来的安装过程中会遇到错误,我们 ...

  7. zabbix监控MySQL

    通过使用mysql_performance_monitor软件包实现zabbix对mysql的监控. 1.安装依赖软件.yum install perl-File-Which perl-libwww- ...

  8. centos shell编程6一些工作中实践脚本 nagios监控脚本 自定义zabbix脚本 mysql备份脚本 zabbix错误日志 直接送给bc做计算 gzip innobackupex/Xtrabackup 第四十节课

    centos   shell编程6一些工作中实践脚本   nagios监控脚本 自定义zabbix脚本 mysql备份脚本 zabbix错误日志  直接送给bc做计算  gzip  innobacku ...

  9. Zabbix概念、安装以及快速入门

    Zabbix is an enterprise-class open source distributed monitoring solution.[1] Zabbix是一个企业级的.开源的.分布式的 ...

随机推荐

  1. Java知多少(63)线程间通信

    上述例题无条件的阻塞了其他线程异步访问某个方法.Java对象中隐式管程的应用是很强大的,但是你可以通过进程间通信达到更微妙的境界.这在Java中是尤为简单的. 像前面所讨论过的,多线程通过把任务分成离 ...

  2. [js] 处理字符串换行造成的json解析失败

    需求:从数据库某个字段取出字符串出来,转为json,结果发现报错为 解析失败,发现是因为取出的字符串换行导致,现在需要将字符串里面的换行替换为'',使字符串可依成功解析成json对象. 技术:依靠re ...

  3. SAP项目的整体预算大概是多少?

    例如一家规模包括(5-6个生产型子公司),员工5000人,市值100亿,销售额每年20亿左右的集团公司.上SAP,预算怎么算? 这其中:1)软件费用一般多少? 2)用户费用是怎么算的? 3)维护费用又 ...

  4. 04单例模式Singleton

    一.什么是单例模式 单例模式是一种对象创建型模式,使用单例模式, 可以保证为一个类只生成唯一的实例对象.也就是说, 在整个程序空间中,该类只存在一个实例对象. 其实,GoF对单例模式的定义是:保证一个 ...

  5. 更改linux下文件目录权限、拥有者及用户组

    在linux中的每个用户必须属于一个组,不能独立于组外.在linux中每个文件有所有者.所在组.其它组的概念 - 所有者 - 所在组 - 其它组 - 改变用户所在的组 所有者 一般为文件的创建者,谁创 ...

  6. Eclipse常用的几个快捷键

    快速修正: Ctrl+1 查看方法说明: F2 单词补全: Alt+/ 快速层次结构: Ctrl+T 保存: Ctrl+S 变为大/小写:   Ctrl+Shift+X/Y 前一个编辑的页面: Alt ...

  7. Get Started with the Google Fonts API

    Get Started with the Google Fonts API This guide explains how to use the Google Fonts API to add fon ...

  8. 【CF944G】Coins Exhibition DP+队列

    [CF944G]Coins Exhibition 题意:Jack去年参加了一个珍稀硬币的展览会.Jack记得一共有 $k$ 枚硬币,这些硬币排成一行,从左到右标号为 $1$ 到 $k$ ,每枚硬币是正 ...

  9. MySQL 之 表操作

    一 什么是表 表(TABLE) 是一种结构化的文件,可用来存储某种特定类型的数据.表中的一条记录有对应的标题,标题 称之为 表的字段. 二 创建表 1 2 3 4 5 CREATE TABLE 表名( ...

  10. 7.11python多进程

    #!/usr/bin/env python #!--*--coding:utf-8 --*-- #!@Time :2018/7/11 19:27 #!@Author TrueNewBee import ...