mysql 源码安装 5.6.21_Mysql5.6.21源码安装
做了3年运维,个人笔记倒是挺多,没有好好整理,有分享精神,比较懒,大学注册的账号,但是一直没有写过任何技术文档,羞愧。很认同一句话,搞技术一定要有分享精神。
环境描述
安装包:mysql-5.6.21.tar.gz
系统环境:Centos6.5
描述:安装的系统都是最小化的方式,勾选了基础,就下一步安装了,因为都是实验环境。系统配置没有太多的要求。虚拟机。内存只分配了512Mb内存,所以大家的mysql.cnf文件,根据生产情况去分配。
(1)依赖包安装
#yum install wget bison gcc gcc-c++ wget make cmake ncurses-devel libtool zilib-devel -y
(2)安装包下载,为懒人提供下载连接,连接失效的自行下载。
(3)规划好目录,尤其生产中。别搞得乱七八糟,维护的系统都需一套统一的目录体系结构。交接工作也一目了然。带新人,别人也看得懂。大伙赞同吧,哈哈
#mkdir -p /data/mysqldata/{3306/{data,tmp,binlog,redo-log,undo-log},backup,scripts}
(4)创建mysql用户,授权.
#groupadd mysql
#useradd -g mysql mysql
#chown mysql:mysql -R /data/mysqldata
(5)解压包,编译安装。
#tar zxvf mysql-5.6.21.tar.gz
#cd mysql-5.6.21
5.1:生成编译配置文件
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 \
-DWITH_EXAMPLE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DCOMPILATION_COMMENT='JSS for mysqltest' \
-DWITH_READLINE=ON \
-DSYSCONFDIR=/data/mysqldata/3306 \
-DMYSQL_UNIX_ADDR=/data/mysqldata/3306/mysql.sock
5.2:编译参数描述,这里简单解释下。
DCMAKE_INSTALL_PREFIXmysql安装目录,这里指的是mysql软件的安装路径,
DDEFAULT_CHARSET指定mysql的字符集。
DDEFAULT_COLLATION指定mysql服务的默认校对规则。
DENABLED_LOCAL_INFILE是否允许从客户端本地加载数据到Mysql服务端,专用于load data infile语句,默认不允许
DWITH_*_STORAGE_ENGINE静态编译某种存储引擎。*表示存储引擎名称,1表示开启。
DCOMPILATION_COMMENT编译信息,后面启动的时候会看到。
DWITH_READLINEmysql输入输出的处理方式
DSYSCONFDIRmysql参数文件的默认路径
DMYSQL_UNIX_ADDR套接字文件存储路径位置
描述:
以上很多信息都可以安装完成后,在my.cnf文件进行修改。如果编译过程出错,或者参数弄错,可以删除目录下的Cmakecache.txt文件,重新执行cmake,或者重新解压编译即可。
5.3:执行编译和安装
#make
#make install
5.4:授权,因为我是用root用户进行安装,但为了安全性。这部很重要啊,不要忘记了。。。
chown mysql:mysql -R /usr/local/mysql56
(6)编辑配置文件,注意,改操作是在mysql用户下操作。
#su - mysql
[mysql@test ~]$vim /data/mysqldata/3306/my.cnf
配置文件也规划好,不同类别位置对方整齐。[client]
port = 3306
socket = /data/mysqldata/3306/mysql.sock
#Mysql Server
[mysqld]
port = 3306
user = mysql
socket = /data/mysqldata/3306/mysql.sock
pid-file = /data/mysqldata/3306/mysql.pid
basedir = /usr/local/mysql56
datadir = /data/mysqldata/3306/data
tmpdir = /data/mysqldata/3306/tmp
open_files_limit = 512
explicit_defaults_for_timestamp
sql_mode = NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
#Buffer
max_allowed_packet = 64M
max_heap_table_size = 64M
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 = 128m
max_binlog_size = 128m
binlog_format = row
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
#master-slave,这里先不做任何配置,下一个章节会讲到。
server-id = 1
binlog-ignore-db = test
replicate-ignore-db = test
log-slave-updates=true
#InnoDB
innodb_data_file_path = libdata1:1024M:autoextend
innodb_log_file_size = 32M
innodb_log_files_in_group =6
innodb_log_group_home_dir = /data/mysqldata/3306/redo-log/
innodb_buffer_pool_size = 200M
sync_binlog = 8
#Undo Logs这里被我注释了,5.6版本undo可以拆分出来,用xtrabackup恢复有异常,就注释了。
#innodb_undo_directory = /data/mysqldata/3306/undo-log/
#innodb_undo_log = 64
#innodb_undo_tablespaces = 16
[mysql]
no-auto-rehash
prompt=(\\u@\\h) [\\d]>\\_
6.1:部分参数详解
(7)初始化数据库。
$/usr/local/mysql56/scripts/mysql_install_db --datadir=/data/mysqldata/3306/data --basedir=/usr/local/mysql56
结果如下:
Installing MySQL system tables...OK
Filling help tables...OK
To start mysqld at boot time you have to copy
support-files/mysql.server to the right place for your system
PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands:
/usr/local/mysql56/bin/mysqladmin -u root password 'new-password'
/usr/local/mysql56/bin/mysqladmin -u root -h p_w_picpath04.com password 'new-password'
Alternatively you can run:
/usr/local/mysql56/bin/mysql_secure_installation
which will also give you the option of removing the test
databases and anonymous user created by default. This is
strongly recommended for production servers.
See the manual for more instructions.
You can start the MySQL daemon with:
cd . ; /usr/local/mysql56/bin/mysqld_safe &
You can test the MySQL daemon with mysql-test-run.pl
cd mysql-test ; perl mysql-test-run.pl
Please report any problems at http://bugs.mysql.com/
The latest information about MySQL is available on the web at
http://www.mysql.com
Support MySQL by buying support/licenses at http://shop.mysql.com
WARNING: Found existing config file /usr/local/mysql56/my.cnf on the system.
Because this file might be in use, it was not replaced,
but was used in bootstrap (unless you used --defaults-file)
and when you later start the server.
The new default config file was created as /usr/local/mysql56/my-new.cnf,
please compare it with your file and take the changes you need.
注释:
看到以上结果,那么恭喜你成功了,如果报错,或者没有看到的同学,也不要慌张,打开日志文件/data/mysqldata/3306/mysql-error.log,查看详情。多数原因都是因为配置文件出错导致。找出问题后,进行修改,然后删除/data/mysqldata/3306{data,redo,binlog}目录下的文件,然后重新执行初始化命令即可。
在我执行的结果看,出现了Warning,这个结果可以忽略,像我上面的结果,在初始化前,可以执行删除配置文件,/usr/local/mysql56/my.cnf,/usr/local/mysql56/my-new.cnf,/etc/my.cnf,如果这些文件存在,可以清除掉。就发现warning消失了。
(8)启动数据库,我这里采用sale的方式启动。
$/usr/local/mysql56/bin/mysqld_safe --defaults-file=/data/mysqldata/3306/my.cnf &
结果如下[mysql@test 3306]$ /usr/local/mysql56/bin/mysqld_safe --defaults-file=/data/mysqldata/3306/my.cnf &
[1] 28848
[mysql@test 3306]$ 150403 19:59:32 mysqld_safe Logging to '/data/mysqldata/3306/data/../mysql-error.log'.
150403 19:59:32 mysqld_safe Starting mysqld daemon with databases from /data/mysqldata/3306/data
8.1:查看启动状态
$ps -ef | grep mysql
$netstat -ano | grep 3306[mysql@test 3306]$ ps -ef | grep mysql
root 27864 1558 0 17:42 pts/0 00:00:00 su - mysql
mysql 27866 27864 0 17:42 pts/0 00:00:00 -bash
mysql 28848 27866 0 19:59 pts/0 00:00:00 /bin/sh /usr/local/mysql56/bin/mysqld_safe --defaults-file=/data/mysqldata/3306/my.cnf
mysql 29386 28848 0 19:59 pts/0 00:00:00 /usr/local/mysql56/bin/mysqld --defaults-file=/data/mysqldata/3306/my.cnf --basedir=/usr/local/mysql56 --datadir=/data/mysqldata/3306/data --plugin-dir=/usr/local/mysql56/lib/plugin --log-error=/data/mysqldata/3306/data/../mysql-error.log --open-files-limit=512 --pid-file=/data/mysqldata/3306/mysql.pid --socket=/data/mysqldata/3306/mysql.sock --port=3306
[mysql@test 3306]$ netstat -ano | grep 3306
tcp 0 0 :::3306 :::* LISTEN off (0.00/0/0)
unix 2 [ ACC ] STREAM LISTENING 80061 /data/mysqldata/3306/mysql.sock
(9)进入数据库
注释:默认mysql管理员账户是没有设置密码的,前面初始化后的信息,已经告诉我们怎么去设置密码。
$/usr/local/mysql56/bin/mysql[mysql@test 3306]$ /usr/local/mysql56/bin/mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.6.21-log JSS for mysqltest
Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
(root@localhost) [(none)]>
(10)关闭数据库
$ /usr/local/mysql56/bin/mysqladmin -S /data/mysqldata/3306/mysql.sock shutdown
结果如下:[mysql@test 3306]$ /usr/local/mysql56/bin/mysqladmin -S /data/mysqldata/3306/mysql.sock shutdown
150403 21:09:30 mysqld_safe mysqld from pid file /data/mysqldata/3306/mysql.pid ended
[1]+ Done /usr/local/mysql56/bin/mysqld_safe --defaults-file=/data/mysqldata/3306/my.cnf
[mysql@test 3306]$ netstat -ano | grep 3306
[mysql@test 3306]$ ps -el | grep mysql
(11)为保障安全性,修改root用户登录信息
查看当前用户信息(root@localhost) [(none)]> select user,host from mysql.user;
+------+---------------+
| user | host |
+------+---------------+
| root | 127.0.0.1 |
| root | ::1 |
| | test.com |
| root | test.com |
| | localhost |
| root | localhost |
+------+---------------+
6 rows in set (0.00 sec)
删除所有账户信息,只保留本地登录(root@localhost) [(none)]> delete from mysql.user where (user,host) not in (select 'root','localhost');
Query OK, 5 rows affected (0.00 sec)
(root@localhost) [(none)]> select user,host from mysql.user;
+------+-----------+
| user | host |
+------+-----------+
| root | localhost |
+------+-----------+
1 row in set (0.00 sec)
修改管理员账号密码信息(root@localhost) [(none)]> update mysql.user set user='mysql-admin',password=password('Abcabc!23');
Query OK, 1 row affected (0.02 sec)
Rows matched: 1 Changed: 1 Warnings: 0
(root@localhost) [(none)]> select user,host from mysql.user;
+-------------+-----------+
| user | host |
+-------------+-----------+
| mysql-admin | localhost |
+-------------+-----------+
1 row in set (0.00 sec)
(12)编写启动,关闭,登录脚本。
12.1:基础信息:
$cd /data/mysqldata/script/
$vim mysql_info.ini# set env
MYSQL_USER=mysql-admin
MYSQL_PASS='Abcabc!23'
#check parameter
if [ $# -ne 1 ]
then
HOST_PORT=3306
else
HOST_PORT=$1
fi
12.2:启动脚本
$vim mysql_start.sh#!/bin/sh
#Created by jiajinh 201504
source /data/mysqldata/scripts/mysql_info.ini
echo "Startup Mysql Service:localhost_"${HOST_PORT}
/usr/local/mysql56/bin/mysqld_safe --defaults-file=/data/mysqldata/3306/my.cnf &
12.3:关闭脚本
$vim mysql_shutdown.sh#!/bin/sh
#Created by jiajinh 201504
source /data/mysqldata/scripts/mysql_info.ini
echo "Shutdown Mysql Service:localhost_"${HOST_PORT}
/usr/local/mysql56/bin/mysqladmin -u${MYSQL_USER} -p${MYSQL_PASS} -S /data/mysqldata/3306/mysql.sock shutdown
12.4:登录脚本#!/bin/sh
#Created by jiajinh 201504
source /data/mysqldata/scripts/mysql_info.ini
echo "Login MySQL Service:localhost_"${HOST_PORT}
/usr/local/mysql56/bin/mysql -u${MYSQL_USER} -p${MYSQL_PASS} -S /data/mysqldata/3306/mysql.sock $2
mysql 源码安装 5.6.21_Mysql5.6.21源码安装相关推荐
- mysql data文件夹恢复_【专注】Zabbix源码安装教程—步骤详解(2)安装并配置mysql...
四.安装并配置mysql(1) 解压mysql-5.7.26.tar.gz与boost_1_59_0.tar.gz #tar -xvf mysql-5.7.26.tar.gz #tar -xvf bo ...
- php+mysql案例含源码_【专注】Zabbix源码安装教程—步骤详解(1)安装前准备
一.实验环境准备 Rhel 7.6 x86_64(server) 192.168.163.72 Rhel 6.5 x86_64(agent) 192.168.163.61 均已配置操作安装光盘为YUM ...
- java mysql SSM实现的校园门户平台网站系统源码+含开题报告与需求分析+包安装配置
下载地址:https://download.csdn.net/download/ouyangxiaobai123/22174377 项目介绍: java mysql SSM实现的校园门户平台网站系统源 ...
- mysql 5.7 多实例主从_mysql-5.7.20源码安装 + 多实例 + 主从复制
版本:MySQL-5.7.20 一.<编译安装> 1.更换yum源 wget -O /etc/yum.repos.d/eprl.repo http://mirrors.aliyun.com ...
- WIndows 下安装mysql (non-install版本,即绿色版,或称为 源码包)
本文针对mysql-noinstall版本,也就是解压缩版的安装配置应用做了个总结,这些操作都是平时很常用的操作.文章中不对mysql的可执行文 件安装版做介绍了,可执行安装版有很多的弊端,我也不一一 ...
- centos mysql 5.6 源码_Centos7环境中mysql-5.6.39 源码安装
1.编译安装MySQL需要一些必备的组件,可以直接使用yum安装即可 yum -y install cmake ncurses-devel gcc-c++ 2 创建 Mysql用户 useradd m ...
- centos5.8安装mysql_Centos5.8上面用Shell脚本一键安装mysql5.5.25源码包
最近在研究mysql集群,至少要安装部署2台或者多台mysql数据库,操作起来即麻烦又很耗时,今天根据安装步骤写了一个Shell脚本,只需执 行以下脚本就可以快速安装mysql数据库,对初学者或者想学 ...
- pip安装wxpython报错traceback_使用源码编译wxpython-基于python2.7
1.前言 本文主要讲述在linux环境下进行编译wxpython,在windows下面安装wxpython很简单,只要下载,然后直接执行exe文件,下一步下一步即可安装,在linux下面,则具有很多步 ...
- 2020最新云赏源码,视频试看、红包打赏,附安装教程
源码名称:<2020最新云赏源码> 开发环境:PHP 空间支持:PHP5.6 + MySQL 安装环境:PHP5.4或者PHP5.6 + Apache + MySQL5.5以上 演示站: ...
最新文章
- 解决启动flanneld失败的方法
- 腾讯大数据星火计划--Angel技术沙龙 对外报名正式启动!
- 最全知识点总结!| 大数据学习路线指南
- rpm包安装mysql数据库
- 利用ajax如何根据权限加载目录,AJAX调用框架,包含权限验证
- 计算机基本概念--超标量,多发射
- 一些iOS面试题答案
- 【区块链基础】2——BTC区块结构
- maxima matlab,为什么大家不用Octave等代替Matlab,Maxima代替Maple?
- velodyne运行Loam_velodyne过程记录
- Epub文件解析库-- Epublib
- zabbix报错排错大全
- 全球首份AR报告第二章:AR的工作原理
- 开源php官方团队解散,php语言大厦将倾?
- html判断手机浏览器,JS判断浏览器iOS(iPhone)、Android手机移动端
- 宋宝华:递归的出口在哪里? (除夕创作年度最后一篇文章)
- FFMPEG 从USB摄像头捕获数据
- 企业信息化系统建设方案
- python实现tea/xtea/xxtea加密算法
- js将时间戳转换成正常时间
热门文章
- R语言系统自带及附属包开元可用数据集汇总
- R语言tidyr包pivot_longer函数、pivot_wider函数数据表变换实战(长表到宽表、宽表到长表)
- R计算数组的累计加和(Cumulative Sums)
- mysql存储过程 delete select insert_mysql常见操作语句,建表,增删改查
- mysql buffer size_优化mysql之key_buffer_size设置
- 数字图像处理1:基本概念
- python opencv 中bmp转raw格式图片并展示
- struts2中使用json遇到的问题总结及示例程序
- 用虚拟机学linux,虚拟机上学习Linux运维?学linux有什么用
- hls二次加密 m3u8_HLS实战之Wireshark抓包分析