redhat mysql编译安装_rhel6.5 编译安装 MYSQLmysql-5.6.31

rhel6.5 编译安装 MYSQLmysql-5.6.31

首先请登录 MYSQL 官方网站下载 mysql 源文件

下载社区版本

需要您注册一个帐号

9e5b6fbc6bd69e49eb502f53da68ab73.png

选择 5.6.31

d193da711756a49d7b52b1b6ee54d1ab.png

选择 源码 包

Source code

选择 通用 linux 版本

下载之后可以用 rz  或者 xftp  或者用任何东西上传到服务器 root 目录下

对比 MD5

8d98639a7db09d38fc0ee2036b8a1dbf.png

f239a86a24ff8748a368e4db3998dbc7.png

MD5: a2d1d89c85ee1f5b1059dbfc741f0b0d | Signature

Md5 一致   证明文件没有错误

解压

tar zxvf mysql-5.6.31.tar.gz

505600e402ff6ab930f19a790b0690f1.png

进入 文件夹

08136e24f493323464affac3d642216e.png

编译安装MySQL前的准备工作

为了避免错误的出现首先看看本机服务器有没有mysql如果有需要卸载

[root@data mysql-5.6.31]# rpm -qa | grep -i mysql

mysql-libs-5.1.66-2.el6_3.x86_64

[root@data mysql-5.6.31]# rpm -e mysql   //普通删除模式

[root@data mysql-5.6.31]#rpm -e --nodeps mysql-libs-5.1.66-2.el6_3.x86_64

//强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除

1.安装编译源码所需的工具和库

[root@data mysql-5.6.31]#yum -y  install gcc gcc-c++ ncurses-devel perl

[root@data mysql-5.6.31]#yum -y install cmake   (cmake 可以源码编译安装也可以 yum 安装)

如果是mysql5.1系列的直接使用编译安装,不用cmake

从mysql5.5起,mysql源码安装开始使用cmake了,设置源码编译配置脚本。

2.添加用户

[root@data mysql-5.6.31]#useradd -u 8001 -s /sbin/nologin mysql

3.创建数据库存放目录  一般数据库目录比较大 便于备份和管理 创建单独的目录

[root@data mysql-5.6.31]#mkdir /data/mysqldb

8f223b464bb0f23123e5b45d1f2518f3.png

4.创建MYSQL 文件目录

[root@data mysql-5.6.31]#mkdir -p /usr/local/mysql

13ada4bbc2df20fe2ba8799192cbd7ca.png

5.编译安装配置文件

cmake

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql    mysql数据文件存放目录  也就是安装目录

-DMYSQL_UNIX_ADDR=/tmp/mysql.sock   mysql sock 的路径

-DDEFAULT_CHARSET=utf8               默认的字符集

-DDEFAULT_COLLATION=utf8_general_ci    默认字符校对

-DWITH_EXTRA_CHARSETS=all   扩展字符支持  默认all

-DWITH_MYISAM_STORAGE_ENGINE=1             存储引擎的支持,默认支持以下几种MyISAM,MERGE,MEMORY,CVS

-DWITH_INNOBASE_STORAGE_ENGINE=1       启用INNOBASE 引擎支持

-DWITH_MEMORY_STORAGE_ENGINE=1        启用MEMORY  引擎支持

-DENABLED_LOCAL_INFILE=1                启用本地数据导入支持

-DMYSQL_DATADIR=/data/mysqldb           数据文件存放的目录

-DMYSQL_USER=mysql                            mysql运行用户

此处参数可以根据下面的参数表

或者到MYSQL 官方网站去查看具体配置参数

可以直接复制以下内容粘贴到服务器上面直接执行

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_DATADIR=/data/mysqldb -DMYSQL_USER=mysql

参数说明

-DCMAKE_INSTALL_PREFIX= 指向mysql安装目录

-DINSTALL_SBINDIR=sbin 指向可执行文件目录(prefix/sbin)

-DMYSQL_DATADIR=/var/lib/mysql 指向mysql数据文件目录(/var/lib/mysql)

-DSYSCONFDIR=/etc/mysql 指向mysql配置文件目录(/etc/mysql)

-DINSTALL_PLUGINDIR=lib/mysql/plugin 指向插件目录(prefix/lib/mysql/plugin)

-DINSTALL_MANDIR=share/man 指向man文档目录(prefix/share/man)

-DINSTALL_SHAREDIR=share 指向aclocal/mysql.m4安装目录(prefix/share)

