Linux中MySQL5.6编译安装与MySQL5.7二进制安装步骤

首先,介绍一下MySQL的几种安装方式

1、RPM、Yum 的安装方式:安装方便、安装速度快,无法定制

2、二进制:不需要安装,解压即可使用,不能定制功能

3、编译安装:可定制,安装慢。

     编译安装中需要注意的是 5.5之前的编译方式是:./configure  make && make install 

     而5.5之后则使用:cmake

企业中使用的安装方式:先编译,然后制作rpm,制作yum库,然后yum安装。

简单、速度快、可定制,比较复杂 制作时间长

MySQL的获取方式

软件包尽量去官方网站下载

官方地址:https://www.mysql.com/

不同的安装方式下载不同的包

Linux-Generic 代表的是二进制包

编译安装的话下载Source Code,表示源码包

博主的安装方式是编译安装方式,而二进制安装方式,就是将下载的二进制包解压后,即可

MySQL5.6安装与5.7安装过程中有哪些差异

5.6与5.7的编译安装差异主要是初始化不同

5.7初始化完成后,会自动设置一个初始密码,而5.6没有

MySQL5.6编译安装部署

1、安装依赖包

依赖包

yum install -y ncurses-devel libaio-devel

安装cmake

yum install cmake -y

2、创建管理用户

useradd -s /sbin/nologin -M -u 999 mysql

最好指定好uid,对管理数据库有好处

3、解压安装

找到下载的mysql包所在路径,然后进行解压,软件包尽量去官方网站下载

tar zxf mysql-5.6.36.tar.gz

解压完成后,使用 cd 进入解压好的mysql目录中,进行cmake

cmake . -DCMAKE_INSTALL_PREFIX=/application/mysql-5.6.36 \
-DMYSQL_DATADIR=/application/mysql-5.6.36/data \
-DMYSQL_UNIX_ADDR=/application/mysql-5.6.36/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS=all \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
-DWITH_ZLIB=bundled \
-DWITH_SSL=bundled \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_EMBEDDED_SERVER=1 \
-DENABLE_DOWNLOADS=1 \
-DWITH_DEBUG=0

cmake安装过程做了什么呢?

(1)定制功能:存储引擎、字符集、压缩等

(2)定制安装位置、数据存放位置、文件位置

4、进行编译安装

make && make install 

这两步完成后然后创建软连接,这样在使用mysql的时候方便

ln -s /application/mysql-5.6.36/ /application/mysql

5、初始化及配置数据库

这步做的主要是指定mysql的管理用户,程序路径,数据存储路径

如果不设置管理用户为mysql会导致启动报错

对于mysql的 my.cnf 配置文件参数优化与解释请参照:http://www.cnblogs.com/lyq863987322/p/8074749.html

\cp /application/mysql/support-files/my*.cnf /etc/my.cnf     ### 将配置文件复制到/etc下,可以不用复制

/application/mysql/scripts/mysql_install_db --basedir=/application/mysql/ --datadir=/application/mysql/data --user=mysql 

6、设置mysql目录权限

chown -R mysql.mysql /application/mysql/

将启动文件复制到/etc/init.d下,方便启动关闭管理,并启动

cp /application/mysql/support-files/mysql.server /etc/init.d/mysqld
chmod 700 /etc/init.d/mysqld
/etc/init.d/mysqld start

7、设置命令环境变量

这一步就是对于博主这种比较懒得人有好处了,以后在登陆的时候就不用在将mysql的详细路径打一遍了

echo 'PATH=/application/mysql/bin/:$PATH' >>/etc/profile   --- 将mysql命令路径添加到环境变量配置文件
tail -1 /etc/profile    ----- 查看添加结果
source /etc/profile     ----- 有结果了,执行这一步让环境变量生效
echo $PATH           --- 不放心可以再检查一下生效了没有
mysql        ----- 这样就可以直接登陆了

这样mysql5.6就已经安装完成了,默认的登陆是没有密码

设置/修改密码:

mysqladmin -u root password '123456'

mysql -uroot -p123456

MySQL5.7二进制安装部署

1、解压mysql二进制包

tar xf mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz

2、将解压完的mysql目录移动到程序目录(自己设置放哪)

并且设置软连接

mv mysql-5.7.17-linux-glibc2.5-x86_64 /application/mysql-5.7.17
ln -s /application/mysql-5.7.17 /application/mysql

