IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> 源码编译安装mysql(超级详细) -> 正文阅读

[大数据]源码编译安装mysql(超级详细)

下载

点击下载[5.7.17.tar.gz]

上传到服务器

在这里插入图片描述
在这里插入图片描述

解压

#进入你上传mysql的目录
tar xzf mysql-boost-5.7.17.tar.gz 

创建数据存放目录

mkdir /data/mysql

创建mysql用户

useradd -s /sbin/nologin mysql  #创建mysql用户
chown -R mysql:mysql /data/mysql  #赋予mysql用户数据库存放目录的权限

yum安装编译软件

yum install -y  gcc gcc-c++ cmake ncurses ncurses-devel bison
#不安装的话可能会报缺少编译软件的错误

编译

cd /root/mysql-5.7.17  #进入源码目录
cmake  .  -DCMAKE_INSTALL_PREFIX=/usr/local/mysql57/ \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DMYSQL_DATADIR=/data/mysql \
-DSYSCONFDIR=/etc \
-DMYSQL_USER=mysql \
-DMYSQL_TCP_PORT=3306 \
-DWITH_XTRADB_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_EXTRA_CHARSETS=1 \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DEXTRA_CHARSETS=all \
-DWITH_BIG_TABLES=1 \
-DWITH_DEBUG=0
make
make install

cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql57  	Cmake预编译        #编译后的存放路径
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock 					MYSQL Socket通信文件位置
-DMYSQL_DATADIR=/data/mysql 						MYSQL数据存放路径  #这个是根目录下的data目录,默认是没有的需要手动创建
-DSYSCONFDIR=/etc 									配置文件路径	      #这个也是根目录下的
-DMYSQL_USER=mysql 								    MYSQL运行用户     #没有yum安装过的话是没有mysql这个用户的,需要手动创建
-DMYSQL_TCP_PORT=3306 								MYSQL监听端口
-DWITH_XTRADB_STORAGE_ENGINE=1 						开启xtradb引擎支持
-DWITH_INNOBASE_STORAGE_ENGINE=1  					开启innodb引擎支持
-DWITH_PARTITION_STORAGE_ENGINE=1 					开启partition引擎支持
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 					开启blackhole引擎支持
-DWITH_MYISAM_STORAGE_ENGINE=1 						开启MyISAM引擎支持
-DWITH_READLINE=1 									启用快捷键功能	
-DENABLED_LOCAL_INFILE=1 							允许从本地导入数据
-DWITH_EXTRA_CHARSETS=1 							支持额外的字符集	
-DDEFAULT_CHARSET=utf8 								默认字符集UTF-8	
-DDEFAULT_COLLATION=utf8_general_ci 				检验字符
-DEXTRA_CHARSETS=all 								安装所有扩展字符集
-DWITH_BIG_TABLES=1 								将临时表存储在磁盘上
-DWITH_DEBUG=0										禁止调试模式支持	
make												编译	
make install										安装

预编译可能会报错-报错信息如下

CMake Error at cmake/boost.cmake:81 (MESSAGE):
  You can download it with -DDOWNLOAD_BOOST=1 -DWITH_BOOST=<directory>

  This CMake script will look for boost in <directory>.  If it is not there,
  it will download and unpack it (in that directory) for you.

  If you are inside a firewall, you may need to use an http proxy:

  export http_proxy=http://example.com:80

Call Stack (most recent call first):
  cmake/boost.cmake:238 (COULD_NOT_FIND_BOOST)
  CMakeLists.txt:455 (INCLUDE)


-- Configuring incomplete, errors occurred!
See also "/root/mysql-5.7.17/CMakeFiles/CMakeOutput.log".
See also "/root/mysql-5.7.17/CMakeFiles/CMakeError.log".
解决方法

点击下载[boost.1.59.0.tar.gz]
#跳转后等待5秒,就开始下载了

1.在/usr/local下创建一个名为boost的目录
mkdir -p /usr/local/boost
2.进入这个新创建的目录然后下载boost
https://nchc.dl.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.gz  #<---下载链接
3.解压
mv boost_1_59_0.tar.gz /usr/local/boost/ #把源码包移动到上面创建的目录下,后面要调用
cd /usr/local/boost/  #进入boost目录
tar -xzf boost_1_59_0.tar.gz #解压源码包
4.继续cmake,后面添加以下参数
-DDOWNLOAD_BOOST=1 \
-DWITH_BOOST=/usr/local/boost/ #这里调用上面的boost目录

这是完整的命令,上面都有
在这里插入图片描述
等它加载完后面有这句话就说明环境没问题了
在这里插入图片描述

开始编译