-DINSTALL_LIBDIR=lib/mysql 指向对象代码库目录(prefix/lib/mysql)

-DINSTALL_INCLUDEDIR=include/mysql 指向头文件目录(prefix/include/mysql)

-DINSTALL_INFODIR=share/info 指向info文档存放目录(prefix/share/info)

prefix官方推荐设为/usr

Storage Engine相关

类型csv,myisam,myisammrg,heap,innobase,archive,blackhole

若想启用某个引擎的支持:-DWITH__STORAGE_ENGINE=1

如:

-DWITH_INNOBASE_STORAGE_ENGINE=1

-DWITH_ARCHIVE_STORAGE_ENGINE=1

-DWITH_BLACKHOLE_STORAGE_ENGINE=1

若想禁用某个引擎的支持:-DWITHOUT__STORAGE_ENGINE=1

如:

-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1

-DWITHOUT_FEDERATED_STORAGE_ENGINE=1

-DWITHOUT_PARTITION_STORAGE_ENGINE=1

Library相关

-DWITH_READLINE=1 启用readline库支持(提供可编辑的命令行)

-DWITH_SSL=system 启用ssl库支持(安全套接层)

-DWITH_ZLIB=system 启用libz库支持(zib、gzib相关)

-DWTIH_LIBWRAP=0 禁用libwrap库(实现了通用TCP包装的功能,为网络服务守护进程使用)

-DMYSQL_TCP_PORT=3306 指定TCP端口为3306

-DMYSQL_UNIX_ADDR=/tmp/mysqld.sock 指定mysql.sock路径

-DENABLED_LOCAL_INFILE=1 启用本地数据导入支持

-DEXTRA_CHARSETS=all 启用额外的字符集类型(默认为all)

-DDEFAULT_CHARSET=utf8 指定默认的字符集为utf8

-DDEFAULT_COLLATION=utf8_general_ci 设定默认排序规则(utf8_general_ci快速/utf8_unicode_ci准确)

-DWITH_EMBEDDED_SERVER=1 编译嵌入式服务器支持

-DMYSQL_USER=mysql 指定mysql用户(默认为mysql)

-DWITH_DEBUG=0 禁用debug(默认为禁用)

-DENABLE_PROFILING=0 禁用Profiling分析(默认为开启)

-DWITH_COMMENT='string' 一个关于编译环境的描述性注释

配置过程不算太长的等待过程

如果配置参数错误,或者想重新配置  请删除mysql文件目录内的CMakeCache.txt

[root@data mysql-5.6.31]#rm –rf  CMakeCache.txt

删除这个文件后请重新运行,编译安装配置文件

6. 授权用户

[root@data mysql-5.6.31]#chown -R mysql:mysql  /usr/local/mysql/

修改/usr/local/mysql/ 的拥有者和用户组

为mysql

[root@data mysql-5.6.31]#chown –R mysql:mysql /data

修改 /data/mysqldb 的

拥有者和用户组 为 mysql

[root@data mysql-5.6.31]#chmod 1777 /tmp

修改 sock 文件的目录为

最大权限

8 执行编译

[root@data mysql-5.6.31]#Make

漫长的等待  此处省略无数字节。。。。。。。。。。。

9 执行安装

[root@data mysql-5.6.31]#Makeinstall

可以忍受的等待  省略很多字节 。。。。。。。。。。。。。

10创建配置文件

首先进入mysql 文件目录

[root@data mysql-5.6.31]#Cd

/usr/local/mysql         进入

[root@data mysql]#cp

support-files/ my-default.cnf /etc/my.cnf  复制配置文件到/etc并改名

如果不进入mysql 文件目录 运行以下命令

[root@data~ ] cp /usr/local/mysql/support-files/my-default.cnf

/etc/my.cnf

11设置环境变量

复制mysql服务启动脚本及加入PATH路径

[root@data mysql]#echo'exportPATH=/usr/local/mysql/bin:$PATH'

>>/etc/profile

source !$

d91980f7edae1255d083b25cc601edf0.png

12创建服务启动脚本,添加开机启动

[root@data mysql ] cp

support-files/mysql.server /etc/init.d/mysqld

c916b487da6310a5979e909ee9beb2c9.png

13[root@data mysql ]  chmod +x /etc/init.d/mysqld  给脚本添加执行权限

659dd57a1549c0e0e959a7f31ebe556d.png

14  修改服务启动脚本,修改以下两个参数

打开

[root@data mysql ] vi /etc/init.d/mysqld

修改的参数