3、创建管理用户,并授权

useradd -s /sbin/nologin -M -u 999 mysql
chown -R mysql.mysql /application/mysql-5.7.17

4、初始化配置数据库

/application/mysql-5.7.17/bin/mysqld --initialize --user=mysql --basedir=/application/mysql-5.7.17 --datadir=/application/mysql-5.7.17/data

执行初始化的输出信息:最后一行有初始密码,一定要先记住

2017-12-20T08:08:00.604818Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2017-12-20T08:08:03.828187Z 0 [Warning] InnoDB: New log files created, LSN=45790
2017-12-20T08:08:04.164378Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2017-12-20T08:08:04.389472Z 0 [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: e7a07703-e55c-11e7-b24e-000c29c5641d.
2017-12-20T08:08:04.391108Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
2017-12-20T08:08:04.827938Z 1 [Note] A temporary password is generated for root@localhost: *:vQq%O:E6dD

5、拷贝配置文件和启动文件

对于mysql的 my.cnf 配置文件参数优化与解释请参照:http://www.cnblogs.com/lyq863987322/p/8074749.html

cp /application/mysql-5.7.17/support-files/my-default.cnf /etc/my.cnf

cp /application/mysql-5.7.17/support-files/mysql.server /etc/init.d/mysqld

6、修改启动文件内容

因为启动文件中指定的mysql程序路径与安装路径不同,所以需要改过来

sed 's#/usr/local#/application#g' /application/mysql-5.7.17/bin/mysqld_safe /etc/init.d/mysqld -i

7、配置环境变量

echo 'PATH=/application/mysql/bin/:$PATH' >>/etc/profile
tail -1 /etc/profile
source /etc/profile
echo $PATH

8、安装完成修改密码登陆

[root@baba tools]# mysqladmin -uroot -p password '123456'
Enter password: 
mysqladmin: [Warning] Using a password on the command line interface can be insecure.
Warning: Since password will be sent to server in plain text, use ssl connection to ensure password safety.

[root@baba tools]# mysql -uroot -p123456
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 5
Server version: 5.7.17 MySQL Community Server (GPL)

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.

mysql>

安装完成

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏gaoqin31

centos6.5编译安装LNMP架构web环境

作为 Web 服务器:相比 Apache,Nginx 使用更少的资源,支持更多的并发连接,体现更高的效率。

30740
来自专栏坚毅的PHP

mysql复制学习二 安装及首次复制配置

安装 下载rpm版本 server 安装  rpm -ivh MySQL-server-5.5.24-1.linux2.6.i386.rpm  出错1 ...

44650
来自专栏xingoo, 一个梦想做发明家的程序员

Oracle使用小记

windows下Oracle必须要启动的服务 Oracle ORCL VSS Writer Service:Oracle卷映射拷贝写入服务,VSS(Volume...

22450
来自专栏Golang语言社区

网游内存数据库的设计(2)

续第一篇,前两天对核心存储做了些修改,以前只打算与关系数据库的行与表做对应,value类型只能使array或list, 现在把7种基本类型也加入到value支持...

38280
来自专栏程序员同行者

mysql日志类型

17560
来自专栏pangguoming

mysql双机热备的实现

转:http://blog.csdn.net/qq394829044/article/details/53203645

37610
来自专栏coding

mac 搭建selenium与ChromeDriver环境安装 selenium安装 ChromeDriver验证安装

下载后,将安装包加入到环境变量。以mac系统为例,将chromedriver移至/usr/bin目录下即可

1.3K20
来自专栏时序数据库专栏

Mysql数据导入CTSDB最佳实践

    CTSDB是一款分布式、可扩展、支持近实时数据搜索与分析的时序数据库,且兼容Elasticsearch常用的API接口。对于很多用户,想要将Mysql中...

22590
来自专栏cs

MySQL 问题解决

问题如下: Failed to Connect to MySQL at 127.0.0.1:3306 with user root Access denied...

45980
来自专栏散尽浮华

Mysql主从同步(1)-主从/主主环境部署梳理

Mysql复制概念说明 Mysql内建的复制功能是构建大型,高性能应用程序的基础。将Mysql的数据分布到多个系统上去,这种分布的机制,是通过将Mysql的某一...

42550

扫码关注云+社区

领取腾讯云代金券