千家信息网

mysql如何源码安装5.7-17-19版本

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章将为大家详细讲解有关mysql如何源码安装5.7-17-19版本,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。由于项目需要,现在要使用5.7.19版本的my
千家信息网最后更新 2026年11月02日mysql如何源码安装5.7-17-19版本

这篇文章将为大家详细讲解有关mysql如何源码安装5.7-17-19版本,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

由于项目需要,现在要使用5.7.19版本的mysql

1:首先下载mysql 二进制安装文件

mysql-5.6.19.tar.gz

存放目录/mysql/mysql-5.6.19.tar.gz

tar -xf mysql-5.6.19.tar.gz

cd mysql-5.6.19

进行cmake,但是提示Cmake版本过低,至少需要2.8的版本

2:下载cmake

cmake-2.8.10.2.tar.gz

tar -xf cmake-2.8.10.2.tar.gz

./configure

make && make install

3:进行cmake

先创建mysql 安装目录以及数据文件存放目录

mkdir -p /mysql/mysql

mkdir -p /mysql/mysql/data

同时需要创建mysql 账号

useradd mysql

passwd mysql

再进行目录授权:

chown -R mysql:mysql /mysql

这个是5.7.17版本的编译安装

cd mysql-5.6.17

cmake \

-DCMAKE_INSTALL_PREFIX=/mysql/ \ //mysql软件安装的根目录

-DMYSQL_DATADIR=/mysql/data \ //mysql 数据文件存放目录

-DSYSCONFDIR=/etc \ //mysql 配置文件(my.cnf)目录

-DWITH_MYISAM_STORAGE_ENGINE=1 \ //存储引擎选项

-DWITH_INNOBASE_STORAGE_ENGINE=1 \ //以启用InnoDB、引擎支持:

-DWITH_MEMORY_STORAGE_ENGINE=1 \

-DWITH_READLINE=1 \

-DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock \

-DMYSQL_TCP_PORT=3306 \

-DENABLED_LOCAL_INFILE=1 \ //启用加载本地数据

-DWITH_PARTITION_STORAGE_ENGINE=1 \

-DEXTRA_CHARSETS=all \

-DDEFAULT_CHARSET=utf8 \ //默认字符集

-DDEFAULT_COLLATION=utf8_general_ci //字符集校对

进行编译,编译时报错如下:

heck size of wctype_t - done

-- Check size of wint_t

-- Check size of wint_t - done

-- Could NOT find Curses (missing: CURSES_LIBRARY CURSES_INCLUDE_PATH)

CMake Error at cmake/readline.cmake:85 (MESSAGE):

Curses library not found. Please install appropriate package,

remove CMakeCache.txt and rerun cmake.On Debian/Ubuntu, package name is libncurses5-dev, on Redhat and derivates it is ncurses-devel.

Call Stack (most recent call first):

cmake/readline.cmake:128 (FIND_CURSES)

cmake/readline.cmake:202 (MYSQL_USE_BUNDLED_EDITLINE)

CMakeLists.txt:411 (MYSQL_CHECK_EDITLINE)

这个报错是提示缺少ncurses-devel依赖包

进行下载:ncurses-devel-5.7-3.20090208.el6.x86_64.rpm

rpm -ivh ncurses-devel-5.7-3.20090208.el6.x86_64.rpm

warning: ncurses-devel-5.7-3.20090208.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY

Preparing... ########################################### [100%]

1:ncurses-devel ########################################### [100%]

同时rm -rf CMakeCache.txt 然后进行重新cmake

完成之后,进行make && make install 进行mysql 安装

- Installing: /mysql/man/man1/msql2mysql.1

-- Installing: /mysql/man/man8/mysqld.8

-- Installing: /mysql/support-files/solaris/postinstall-solaris

算安装完成了,接下来就需要进行配置

这是5.7.17的步骤

4: 进入到mysql的安装目录,/mysql下:进行mysql 数据库初始化

scripts/mysql_install_db --basedir=mysql --datadir=/mysql/data --user=mysql //初始化mysql数据库

但是报错