[root@data mysql ] basedir=/usr/local/mysql  MySQL安装目录

[root@data mysql

] datadir= /data/mysqldb   数据存放目录

:set nu

在第 46 行找到 需要设置的参数

ed2279aa823bd8365bc07f3afafdbd99.png

:wq

保存退出

15添加开机启动

[root@data mysql ] chkconfig

mysqld on  添加开机启动

16增加初始化工具的执行权限

[root@data mysql ] chmod +x

scripts/mysql_install_db

bc4812c5bb94c2a4835cb7a62e09cba5.png

17运行初始化命令。。。。。

[root@data

mysql ] /usr/local/mysql/scripts/mysql_install_db --defaults-file=/etc/my.cnf

--basedir=/usr/local/mysql --datadir=/data/mysqldb --user=mysql

哈哈等待时间不算太长

下面为初始化命令之后输出的内容

f8cf477667a326da7377b8aea2ccf7c1.png

3adc130e0a3914f3d4a381c7e61e281e.png

95861df2c635af51cd5edf185deccb9e.png

To start mysqld at boot time you have to copy

support-files/mysql.server to the right place for your system

要在引导时启动mysqld,你需要复制

support-files/mysql.server文件到你的系统的正确的地方

已经做过

PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !

To do so, start the server, then issue the following commands:

请牢记设置密码为MySQL

root用户!

为此,启动服务器,然后发出以下命令:

/usr/local/mysql/bin/mysqladmin -u root

password 'new-password'

/usr/local/mysql/bin/mysqladmin -u root -h

data password 'new-password'

这两个的意思是 用mysqladmin工具 修改密码

Alternatively

you can run:

另外,您也可以运行 下面的命令   运行安全初始化

/usr/local/mysql/bin/mysql_secure_installation

which will also

give you the option of removing the test

databases and

anonymous user created by default.  This

is

strongly

recommended for production servers.

将让您去除测试的选项,数据库和默认创建的匿名用户。强烈建议在生产生产服务器中运行此安全初始化

See the manual

for more instructions.

如需要更多的指令,请参阅用户手册。

You can start

the MySQL daemon with:

你可以开始与MySQL守护程序:

cd . ;

/usr/local/mysql/bin/mysqld_safe &

程序路径

You can test the

MySQL daemon with mysql-test-run.pl

您可以测试与mysql-test-run.pl

MySQL守护程序

cd mysql-test ;

perl mysql-test-run.pl

Please report any problems at http://bugs.mysql.com/

The latest

information about MySQL is available on the web at

http://www.mysql.com

Support MySQL by

buying support/licenses at http://shop.mysql.com

New default

config file was created as /usr/local/mysql/my.cnf and

will be used by

default by the server when you start it.

You may edit

this file to change server settings

WARNING: Default

config file /etc/my.cnf exists on the system

This file will

be read by default by the MySQL server

If you do not

want to use this, either remove it, or use the

--defaults-file

argument to mysqld_safe when starting the server

请到http://bugs.mysql.com/报告任何问题

关于MySQL的最新信息可在以下网站上时

http://www.mysql.com

通过http://shop.mysql.com买盘支撑/许可证支持MySQL

新的默认配置文件创建为

/usr/local/mysql/my.cnf和

将使用默认服务器,当你启动它。

您可以编辑这个文件来更改服务器设置

警告:默认的配置文件在系统上的/etc/my.cnf存在

该文件将默认由MySQL服务器读取

如果你不想用这个,要么删除它,或者使用

--defaults-file参数来启动服务器时mysqld_safe的

以上为最后成功安装的输出内容

见证奇迹的时候到了

18启动数据库

[root@data ~] Service mysqld start

3eddc57da2d17a6368ee7c0a122ca4f6.png

启动成功

Starting MySQL.

SUCCESS!     启动MySQL成功!

19  运行输出内容里面提到的 初始化安全配置

[root@data ~] mysql_secure_installation  安全初始化配置

363dd8a53f5bb3ffcbfd5229b1ecfe6e.png

NOTE: RUNNING

ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL

SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

注:运行此脚本的所有部分建议对所有的MySQL

服务器在生产中使用!请仔细阅读每一步!

In order to log

into MySQL to secure it, we'll need the current

password for the

root user.  If you've just installed

MySQL, and

you haven't set

the root password yet, the password will be blank,

so you should

just press enter here.

为了登录到MySQL来保护它,我们需要的当前密码为root用户。如果您刚刚安装了MySQL,和你没有设置root密码然而,密码为空,

