源码安装mysql-5.6.32.tar.gz

http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.32.tar.gz

安装依赖包:

#yum install wget bison gcc gcc-c++ wget make cmake ncurses-devel libtool zilib-devel -y

规划好目录:

# mkdir -p /data/mysqldata/{3306/{data,tmp,binlog,redo-log,undo-log},backup,scritps}
[[email protected]]# tree /data/
servers/data/
└── mysqldata
    ├── 3306
    │   ├── binlog
    │   ├── data
    │   ├── redo-log
    │   ├── tmp
    │   └── undo-log
    ├── backup
    └── scritps

9 directories, 0 files

创建mysql用户,授权

#groupadd mysql
#useradd -g mysql mysql
[[email protected] /]# chown mysql:mysql -R /data/mysqldata

生成编译配置文件:

[[email protected] mysql-5.6.31]# cmake -DCMAKE_INSTALL_PREFIX=/app/servers/mysql-5.6.31 -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

上面的cmake是不能成功,初始化不能成功(下面的代码没问题):

cmake -DCMAKE_INSTALL_PREFIX=/app/servers/mysql-5.5.20 -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS:STRING=all -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_USER=mysql -DMYSQL_TCP_PORT=3306
DCMAKE_INSTALL_PREFIX mysql安装目录,这里指的是mysql软件的安装路径,
DDEFAULT_CHARSET 指定mysql的字符集。
DDEFAULT_COLLATION 指定mysql服务的默认校对规则。
DENABLED_LOCAL_INFILE
是否允许从客户端本地加载数据到Mysql服务端,专用于load data infile语句,默认不允许

DWITH_*_STORAGE_ENGINE 静态编译某种存储引擎。*表示存储引擎名称,1表示开启。
DCOMPILATION_COMMENT 编译信息,后面启动的时候会看到。
DWITH_READLINE mysql输入输出的处理方式
DSYSCONFDIR mysql参数文件的默认路径
DMYSQL_UNIX_ADDR 套接字文件存储路径位置
[[email protected] mysql-5.6.31]# make && make install
[[email protected] mysql-5.6.31]# chown mysql:mysql -R /app/servers/mysql-5.6.31
[[email protected] mysql-5.6.31]# chown mysql.mysql /data/mysqldata/3306/my.cnf
[[email protected] mysql-5.6.31]# ll -h /data/mysqldata/3306/my.cnf
-rw-r--r-- 1 mysql mysql 1.6K Aug 17 19:13 /data/mysqldata/3306/my.cnf
[[email protected] mysql-5.6.31]# cat /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 = /app/servers/mysql-5.6.31
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=(\\[email protected]\\h) [\\d]>\\_
[[email protected] servers]# ls
mfs  mysql-5.6.31
[[email protected] servers]# ln -s mysql-5.6.31/ mysql
[[email protected] servers]# ll
total 8
drwxr-xr-x.  6 root  root  4096 Jun 30 21:31 mfs
lrwxrwxrwx   1 root  root    13 Aug 17 19:15 mysql -> mysql-5.6.31/
drwxr-xr-x  13 mysql mysql 4096 Aug 17 19:01 mysql-5.6.31

http://jiajinh.blog.51cto.com/2085098/1627966

# /app/servers/mysql-5.6.31/scripts/mysql_install_db --datadir=/data/mysqldata/3306/data --basedir=/app/servers/mysql-5.6.31
/app/servers/mysql-5.6.31/my.cnf,/app/servers/mysql-5.6.31/my-new.cnf,/etc/my.cnf,如果这些文件存在,可以清除掉。就发现warning消失了

启动数据库,我这里采用sale的方式启动:

[[email protected] servers]# /app/servers/mysql/bin/mysqld_safe --defaults-file=/data/mysqldata/3306/my.cnf &
[1] 25381
[[email protected] servers]# 160818 21:58:55 mysqld_safe Logging to ‘/data/mysqldata/3306/data/../mysql-error.log‘.
160818 21:58:56 mysqld_safe Starting mysqld daemon with databases from /data/mysqldata/3306/data

查看启动状态:

[[email protected] log]# ps aux |grep mysqld
root     25381  0.0  0.0 106232  1404 pts/0    S    21:58   0:00 /bin/sh /app/servers/mysql/bin/mysqld_safe --defaults-file=/data/mysqldata/3306/my.cnf
mysql    25926  1.0  3.8 1088212 455204 pts/0  Sl   21:58   0:01 /app/servers/mysql-5.6.31/bin/mysqld --defaults-file=/data/mysqldata/3306/my.cnf --basedir=/app/servers/mysql-5.6.31 --datadir=/data/mysqldata/3306/data --plugin-dir=/app/servers/mysql-5.6.31/lib/plugin --user=mysql --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
root     26061  0.0  0.0 103308   876 pts/10   S+   22:00   0:00 grep mysqld
[[email protected] log]# /app/servers/mysql/bin/mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.6.32-log Source distribution

Copyright (c) 2000, 2016, 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.

([email protected]) [(none)]> 

关闭数据库:

[[email protected] log]# /app/servers/mysql/bin/mysqladmin -S /data/mysqldata/3306/mysql.sock shutdown
[[email protected] log]# netstat -ano |grep 3306
[[email protected] log]# ps -el|grep mysql

为保障安全性,修改root用户登录信息

([email protected]) [mysql]> select user,password,host from user;
+------+----------+-----------+
| user | password | host      |
+------+----------+-----------+
| root |          | localhost |
| root |          | ok        |
| root |          | 127.0.0.1 |
| root |          | ::1       |
|      |          | localhost |
|      |          | ok        |
+------+----------+-----------+
6 rows in set (0.00 sec)

删除所有账户信息,只保留本地登录:

([email protected]) [mysql]> delete from mysql.user where (user,host) not in (select ‘root‘,‘localhost‘);
Query OK, 5 rows affected (0.00 sec)
([email protected]) [mysql]> select user,password,host from user;                  +------+----------+-----------+
| user | password | host      |
+------+----------+-----------+
| root |          | localhost |
+------+----------+-----------+
1 row in set (0.00 sec)
时间: 2024-08-24 16:41:00

源码安装mysql-5.6.32.tar.gz的相关文章

源码安装mysql,及主从同步

源码安装mysql [可选] 如果用源码安装cmake软件: cd /home/oldboy/tools/ tar xf cmake-2.8.8.tar.gz cd cmake-2.8.8 ./configure #CMake has bootstrapped. Now run gmake. gmake gmake install cd ../ 依赖包安装(这里直接可以用yum安装cmake) # yum install cmake gcc gcc-c++ gcc-g77 autoconf au

CentOS 7下源码安装MySQL 5.7

网上说linux安装mysql服务分两种安装方法: ①源码安装,优点是安装包比较小,只有几十M左右,缺点是安装依赖的库多,安装编译时间长,安装步骤复杂容易出错: ②使用官方编译好的二进制文件安装,优点是安装速度快,安装步骤简单,缺点是安装包很大,300M左右(5.7版本的是600M左右), 对于第二种方法,我搞了一天,无果,到某个环节实在是无法走通,老大那边也不让搞了,隔了几天老大又吩咐我在生产服务器上安装mysql,这次我就按照第一种方法源码安装方式 下载源码安装包 http://dev.my

Linux 源码安装mysql

源码安装mysql tar zxf mysql-boost-5.7.11.tar.gz rpm -ivh cmake-2.8.12.2-4.el6.x86_64.rpm yum install cmake-2.8.12.2-4.el6.x86_64.rpm -y cd mysql-5.7.11/ yum install gcc-c++ ncurses-devel bison -y 检测 [[email protected]]# cmake -DCMAKE_INSTALL_PREFIX=/usr/

CentOS 6.4 源码安装MySQL 5.6

1.安装前准备工作 1.1 必备的包 gcc/g++ :MySQL 5.6开始,需要使用g++进行编译.cmake :MySQL 5.5开始,使用cmake进行工程管理,cmake需要2.8以上版本.bison :MySQL语法解析器需要使用bison进行编译.ncurses-devel :用于终端操作的开发包. 1.2 MySQL编译参数 CMAKE_BUILD_TYPE 编译的版本类型:RelWithDebInfo和Debug,不同之处是RelWithDebInfo会进行优化.CMAKE_I

CentOS7 下源码安装MySQL 8.0.11

CentOS7 下源码安装MySQL 8.0.11 系统环境:CentOS7, 内核:Linux 3.10.0-862.el7.x86_64 如果有旧版本的MySQL,先卸载,用下面命令来查询出系统有哪些相关的MySQL包. rpm -qa | grep mysql 如果上述命令查询出有相关的MySQL包,就卸载 rpm -e 包名 卸载MariaDB包 yum remove mariadb-libs.x86_64 从MySQL官网下载源码包,并将该文件拷贝到系统中. https://dev.m

Linux平台下源码安装mysql多实例数据库

Linux平台下源码安装mysql多实例数据库[[email protected] ~]# netstat -tlunp | grep 330tcp6 0 0 :::3306 :::* LISTEN 6191/mysqld [[email protected] ~]# ss -tlunp | grep 330tcp LISTEN 0 80 :::3306 :::* users:(("mysqld",pid=6191,fd=10)) [[email protected] ~]# syst

CentOS7下源码安装MySQL 8.x

会选择使用源码安装MySQL,想必对MySQL及其他的安装方式已经有了一定的了解,这里就不对周边信息进行过多赘述了,直接开始吧. 编译MySQL比较消耗内存,如果机器内存较小,可能会在编译期间出现内存不足的异常.若没有设置swap分区的可以设置swap分区来解决,否则只能扩容内存了: [[email protected] ~]# dd if=/dev/zero of=/swapfile bs=1k count=2048000 [[email protected] ~]# mkswap /swap

源码安装mysql

创建mysql组:groupadd mysql 创建mysql用户并赋予这个mysq组中,不创建家目录,不允许用户登录.(因为刚刚创建的mysql是虚拟用户,所以不允许登录)useradd mysql -g mysql -M -s /bin/nologin 源码安装mysql 解压后进行编译安装:./configure \--prefix=/application/mysql5.1.72 \--with-unix-socket-path=/application/mysql5.1.72/tmp/

centos6.5下源码安装mysql密码修改

Centos下源码安装mysql密码破解方法: 方法一:首先停止mysql服务,: /etc/init.d/mysqldstop 停止mysql ps -ef |grep mysql 查看mysql是否关闭 然后以跳过权限方式后台启动 /usr/local/mysql/bin/mysqld_safe--skip-grant-tables --user=mysql & /usr/local/mysql/bin/mysql进入mysql 或者执行mysql回车进入mysql,然后修改密码. 修改My

linux上源码安装MySQL详解

最近需要使用MySQL Fabric,这货是MySQL5.6.10之后才出现的utility.手头机器装的是MySQL5.1,所以需要先把旧版MySQL升级成5.6版本.之前没有玩过MySQL,所以这次稍微费了点事.在此,把过程记录下来,希望能给有需求的人提供一点帮助.下面我们就正式开始. 1. 删除老版本MySQL 其实删除老版MySQL是一件很简单的事,但是开始时候由于担心各个包的依赖会导致各种问题,亦步亦趋来得很慢.其实只需要做到这么几步就可以了: 1.1 查看已安装的mysql版本并删除