centos 7 MysSQL 5.6.39 源码安装
MySQL 5.6.39 二进制安装
CentOS 7 将默认数据库
MySQL替换成了Mariadb。
这里会从系统的环境准备开始一步一步安装。
环境准备
| 系统版本 | 内核版本 | IP地址 |
|---|---|---|
| Centos 7.5 | 4.18.9-1.el7.elrepo.x86_64 | 10.0.0.3 |
备注 该系统采用MINI最小化安装,安装之后对系统进行了最基础的优化操作,操作过程点击这里
删除系统自带的依赖包
[root@node soft]# rpm -qa | egrep 'mysql|mariadb'
mariadb-libs-5.5.56-2.el7.x86_64
[root@node soft]# rpm -qa | egrep 'mysql|mariadb' | xargs rpm -e --nodeps
[root@node soft]# rpm -qa | egrep 'mysql|mariadb'
[root@node soft]#
创建MySQL运行用户
[root@node soft]# useradd -s /sbin/nologin -M mysql
[root@node soft]# grep mysql /etc/passwd
mysql:x:1000:1000::/home/mysql:/sbin/nologin
下载 MySQL
可以在mirrors.163.com的163源下载,点击我下载
如果上面的下载地址失效了,则可以使用百度网盘:链接:https://pan.baidu.com/s/1Ubr_aZbKgiYKuL8cegkP0w
提取码:dkr7
[root@node soft]# wget http://mirrors.163.com/mysql/Downloads/MySQL-5.6/mysql-5.6.39.tar.gz
[root@node soft]# ls
mysql-5.6.39.tar.gz
# 解压
[root@node soft]# tar xf mysql-5.6.39.tar.gz
[root@node soft]# ls
mysql-5.6.39 mysql-5.6.39.tar.gz
编译安装
首先准备编译环境
使用yum下载编译工具和其他依赖包
[root@node soft]# yum install cmake bison git ncurses-devel gcc gcc-c++ -y
使用cmake编译工具对mysql进行编译
[root@node soft]# pwd
/opt/soft
[root@node soft]# ls
mysql-5.6.39 mysql-5.6.39.tar.gz
[root@node soft]# cd mysql-5.6.39
[root@node mysql-5.6.39]# ls
BUILD CMakeLists.txt configure.cmake Docs include libmysql man mysys_ssl README sql storage tests vio
client cmd-line-utils COPYING Doxyfile-perfschema INSTALL libmysqld mysql-test packaging regex sql-bench strings unittest win
cmake config.h.cmake dbug extra libevent libservices mysys plugin scripts sql-common support-files VERSION zlib
[root@node mysql-5.6.39]# cmake -DCMAKE_INSTALL_PREFIX=/opt/mysql-5.6.39 \
> -DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
> -DDEFAULT_CHARSET=utf8 \
> -DDEFAULT_COLLATION=utf8_general_ci \
> -DWITH_INNOBASE_STORAGE_ENGINE=1 \
> -DWITH_ARCHIVE_STORAGE_ENGINE=1 \
> -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
> -DMYSQL_DATADIR=/opt/mysql-5.6.39/data \
> -DMYSQL_TCP_PORT=3306 \
> -DENABLE_DOWNLOADS=1
............................................................
.....................过程太多就不复制了.....................
............................................................
-- GTEST_LIBRARIES:gmock;gtest
-- Library mysqlserver depends on OSLIBS -lpthread;m;crypt;dl
-- Skipping deb packaging on unsupported platform .
-- CMAKE_BUILD_TYPE: RelWithDebInfo
-- COMPILE_DEFINITIONS: HAVE_CONFIG_H
-- CMAKE_C_FLAGS: -Wall -Wextra -Wformat-security -Wvla -Wwrite-strings -Wdeclaration-after-statement
-- CMAKE_CXX_FLAGS: -Wall -Wextra -Wformat-security -Wvla -Woverloaded-virtual -Wno-unused-parameter
-- CMAKE_C_FLAGS_RELWITHDEBINFO: -O3 -g -fabi-version=2 -fno-omit-frame-pointer -fno-strict-aliasing -DDBUG_OFF
-- CMAKE_CXX_FLAGS_RELWITHDEBINFO: -O3 -g -fabi-version=2 -fno-omit-frame-pointer -fno-strict-aliasing -DDBUG_OFF
-- Configuring done
-- Generating done
-- Build files have been written to: /opt/soft/mysql-5.6.3
# 然后是构建安装
[root@node mysql-5.6.39]# make && make install
# make的时候回显示百分比,当结尾没有报错的时候,就说明安装完成了
............................................................
.....................过程太多就不复制了.....................
............................................................
-- Up-to-date: /opt/mysql-5.6.39/sql-bench/innotest2b
-- Up-to-date: /opt/mysql-5.6.39/sql-bench/run-all-tests
-- Up-to-date: /opt/mysql-5.6.39/sql-bench/server-cfg
-- Up-to-date: /opt/mysql-5.6.39/sql-bench/test-ATIS
-- Up-to-date: /opt/mysql-5.6.39/sql-bench/test-alter-table
-- Up-to-date: /opt/mysql-5.6.39/sql-bench/test-big-tables
-- Up-to-date: /opt/mysql-5.6.39/sql-bench/test-connect
-- Up-to-date: /opt/mysql-5.6.39/sql-bench/test-create
-- Up-to-date: /opt/mysql-5.6.39/sql-bench/test-insert
-- Up-to-date: /opt/mysql-5.6.39/sql-bench/test-select
-- Up-to-date: /opt/mysql-5.6.39/sql-bench/test-transactions
-- Up-to-date: /opt/mysql-5.6.39/sql-bench/test-wisconsin
-- Installing: /opt/mysql-5.6.39/sql-bench/cmake_install.cmake
-- Installing: /opt/mysql-5.6.39/sql-bench/CTestTestfile.cmake
[root@node mysql-5.6.39]# ls /opt/
mysql-5.6.39 soft
# 这里可以看到已经安装完成了
配置环境变量
[root@node ~]# cd /opt/
[root@node opt]# ls
mysql-5.6.39 soft
[root@node opt]# chown -R mysql.mysql mysql-5.6.39/
[root@node opt]# echo 'export PATH=$PATH:/opt/mysql-5.6.39/bin' >> /etc/profile
[root@node opt]# tail -1 /etc/profile
export PATH=$PATH:/opt/mysql/bin
[root@node opt]# source /etc/profile
[root@node opt]# mysql -V
mysql Ver 14.14 Distrib 5.6.39, for Linux (x86_64) using EditLine wrapper
配置MySQL启动脚本并设置开机自启
二进制解压后的目录中,包括了MySQL的启动关闭脚本,可以使用,也可以自己写
systemctl管理脚本
[root@node opt]# cd soft/mysql-5.6.39/
[root@node mysql-5.6.39]# pwd
/opt/soft/mysql-5.6.39
[root@node mysql-5.6.39]# ls
BUILD cmake_install.cmake COPYING Docs INSTALL libservices mysys README sql-bench tests win
client CMakeLists.txt CPackConfig.cmake Doxyfile-perfschema install_manifest.txt make_dist.cmake mysys_ssl regex sql-common unittest zlib
cmake cmd-line-utils CPackSourceConfig.cmake extra libevent Makefile packaging scripts storage VERSION
CMakeCache.txt config.h.cmake CTestTestfile.cmake include libmysql man plugin source_downloads strings VERSION.dep
CMakeFiles configure.cmake dbug info_macros.cmake libmysqld mysql-test probes_mysql.o sql support-files vio
[root@node mysql-5.6.39]# cp support-files/mysql.server
mysql.server mysql.server.sh mysql.server-sys5.sh
[root@node mysql-5.6.39]# cp support-files/mysql.server /etc/init.d/mysqld
[root@node mysql-5.6.39]# chmod +x /etc/init.d/mysqld
[root@node mysql-5.6.39]# chkconfig --add mysqld
[root@node mysql-5.6.39]# chkconfig mysqld on
[root@node mysql-5.6.39]# chkconfig | grep mysql
Note: This output shows SysV services only and does not include native
systemd services. SysV configuration data might be overridden by native
systemd configuration.
If you want to list systemd services use 'systemctl list-unit-files'.
To see services enabled on particular target use
'systemctl list-dependencies [target]'.
mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off
配置文件
[root@node mysql-5.6.39]# pwd
/opt/mysql-5.6.39
# 配置文件
[root@node mysql-5.6.39]# cat my.cnf
[client]
port = 3306
socket = /tmp/mysql.sock
[mysql]
no-auto-rehash
[mysqld]
user = mysql
port = 3306
socket = /tmp/mysql.sock
basedir = /opt/mysql-5.6.39/
datadir = /opt/mysql-5.6.39/data
character_set_server=utf8
open_files_limit = 1024
back_log = 600
max_connections = 800
max_connect_errors = 3000
#table_cache = 614
external-locking = FALSE
max_allowed_packet = 8M
sort_buffer_size = 1M
join_buffer_size = 1M
thread_cache_size = 100
thread_concurrency = 2
query_cache_size = 2M
query_cache_limit = 1M
query_cache_min_res_unit = 2k
thread_stack = 192k
tmp_table_size = 2M
max_heap_table_size = 2M
long_query_time = 1
pid-file = /opt/mysql-5.6.39/mysql.pid
relay-log = /opt/mysql-5.6.39/log/relay-bin
relay-log-info-file = /opt/mysql-5.6.39/log/relay-log.info
binlog_cache_size = 1M
max_binlog_cache_size = 1M
max_binlog_size = 2M
key_buffer_size = 16M
read_buffer_size = 1M
read_rnd_buffer_size = 1M
bulk_insert_buffer_size = 1M
lower_case_table_names = 1
skip-name-resolve
slave-skip-errors = 1032,1062
replicate-ignore-db=mysql
server-id = 1
innodb_additional_mem_pool_size = 4M
innodb_buffer_pool_size = 32M
#innodb_data_file_path = ibdata1: 128M: autoextend
innodb_file_per_table = 0
innodb_file_io_threads = 4
innodb_thread_concurrency = 8
innodb_flush_log_at_trx_commit = 2
innodb_log_buffer_size = 2M
innodb_log_file_size = 4M
innodb_log_files_in_group = 3
innodb_max_dirty_pages_pct = 90
innodb_lock_wait_timeout = 120
[mysqldump]
quick
max_allowed_packet = 2M
[mysqld_safe]
log-error=/opt/mysql-5.6.39/error.log
pid-file=/opt/mysql-5.6.39/data/mysql.pid
[root@node mysql-5.6.39]# touch /opt/mysql-5.6.39/error.log
[root@node mysql-5.6.39]# chown -R mysql.mysql /opt/mysql-5.6.39/
启动 测试
[root@node mysql-5.6.39]# /etc/init.d/mysqld start
Starting MySQL. SUCCESS!
[root@node mysql-5.6.39]# ps aux|grep mysql
root 19073 0.6 0.1 113320 3120 pts/0 S 10:03 0:00 /bin/sh /opt/mysql-5.6.39//bin/mysqld_safe --datadir=/opt/mysql-5.6.39/data --pid-file=/opt/mysql-5.6.39/mysql.pid
mysql 19781 4.7 27.7 1505220 558988 pts/0 Sl 10:03 0:00 /opt/mysql-5.6.39/bin/mysqld --basedir=/opt/mysql-5.6.39/ --datadir=/opt/mysql-5.6.39/data --plugin-dir=/opt/mysql-5.6.39//lib/plugin --user=mysql --log-error=/opt/mysql-5.6.39/error.log --open-files-limit=1024 --pid-file=/opt/mysql-5.6.39/mysql.pid --socket=/tmp/mysql.sock --port=3306
root 19804 0.0 0.1 112716 2256 pts/0 S+ 10:03 0:00 grep --color=auto mysql
[root@node mysql-5.6.39]# mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.6.39 Source distribution
Copyright (c) 2000, 2018, 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.
mysql>
mysql>
mysql>
mysql> \q
Bye
查看日志
[root@node mysql-5.6.39]# cat error.log
2018-09-30 10:03:20 19781 [Note] Plugin 'FEDERATED' is disabled.
2018-09-30 10:03:20 7fc9e78c9740 InnoDB: Warning: Using innodb_additional_mem_pool_size is DEPRECATED. This option may be removed in future releases, together with the option innodb_use_sys_malloc and with the InnoDB's internal memory allocator.
2018-09-30 10:03:20 19781 [Note] InnoDB: Using atomics to ref count buffer pool pages
2018-09-30 10:03:20 19781 [Note] InnoDB: The InnoDB memory heap is disabled
2018-09-30 10:03:20 19781 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2018-09-30 10:03:20 19781 [Note] InnoDB: Memory barrier is not used
2018-09-30 10:03:20 19781 [Note] InnoDB: Compressed tables use zlib 1.2.3
2018-09-30 10:03:20 19781 [Note] InnoDB: Using CPU crc32 instructions
2018-09-30 10:03:20 19781 [Note] InnoDB: Initializing buffer pool, size = 32.0M
2018-09-30 10:03:20 19781 [Note] InnoDB: Completed initialization of buffer pool
2018-09-30 10:03:20 19781 [Note] InnoDB: The first specified data file ./ibdata1 did not exist: a new database to be created!
2018-09-30 10:03:20 19781 [Note] InnoDB: Setting file ./ibdata1 size to 12 MB
2018-09-30 10:03:20 19781 [Note] InnoDB: Database physically writes the file full: wait...
2018-09-30 10:03:21 19781 [Note] InnoDB: Setting log file ./ib_logfile101 size to 4 MB
2018-09-30 10:03:21 19781 [Note] InnoDB: Setting log file ./ib_logfile1 size to 4 MB
2018-09-30 10:03:21 19781 [Note] InnoDB: Setting log file ./ib_logfile2 size to 4 MB
2018-09-30 10:03:21 19781 [Note] InnoDB: Renaming log file ./ib_logfile101 to ./ib_logfile0
2018-09-30 10:03:21 19781 [Warning] InnoDB: New log files created, LSN=45781
2018-09-30 10:03:21 19781 [Note] InnoDB: Doublewrite buffer not found: creating new
2018-09-30 10:03:21 19781 [Note] InnoDB: Doublewrite buffer created
2018-09-30 10:03:21 19781 [Note] InnoDB: 128 rollback segment(s) are active.
2018-09-30 10:03:21 19781 [Warning] InnoDB: Creating foreign key constraint system tables.
2018-09-30 10:03:21 19781 [Note] InnoDB: Foreign key constraint system tables created
2018-09-30 10:03:21 19781 [Note] InnoDB: Creating tablespace and datafile system tables.
2018-09-30 10:03:21 19781 [Note] InnoDB: Tablespace and datafile system tables created.
2018-09-30 10:03:21 19781 [Note] InnoDB: Waiting for purge to start
2018-09-30 10:03:21 19781 [Note] InnoDB: 5.6.39 started; log sequence number 0
2018-09-30 10:03:21 19781 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 017c96dd-c455-11e8-9dc5-000c2916c9b7.
2018-09-30 10:03:21 19781 [Note] Server hostname (bind-address): '*'; port: 3306
2018-09-30 10:03:21 19781 [Note] IPv6 is available.
2018-09-30 10:03:21 19781 [Note] - '::' resolves to '::';
2018-09-30 10:03:21 19781 [Note] Server socket created on IP: '::'.
2018-09-30 10:03:21 19781 [Warning] 'user' entry 'root@node' ignored in --skip-name-resolve mode.
2018-09-30 10:03:21 19781 [Warning] 'user' entry '@node' ignored in --skip-name-resolve mode.
2018-09-30 10:03:21 19781 [Warning] 'proxies_priv' entry '@ root@node' ignored in --skip-name-resolve mode.
2018-09-30 10:03:21 19781 [Warning] InnoDB: Cannot open table mysql/slave_master_info from the internal data dictionary of InnoDB though the .frm file for the table exists. See http://dev.mysql.com/doc/refman/5.6/en/innodb-troubleshooting.html for how you can resolve the problem.
2018-09-30 10:03:21 19781 [Warning] Info table is not ready to be used. Table 'mysql.slave_master_info' cannot be opened.
2018-09-30 10:03:21 19781 [Warning] InnoDB: Cannot open table mysql/slave_worker_info from the internal data dictionary of InnoDB though the .frm file for the table exists. See http://dev.mysql.com/doc/refman/5.6/en/innodb-troubleshooting.html for how you can resolve the problem.
2018-09-30 10:03:21 19781 [Warning] InnoDB: Cannot open table mysql/slave_relay_log_info from the internal data dictionary of InnoDB though the .frm file for the table exists. See http://dev.mysql.com/doc/refman/5.6/en/innodb-troubleshooting.html for how you can resolve the problem.
2018-09-30 10:03:21 19781 [Warning] Info table is not ready to be used. Table 'mysql.slave_relay_log_info' cannot be opened.
2018-09-30 10:03:21 19781 [Note] Event Scheduler: Loaded 0 events
2018-09-30 10:03:21 19781 [Note] /opt/mysql-5.6.39/bin/mysqld: ready for connections.
Version: '5.6.39' socket: '/tmp/mysql.sock' port: 3306 Source distribution
至此 使用二进制包安装mysql完成
centos 7 MysSQL 5.6.39 源码安装的更多相关文章
- centos 7 MysSQL 5.7.23 源码安装
MySQL 5.7.23 源码安装 CentOS 7 将默认数据库MySQL替换成了Mariadb. 这里会从系统的环境准备开始一步一步安装. 环境准备 系统版本 内核版本 IP地址 Centos 7 ...
- CentOS 6.5 MySQL5.6.26源码安装
一.源码安装cmake工具 从mysql5.5起,mysql源码安装开始使用cmake wget http://cmake.org/files/v3.2/cmake-3.2.3.tar.gztar z ...
- Linux(CentOS或RadHat)下MySQL源码安装
安装环境: CentOS6.3 64位 软件: Mysql-5.6 所需包: gcc/g++ :MySQL 5.6开始,需要使用g++进行编译.cmake :MySQL 5.5开始,使用cmake进 ...
- php5.6.39 源码安装
1 安装依赖库 yum install -y autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel li ...
- CentOS 6.9/Ubuntu 16.04源码安装RabbitMQ(二进制包tar.gz)
说明:CentOS的安装方式同样适合在Ubuntu中,把源改成APT即可. 一.安装erlang: 下载erlang: 从Erlang的官网http://www.erlang.org/download ...
- Greenplum 源码安装教程 —— 以 CentOS 平台为例
Greenplum 源码安装教程 作者:Arthur_Qin 禾众 Greenplum 主体以及orca ( 新一代优化器 ) 的代码以可以从 Github 上下载.如果不打算查看代码,想下载编译好的 ...
- centos 6x系统下源码安装mysql操作记录
在运维工作中经常部署各种运维环境,涉及mysql数据库的安装也是时常需要的.mysql数据库安装可以选择yum在线安装,但是这种安装的mysql一般是系统自带的,版本方面可能跟需求不太匹配.可以通过源 ...
- CentOS 7下源码安装MySQL 5.6
本文转载,并非原创. 目录 准备工作 运行环境 确认你的安装版本 下载MySQL 安装MySQL 准备安装环境 编译和安装 配置MySQL 单实例配置 单实例配置方法 添加防火墙 启动MySQL 重启 ...
- CentOS 7下源码安装MySQL 5.7
网上说linux安装mysql服务分两种安装方法: ①源码安装,优点是安装包比较小,只有几十M左右,缺点是安装依赖的库多,安装编译时间长,安装步骤复杂容易出错: ②使用官方编译好的二进制文件安装,优点 ...
随机推荐
- 来玩一局CS吗?UE4射击游戏的独立服务器构建
前言 根据UE4官方文档的介绍,UE4引擎在架构时就已经考虑到了多人游戏的情景,多人游戏基于客户端-服务器模式(CS模式).也就是说,会有一个服务器担当游戏状态的主控者,而连接的客户端将保持近似的 ...
- 9、pytest -- 集成文档测试
目录 1. 集成doctest模块 1.1. 通过指定文本文件的方式 1.2. 通过编写文档字符串的方式 1.3. 指定额外的选项 2. 失败时继续执行 3. 指定输出的格式 4. 文档测试中使用fi ...
- MONGODB-LINUX 安装步骤
1.MongoDB 提供了 linux 各发行版本 64 位的安装包,你可以在官网下载安装包. 下载地址:https://www.mongodb.com/download-center#communi ...
- 学习c++11 ThreadPool【转】
#ifndef THREAD_POOL_H #define THREAD_POOL_H #include <vector> #include <queue> #include ...
- VueI18n - 多语言国际化支持插件
VueI18n介绍 vue-i18n是一个vue组件,主要功能是提供国际化多语言的支持.例如项目中打印收费单功能,需要支持中英文打印,使用该组件就很容易的实现,而不必写两份打印单页面. 使用方法 安装 ...
- 最新JetBrains PyCharm 使用教程--创建或导入项目(二)
Python简介 Python是一种非常流行的开源编程语言.得益于无尽的模块选项,Python今天广泛用于脚本语言.Web开发.移动和桌面在许多领域.随着人工智能的复兴,数据科学的崛起,Python更 ...
- 你真的会写单测吗?TDD初体验
前言: 昨天读到了一篇文章,讲的是TDD,即Test-Driven Development,测试驱动开发.大体意思是,它要求在编写某个功能的代码之前先编写测试代码,然后只编写使测试通过的功能代码,通过 ...
- Python OpenCV4趣味应用系列(四)---颜色物体实时检测
今天,我们来实现一个视频实时检测颜色物体的小实例,视频中主要有三个颜色物体,我们只检测红色和绿色的球状物体,如下图所示: 第一步需要打开视频(或者摄像头): cap = cv2.VideoCaptur ...
- 使用VSCode调试Egret项目中的ts代码
发布一次Android项目后,会在代码里,生成对应的.map文件.这样就可以在编辑器里或是Chrome里面对相应的TS文件进行断点调试了. 实际只要在tsconfig.json里面配置一下," ...
- 本地Git连接GitLab(服务器)远程仓库
1.简介 远程仓库是指托管在网络上的项目仓库,现在互联网上有很多项目托管平台,比如github.gitlab等.为了不公开自己项目代码,可以在自己的服务器上搭建自己的项目仓库,最常见的是搭建GitLa ...