[root@db_test scripts]# ./mysql_install_db --basedir=mysql --datadir=/mysql/data --user=mysql

FATAL ERROR: Could not find ./bin/my_print_defaults

cd /u01/soft/mysql-5.6.17/support-files

cp my-default.cnf /usr/local/mysql/my.cnf //copy配置文件

[root@db_test support-files]# chown -R mysql:mysql /mysql

vi /my.cnf 添加以下内容

[mysqld]

basedir = /mysql

datadir = /mysql/data

log-error = /mysql/mysql_error.log

pid-file = /mysql/mysql.pid

user = mysql

tmpdir = /tmp

初始化mysql数据库

[root@db_test scripts]# ./mysql_install_db --basedir=/mysql --datadir=/mysql/data --user=mysql

Installing MySQL system tables...2017-05-11 15:01:56 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).

2017-05-11 15:01:56 8161 [Note] InnoDB: Using atomics to ref count buffer pool pages

2017-05-11 15:01:56 8161 [Note] InnoDB: The InnoDB memory heap is disabled

2017-05-11 15:01:56 8161 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins

2017-05-11 15:01:56 8161 [Note] InnoDB: Compressed tables use zlib 1.2.3

2017-05-11 15:01:56 8161 [Note] InnoDB: Using CPU crc32 instructions

2017-05-11 15:01:56 8161 [Note] InnoDB: Initializing buffer pool, size = 128.0M

2017-05-11 15:01:56 8161 [Note] InnoDB: Completed initialization of buffer pool

2017-05-11 15:01:56 8161 [Note] InnoDB: Highest supported file format is Barracuda.

2017-05-11 15:01:56 8161 [Note] InnoDB: Log scan progressed past the checkpoint lsn 1600617

2017-05-11 15:01:56 8161 [Note] InnoDB: Database was not shutdown normally!

2017-05-11 15:01:56 8161 [Note] InnoDB: Starting crash recovery.

2017-05-11 15:01:56 8161 [Note] InnoDB: Reading tablespace information from the .ibd files...

2017-05-11 15:01:56 8161 [Note] InnoDB: Restoring possible half-written data pages

2017-05-11 15:01:56 8161 [Note] InnoDB: from the doublewrite buffer...

或使用下列命令把mysql添加为系统服务

cd/mysql/support-files/

cp ./mysql.server /etc/init.d/mysqld

/etc/init.d/mysqld start

在配置环境变量

export PATH=$PATH:/mysql/bin

[mysql@db_test ~]$ mysql

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 1

Server version: 5.6.17 Source distribution

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.

mysql> show databases;

+--------------------+

| Database |

+--------------------+

| information_schema |

| test |

+--------------------+

2 rows in set (0.00 sec)

5:5.7.19版本的安装步骤

5.7.19版本安装是时候提示

CMake Error at cmake/boost.cmake:81 (MESSAGE):

You can download it with -DDOWNLOAD_BOOST=1 -DWITH_BOOST=

所以下载boost软件

[root@localhost ~]# wget http://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz

tar -xf boost_1_59_0.tar.gz

cp -r boost_1_59_0 /usr/local/boost

进行安装

cmake \

-DCMAKE_INSTALL_PREFIX=/mysql/mysql \

-DMYSQL_DATADIR=/mysql/mysql/data \

-DDEFAULT_CHARSET=utf8 \

-DDEFAULT_COLLATION=utf8_general_ci \

-DMYSQL_TCP_PORT=3306 \

-DMYSQL_USER=mysql \

-DWITH_MYISAM_STORAGE_ENGINE=1 \

-DWITH_INNOBASE_STORAGE_ENGINE=1 \

-DWITH_ARCHIVE_STORAGE_ENGINE=1 \

-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \

-DWITH_MEMORY_STORAGE_ENGINE=1 \

-DENABLE_DOWNLOADS=1 \

-DDOWNLOAD_BOOST=1 \

-DWITH_BOOST=/usr/boost

完成之后,进行make && make install

时间很长,可以出去抽根烟。

配置环境变量

export PATH=/mysql/mysql/bin:/mysql/mysql/lib:$PATH

时间很长

cd mysql/bin