make
#编译过程片段  等它加载到100%
Scanning dependencies of target INFO_BIN
[  0%] Built target INFO_BIN
Scanning dependencies of target INFO_SRC
[  0%] Built target INFO_SRC
Scanning dependencies of target abi_check
[  0%] Built target abi_check
Scanning dependencies of target zlib
[  0%] Building C object zlib/CMakeFiles/zlib.dir/adler32.c.o
[  0%] Building C object zlib/CMakeFiles/zlib.dir/compress.c.o
[  0%] Building C object zlib/CMakeFiles/zlib.dir/crc32.c.o
[  0%] Building C object zlib/CMakeFiles/zlib.dir/deflate.c.o
[  0%] Building C object zlib/CMakeFiles/zlib.dir/gzio.c.o
[  0%] Building C object zlib/CMakeFiles/zlib.dir/infback.c.o
[  0%] Building C object zlib/CMakeFiles/zlib.dir/inffast.c.o
[  0%] Building C object zlib/CMakeFiles/zlib.dir/inflate.c.o
[  0%] Building C object zlib/CMakeFiles/zlib.dir/inftrees.c.o
[  0%] Building C object zlib/CMakeFiles/zlib.dir/trees.c.o
[  0%] Building C object zlib/CMakeFiles/zlib.dir/uncompr.c.o
[  0%] Building C object zlib/CMakeFiles/zlib.dir/zutil.c.o
#如果服务器性能不行的话过程很漫长

开始编译安装

make install 
#也是等它加载到100%,这个比上面快

编辑配置文件

cd /etc/   #进入配置文件目录
cp my.cnf my.cnf.back # 以防万一先备份
vim my.cnf  #编辑mysql配置文件

配置文件:

[client]
port        = 3306   #端口
socket      = /tmp/mysql.sock   #MYSQL Socket通信文件位置

[mysqld]
port        = 3306  #端口 
socket      = /tmp/mysql.sock  #MYSQL Socket通信文件位置
user = mysql    #用户


basedir = /usr/local/mysql57 #mysql源码安装位置
datadir = /data/mysql/   #mysql数据存放位置
pid-file = /data/mysql/mysql.pid  #进程文件存放路径

log_error = /data/mysql/mysql-error.log  #报错日志存放路径
slow_query_log = 1
long_query_time = 1
slow_query_log_file = /data/mysql/mysql-slow.log  #慢查询日志信息存放位置


skip-external-locking
key_buffer_size = 32M
max_allowed_packet = 1024M
table_open_cache = 128
sort_buffer_size = 768K
net_buffer_length = 8K
read_buffer_size = 768K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M
thread_cache_size = 16
query_cache_size = 16M
tmp_table_size = 32M
performance_schema_max_table_instances = 1000

explicit_defaults_for_timestamp = true
#skip-networking
#max_connections = 500
#max_connect_errors = 100
#open_files_limit = 65535
#
#log_bin=mysql-bin
#binlog_format=mixed
#server_id   = 232
#expire_logs_days = 10
#early-plugin-load = ""
#
#default_storage_engine = InnoDB
#innodb_file_per_table = 1
#innodb_buffer_pool_size = 128M
#innodb_log_file_size = 32M
#innodb_log_buffer_size = 8M
#innodb_flush_log_at_trx_commit = 1
#innodb_lock_wait_timeout = 50
#
#[mysqldump]
#quick
#max_allowed_packet = 16M
#
#[mysql]
#no-auto-rehash
#
#[myisamchk]
#key_buffer_size = 32M
#sort_buffer_size = 768K
#read_buffer = 2M
#write_buffer = 2M
#

初始化mysql

整个命令:
cd /usr/local/mysql57/bin/

 ./mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql57 --datadir=/data/mysql/
解释:
 ./mysqld --initialize-insecure  #<---执行脚本
 --user=mysql     #<---用户
 --basedir=/usr/local/mysql57  #<---数据库安装路径
 --datadir=/data/mysql/    #<---数据库文件路径
 #这些参数路径要和上面的配置文件一致

拷贝可执行配置文件

cd /usr/local/mysql57/support-files #进入开启mysql执行文件的目录
cp mysql.server /etc/init.d/mysqld  #把开启执行文件拷贝到/init.d目录下面

启动mysql

service mysqld start
Starting MySQL. SUCCESS!  #有这段话表示启动成功

测试连接

cd /usr/local/mysql57/bin  #进入可执行文件目录
./mysql -hlocalhost -uroot -p #不需要密码

最终结果
在这里插入图片描述

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-11-12 19:39:55  更:2021-11-12 19:41:37 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 6:07:24-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码