所以你只要按enter键在这里。

1)Enter current password for root (enter for none):

输入当前的密码:

当然这里直接回车就可以了 ,因为我们刚刚安装没有运行修改密码命令

19e3a133c6184ae72dea8c08c1363515.png

OK, successfully

used password, moving on...

OK,成功地使用密码,继续前进......

Setting the root

password ensures that nobody can log into the MySQL

root user

without the proper authorisation.

设置root密码,确保没有人可以登录到MySQL的

root用户没有适当的授权。

这里的时候可以输入一个密码 来确保数据库的安全设置之后请 牢记您的密码

我在这里制作的是真实服务器所以我在这里输入密码

2)Set root

password? [Y/n]

设置root的密码? [Y/ N]

b1614659c0e52631a30de028d1b0a896.png

大写的 Y

bae11c62023ad52e50933ec18a6d8c49.png

输入两次密码后

提示

Password updated successfully!

Reloading privilege tables..

密码更新成功!

重装授权表..

Success

成功

继续我们的工作

17cf1cba501e6db0defbca9fd7df3ec6.png

By default, a MySQL

installation has an anonymous user, allowing anyone

to log into MySQL without

having to have a user account created for

them.  This is intended only for testing, and to

make the installation

go a bit smoother.  You should remove them before moving into a

production environment.

默认情况下,MySQL安装有一个匿名用户,允许任何人

登录到MySQL,而不必对创建的用户帐户

他们。这仅用于测试,并且使安装

走位更顺畅。在生产环境,您应该删除它们。

3)Remove anonymous users? [Y/n]

删除匿名用户? [Y/ N]

6b21072f64426731a72d0d86c4db6cb7.png

我是生产环境,我选择Y

18212730cffeb18bd89004820d1b70fe.png

Normally, root should only be

allowed to connect from 'localhost'.

This

ensures that someone cannot

guess at the root password from the network.

通常情况下,ROOT应该只允许从'localhost'的连接。 这个

确保其他人无法从网络猜测到root的密码。

4)Disallow root login remotely? [Y/n]

禁止远程root登录? [Y/ N]

当然选 Y

我们继续

。。。。success  成功

650c710ca7b2d1c605829075db169cc6.png

By default, MySQL comes with a

database named 'test' that anyone can

access.  This is also intended only for testing, and

should be removed

before moving into a

production environment.

默认情况下,MySQL带有一个名为“test”的数据库,任何人都可以访问这个数据库

这也是仅用于测试,并应在生产环境中删除。

5)Remove test database and access to it? [Y/n]

删除访问测试数据库 [Y/ N]

当然 还是  Y

--Dropping test database                删除测试数据库

… success !                            成功

- Removing privileges on test

database...-  在测试数据库中删除权限...

... Success!                             成功

0a287b6fc43f01cab738db36f96de6e3.png

我们继续。。。。。。。。。

Reloading the privilege tables

will ensure that all changes made so far

will take effect immediately.

重装授权表将确保迄今为止所做的所有更改将立即生效。

6)Reload privilege tables now? [Y/n]

现在刷新授权表? [Y/ N]

我们也是选择  Y

aff078b3f2a48a03d9829b79a4952444.png

All done!  If you've completed all of the above steps,

your MySQL

installation should now be

secure.

Thanks for using MySQL!

全做完了!如果你已经完成了所有上述步骤后,你的MySQL

安装现在应该是安全的。

感谢您使用MySQL!

Cleaning up...

不安全因素清理干净

走起 。。。。。。。。。。

20测试登录  用你刚才设置的密码

890928e706d2e6c9fccc10f0eecbbbb5.png

输入密码

8ff22532792cfdf4b140dac970c9e675.png

登录成功。。。

恭喜恭喜

不过我们还有一点工作要做

就是在生产环境中的 一些小配置

21 MySQL安全优化小配置

用户安全

1)mysql>select user,host from

mysql.user;

74294cc0ff680c345e668eb988ee44fc.png

2)mysql>delete from mysql.user where user='';

255a4b14b8724fc3d55fecf145312aac.png

3)mysql>delete

from mysql.user where host='data';

64aafdb27981081058804e78c3d9b901.png

4)delete from

mysql.user where host='::1';

2e7d4a37b16a9d61cdcdbcaa3c401711.png

5)mysql>select user,host from mysql.user;

1566b45706a33fcc8b588c5b4e50a1c6.png

你的数据库安全了,你现在可以使用您的MYSQL 数据库了

老七 2016.06.26

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值