./mysqld --initialize-insecure --user=mysql --basedir=/mysql/mysql --datadir=/mysql/data

[root@localhost mysql]# cp support-files/mysql.server /etc/init.d/mysqld

[root@localhost mysql]# chmod a+x /etc/init.d/mysqld

再编辑/etc/my.cnf

[mysqld]

datadir=/mysql/data

socket=/mysql/mysql.sock

user=mysql

# Disabling symbolic-links is recommended to prevent assorted security risks

symbolic-links=0

[mysqld_safe]

log-error=/mysql/mysql/logs/mysqld.log

pid-file=/mysql/mysql/logs/mysqld.pid

[client]

default-character-set=utf8

socket=/mysql/mysql.sock

[mysql]

default-character-set=utf8

socket=/mysql/mysql.sock

启动mysql

[root@localhost mysql]# service mysqld start

Starting MySQL.2018-08-30T01:45:21.383785Z mysqld_safe error: log-error set to '/mysql/mysql/logs/mysqld.log', however file don't exists. Create writable for user 'mysql'.

The server quit without updating PID file (/mysql/data/loca[失败]localdomain.pid)

报错,需要创建文件。

[root@localhost logs]# touch mysqld.log

[root@localhost logs]# touch mysqld.pid

[root@localhost logs]# chown -R mysql:mysql /mysql

[root@localhost mysql]# service mysqld start

Starting MySQL. [确定]

[root@localhost mysql]#

[mysql@localhost ~]$ mysql

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 3

Server version: 5.7.19 Source distribution

Copyright (c) 2000, 2017, 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> show databases;

+--------------------+

| Database |

+--------------------+

| information_schema |

| mysql |

| performance_schema |

| sys |

+--------------------+

4 rows in set (0.00 sec)

mysql>

再修改root的密码

Database changed

mysql> select host,user,authentication_string from user;

+-----------+---------------+-------------------------------------------+

| host | user | authentication_string |

+-----------+---------------+-------------------------------------------+

| localhost | root | |

| localhost | mysql.session | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE |

| localhost | mysql.sys | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE |

+-----------+---------------+-------------------------------------------+

3 rows in set (0.00 sec)

mysql> UPDATE user SET authentication_string=PASSWORD('shenzhen#123')WHERE user='root';

Query OK, 1 row affected, 1 warning (0.01 sec)

Rows matched: 1 Changed: 1 Warnings: 1

mysql> flush privileges;

Query OK, 0 rows affected (0.00 sec)

mysql> select host,user,authentication_string from user;

+-----------+---------------+-------------------------------------------+

| host | user | authentication_string |

+-----------+---------------+-------------------------------------------+

| localhost | root | *4E25F9206A350692D2F5AC0512B41C69759FF312 |

| localhost | mysql.session | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE |

| localhost | mysql.sys | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE |

+-----------+---------------+-------------------------------------------+

3 rows in set (0.00 sec)

mysql>

mysql>

关于"mysql如何源码安装5.7-17-19版本"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

版本 目录 数据 文件 配置 数据库 篇文章 提示 编译 源码 内容 变量 同时 字符 字符集 引擎 时间 更多 步骤 环境 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 湖南永感互联网科技有限公司 国智互联网科技 盈实互联网科技 深圳齐家互联网科技 齐家互联网科技有限公司 中国互联网金融科技基金 华中科技有哪些互联网大佬 隆华科技工业互联网 茂名市互联网科技产业园 互联网校园科技培训 世界互联网科技公司市值排名 乌苏新华互联网科技做什么的 明优互联网科技有限公司 科技互联网海报 互联网金融科技公司的优势 广州燕处互联网科技有限公司 科技互联网公司两年变化 北京品多多互联网科技有限公司 保山浩联互联网科技有限公司 华人运通互联网科技公司 互联网高科技 麻工互联网科技 互联网金融公司科技 恒生科技互联网指数分析 翼展科技 首家互联网医院 黑云互联网科技有限公司 杭州披云加互联网科技有限公司 互联网科技数字货币 山东大美朱楼互联网科技有限公司 山东蛋芒互联网科技有限公司
0