VirturalBox中搭建CentOS开发环境实录(二)

安装MySQL

Yum安装:

官方安装步骤:http://dev.mysql.com/doc/refman/5.7/en/linux-installation-yum-repo.html

?


1

>sudo yum install mysql-community-server

源码安装:

官方安装步骤:https://dev.mysql.com/doc/refman/5.7/en/installing-source-distribution.html

注意,不同的mysql版本,有不同的安装步骤,请从官网查阅资料。

1.下载:http://dev.mysql.com/downloads/mysql,选择最新版的Source Code,我这里是5.7.9

2.安装必要的软件包,如果有些包已经安装,可以根据情况从后面的列表中去除这些包:

?


1

>yum -y install gcc gcc-c++ autoconf automake zlib* libxml ncurses-devel libmcrypt* libtool-ltdl-devel* make cmake

3.解压

?


1

2

>tar -zxvf mysql-5.7.9.tar.gz 

>cd mysql-5.7.9 --默认情况下是安装在/usr/local/mysql

4.编译

?


1

>cmake . --注意后面有个点‘.’,代表当前目录

注意,以上的cmake . 命令是使用所有默认的配置进行编译,如果希望调整部分设置,请参考官网描述:

https://dev.mysql.com/doc/refman/5.7/en/source-configuration-options.html

但是我们用源码安装的目的就是希望自定义有些属性,因此一般会修改某些配置,比如:

?


1

2

3

4

5

6

7

8

9

10

11

12

13

14

>cmake . \

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \

-DMYSQL_DATADIR=/usr/local/mysql/data \

-DSYSCONFDIR=/etc/mysql/ \

-DWITH_MYISAM_STORAGE_ENGINE=1 \

-DWITH_INNOBASE_STORAGE_ENGINE=1 \

-DWITH_MEMORY_STORAGE_ENGINE=1 \

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

-DMYSQL_TCP_PORT=3306 \

-DENABLED_LOCAL_INFILE=1 \

-DWITH_PARTITION_STORAGE_ENGINE=1 \

-DWITH_EXTRA_CHARSETS=all \

-DDEFAULT_CHARSET=utf8 \

-DDEFAULT_COLLATION=utf8_general_ci

5.问题解决

在cmake这一步可能遇到以下错误:

说不能找到boost库,但可以通过加上-DDOWNLOAD_BOOST=1 –DWITH_BOOST=<directory>来解决。从上图描述来看,如果boost不在<directory>下,则该选项可以在自动下载boost并且自动解压缩。于是增加了这两个参数:

?


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

>cmake . \

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \

-DMYSQL_DATADIR=/usr/local/mysql/data \

-DSYSCONFDIR=/etc/mysql/ \

-DWITH_MYISAM_STORAGE_ENGINE=1 \

-DWITH_INNOBASE_STORAGE_ENGINE=1 \

-DWITH_MEMORY_STORAGE_ENGINE=1 \

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

-DMYSQL_TCP_PORT=3306 \

-DENABLED_LOCAL_INFILE=1 \

-DWITH_PARTITION_STORAGE_ENGINE=1 \

-DWITH_EXTRA_CHARSETS=all \

-DDEFAULT_CHARSET=utf8 \

-DDEFAULT_COLLATION=utf8_general_ci \

-DDOWNLOAD_BOOST=1 \

-DWITH_BOOST=/home/user/Software/boost_1_59_0

然后被告知解压的时候失败了,查看了自动下载的boost库:

发现这个文件存在,文件大小为173Byte,于是尝试手动解压,结果解压失败:

于是怀疑这个文件有问题,因此去这个地址手动下载一个:

?


1

>wget http://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz

结果新下载的文件长度还是173Byte,解压还是失败。

接下来去物理机上下载这个文件,在浏览器上打开这个链接,发现文件有80多MB:

下载后,拷贝到虚拟机,再解压,再使用cmake命令:

这就是为什么之前的包里面包含ncurses-devel了。

?


1

>yum install ncurses-devel

之后再使用cmake,不过,这次的结果跟上图一样。原因是:

上图来自:http://dev.mysql.com/doc/refman/5.7/en/installing-source-distribution.html

删除CMakeCache.txt后再重新编译,这次终于成功了:

6.然后就是make了:

接下来,make会利用源代码生成可执行的库文件,我们会看到构建的进度,这一步要很久,请耐心等待,直到到达100%

7.最后,make install,直到安装完成。

总结:尽管在官方安装步骤中有说明系统需求,但没有提前说明安装需要依赖哪些库,导致在安装过程中出现了不必要的重复。因此,在参照官方安装步骤的同时建议多搜集资料。

8.初始化:

?


1

2

3

4

5

6

7

8

>cd /usr/local/mysql

>chown -R mysql .

>chgrp -R mysql .

>bin/mysql_install_db --user=mysql    # Before MySQL 5.7.6

>bin/mysqld --initialize --user=mysql # MySQL 5.7.6 and up

>bin/mysql_ssl_rsa_setup              # MySQL 5.7.6 and up

>chown -R root .

>chown -R mysql data

注意,在执行bin/mysqld --initialize --user=mysql这一句的时候,会生成一个root账户的临时密码(随机的),密码直接写在 log-error 日志文件中(在5.6版本中是放在 ~/.mysql_secret 文件里,更加隐蔽,不熟悉的话可能会无所适从)。而且官方说In this case, the password is marked as expired and you will need to choose a new one. 

当然,也可以在执行mysqld使用--initialize-insecure参数,这将不会为root账户设置密码。

官方说明:

To initialize the data directory, invoke mysqld with the --initialize or --initialize-insecure option, depending on whether you want the server to generate a random initial password for the 'root'@'localhost' account.

下图是使用--initialize-insecure参数的初始化过程:

在初始化过程中,mysql会检查data目录,如果该目录不存在,则mysql会创建;如果存在且不为空,则会报错。因此,如果遇到这样的错误:

[ERROR] --initialize specified but the data directory exists. Aborting.

[ERROR] --initialize specified but the data directory has files in it. Aborting.

请在执行mysqld前保证datadir 目标目录下是空的,避免误操作破坏已有数据。同时指定

?


1

2

--basedir=/usr/local/mysql

--datadir=/usr/local/mysql/data

这两个参数,像上图一样。

 当然,这两个参数也可以写在mysql的配置文件my.cnf中:

?


1

2

3

[mysqld]

basedir=/opt/mysql/mysql

datadir=/opt/mysql/mysql/data

然后把这个文件传给mysqld:

?


1

2

>bin/mysqld --defaults-file=/opt/mysql/mysql/etc/my.cnf \

  --initialize --user=mysql

9.启动:

9.1.使用mysqld_safe启动

?


1

>bin/mysqld_safe --user=mysql &

如果该命令执行失败,并且打印了mysqld ended字样,则说明启动失败,此时需要查看日志文件,默认的位置是 data目录下的host_name.err。

顺便补充一下mysqld_safe这个命令。

参考:https://dev.mysql.com/doc/refman/5.7/en/mysqld-safe.html

  • mysqld_safe是在Unix平台启动mysqld的推荐方式,它是一个执行脚本,会去调用mysqld这个脚本。
  • 许多mysqld_safe的选项与mysqld相同。对于mysqld_safe不能识别的参数,将传给mysqld,但是在配置文件(15步有说明)中的选项将被忽略掉。
  • mysqld_safe会读取配置文件中的[mysqld]、[server]和[mysqld_safe]部分的所有配置。
  • mysqld_safe会把它的错误或提示消息跟mysqld的放在同一个地方

关于mysqld_safe能支持的所有选项,请参照上方链接。

9.2.使用mysql.server启动

参考:https://dev.mysql.com/doc/refman/5.7/en/mysql-server.html

?


1

>support_files/mysql.server start

MySQL的Linux发行版中还包含了一个叫mysql.server的脚本,它通过调用mysqld_safe脚本来启动mysql。这个脚本在安装完MySQL后被放在support-files文件夹中:

mysql.server读取[mysqld]、[mysql.server]部分的选项。我们可以在/etc/mysql/my.cnf文件中配置相关选项。关于其支持的所有选项,请参照上方链接。

如果初始化的时候使用的是--initialize选项,登录的时候,粘贴刚刚生成的密码:

如果使用的是--initialize-insecure选项,登录的时候,直接按回车键即可:

10.修改临时密码:

参考:http://dev.mysql.com/doc/refman/5.7/en/resetting-permissions.html

11.重设root与其他用户的密码:

重设root密码,在设置设置密码之后重新登录时,是需要输入密码的:

创建其他用户,设置密码,并授权:

12.将mysql的bin加入到path中

我把path添加到当前用户目录的bashrc中,如果需要全局设定,请修改`/etc/profile`

?


1

2

>cd 

>vi .bashrc

加入以下内容:

PATH=/usr/local/mysql/bin:$PATH

?


1

2

>source .bashrc

>echo $PATH

这样以后就可以直接使用mysql而不用./mysql这样执行了。

13.将mysql加入到系统服务:

?


1

2

3

4

5

#Next command is optional

>cd /usr/local/mysql

>cp support-files/mysql.server /etc/init.d/mysql   --拷贝脚本到init.d目录下

>chmod +x /etc/init.d/mysql  --增加可执行权限

>chkconfig --add mysql  --将mysql增加为系统运行级别的服务

之后,就可以使用service来启动mysql了:

?


1

>service mysql start

注意上面的命令要用sudo或者用root用户执行。

14.停止mysql

使用mysql.server来停止mysql

?


1

2

>cd /usr/local/mysql/support-files

>./mysql.server stop

当拷贝这个文件到/etc/init.d文件夹后,可以这样停止:

?


1

>/etc/init.d/mysql stop

当加入到系统服务后,可以这样停止:

?


1

>service mysql stop

还可以使用mysqladmin命令来停止:

?


1

>mysqladmin shutdown

15.在MySQL中使用配置文件

参考:

https://dev.mysql.com/doc/refman/5.7/en/option-files.html

https://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html

在MySQL5.7.5之前,在Unix平台上, mysql_install_db 会在安装目录下创建一个默认的叫my.cnf的配置文件. 该文件是从发行包中一个叫my-default.cnf的模板文件复制而来。当通过使用mysqld_safe来启动MySQL时,服务器默认使用my.cnf 文件做配置。

从第8步可以看到,由于当前安装的版本为5.7.9,因此使用的是mysqld来初始化mysql的,因此这个my.cnf文件需要自己拷贝。

可以通过以下命令查看MySQL完整配置:

?


1

>mysqld --verbose --help

在Unix, Linux和OS X系统上,MySQL程序会按表格中的先后顺序从以下文件中读取启动配置:

File Name Purpose
/etc/my.cnf Global options
/etc/mysql/my.cnf Global options
SYSCONFDIR/my.cnf Global options
$MYSQL_HOME/my.cnf Server-specific options
defaults-extra-file The file specified with --defaults-extra-file=file_name, if any
~/.my.cnf User-specific options
~/.mylogin.cnf Login path options

其中:

~代表当前用户的主目录( 即$HOME

SYSCONFDIR 代表在安装MySQL时在CMake参数上指定的SYSCONFIGDIR选项(从我上面的参数来看,此变量的值为/etc/mysql/)。

既然my.cnf是由my-default.cnf复制而来,那我们就去找找这个my-default.cnf文件:

其中,/home/user/Soft   ware/mysql-5.7.9是我用源码解压的位置,这里面的my-default.cnf就是最初的配置模板了。而/usr/local/mysql/是我安装mysql的目录,这下面的my-default.cnf文件是在安装时从解压目录拷贝而来的。把这个文件拷贝到上述表格中的某个文件夹下:

?


1

>cp /usr/local/mysql/support-files/my-default.cnf /etc/mysql/my.cnf

并打开看看:

其实里面只有一个配置,其余的都被注释掉了。模板文件中也提到了,需要什么配置,以及怎样配置,请参考:

https://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html

修改配置后,重启一下MySQL就能应用了。

安装MySQL Workbench

MySQL-Workbench是一款很好用的MySQL图形化工具。无论是写SQL,分析数据,数据库建模都比mysql方便的多。

1.Yum安装

先去这里下载mysql的yum repository: http://dev.mysql.com/downloads/repo/yum/

之后安装:

?


1

>sudo rpm -Uvh mysql57-community-release-el6-n.noarch.rpm

然后就能找到mysql-workbench-community了:

安装:

?


1

>sudo yum install mysql-workbench-community

之后会提醒这一大堆库需要先安装:

有个tinyxml库实在不好找,但我在这里下载到了:

ftp://ftp.pbone.net/mirror/download.fedora.redhat.com/pub/fedora/epel/6/x86_64/tinyxml-2.6.1-1.el6.x86_64.rpm (64bit)

http://dl.fedoraproject.org/pub/epel/6/i386/tinyxml-2.6.1-1.el6.i686.rpm(32bit)

之后安装这个库:

?


1

>sudo rpm -i tinyxml-2.6.1-1.el6.i686.rpm

并等待安装完成:

 

2.RPM安装

先去这里下载对应的rmp包:http://dev.mysql.com/downloads/workbench/

?


1

>sudo rpm -i mysql-workbench-community-6.3.5-1.el6.x86_64.rpm

3.源码安装

下载:http://dev.mysql.com/downloads/workbench/ 选择Source Code

由于自行编译依赖的包实在太多,而且限于网速,还有就是没有多少资料可供参考,因此不建议使用此方式安装。

接下来就享受愉快的MySQL Workbench之旅吧!

时间: 2024-10-02 21:15:09

VirturalBox中搭建CentOS开发环境实录(二)的相关文章

VirturalBox中搭建CentOS开发环境实录(一)

安装VirtualBox 在Windows系统中安装VitualBox,很简单 下载地址: https://www.virtualbox.org/wiki/Downloads 在VirtualBox中安装CentOS 首先下载CentOS:https://wiki.centos.org/Download 打开安装好的VirtualBox,点击新建: 然后一路默认吧,这个不难,就不截图了. 创建好虚拟机后,启动它,启动的时候会弹出框,让我们选择系统镜像: 选择之后就可以引导了,选择安装操作系统即可

linux中搭建java开发环境

今天试着在Linux下面搭建java开发环境,现总结一下具体步骤. 1.JDK的安装 执行下面命令安装JDK(首先创建/opt/java目录) tar -xvf jdk-7u9-linux-i586.tar.gz -C /opt/java ln -s /opt/java/jdk1.7.0_09 /opt/java/jdk 创建一个链接 vi /etc/frofile   设置环境变量 export JAVA_HOME=/opt/java/jdk exprot PATH=$JAVA_HOME/bi

CentOS Linux系统搭建Android开发环境详细介绍_Linux

CentOS Linux系统搭建Android开发环境详细介绍        很多人都是在Windows下进行Android开发,但是对于Linux,Android开发环境方面的资料比较少,今天在网上找到了一位网友分享的在CentOS Linux系统中搭建Android开发环境的过程.下面就是其介绍的配置的详细步骤原文:        由于我最近每天使用的是CentOS 5.5,所以选择CentOS5.5作为我的开发环境.        主要包括以下步骤: 1.JDK安装 2.Eclipse安装

苹果MAC中安装并搭建Android开发环境的详细步骤

Android的开发平台搭建主要需要的工具有:Java虚拟机JDK.Eclipse.Eclipse插件ADT(Android Developer Tool)和Android开发包SDK,以下是具体的安装方法. A.JDK 在MAC中已经为我们预装了JDK并默认配置了Java系统变量,因此JDK对我们来说直接使用即可,查看MAC中的JDK版本方法是在命令行(硬盘/应用程序/实用工具/终端)中输入"java -version"并回车即可. B.Android SDK Android开发包同

详解ubuntu搭建Java开发环境_Linux

没有用Java写过程序,做为一个Java新手,在写第一个Hello,world程序之前,先在Ubuntu中搭建Java开发环境. 本文结构: 一.JDK安装 二.MyEclipse安装 三.Hello World测试 一.JDK安装好吧,我选择JDK1.6,是不是有点out了? 1.下载JDK1.6,你可以到官网去下载,下载时请看清自己的系统版本,记得一定要下载相应的版本. 2.将下载的文件放置到/usr/lib/java目录下(需要手动创建java目录),并修改文件的可执行权限,如chmod

linux-Linux上搭建安卓开发环境出错

问题描述 Linux上搭建安卓开发环境出错 在最后一步运行./studio.sh时没能打开Android Studio,提示是内部错误,请问是什么原因怎么解决? 解决方案 Linux下搭建Android开发环境 为什么要在Linux搭建开发环境呢?从直观来说,Android虚拟机在Linux下运行速度更快,而且性能更稳定. 我使用的Linux环境是ubuntu-10.10-desktop-i386.安装前所需要准备的软件: ????1. JDK(jdk-6u27-li......答案就在这里:L

单机搭建Android开发环境(二)

    前文介绍了如何优化SSD和内存,以发挥开发主机的最佳性能,同时提到在SSD上创建虚拟机.为什么不装双系统呢?双系统性能应该会更好!采用Windows+虚拟机的方式,主要是考虑到安卓开发和日常办公两方面,Ubuntu下办公真的很不习惯,且Ubuntu装在虚拟机里迁移也非常方便.前文提到,原先本本并没有配SSD,虚拟机是创建在HDD上的,后来更换了SSD后,直接将虚拟机文件拷贝到SSD上,用很短的时间就完成了迁移,如果是双系统就不得不重新安装Ubuntu和开发工具了.虚拟机软件推荐使用VMW

windows下VisualStudio和QtCreator搭建Qt开发环境

一.简介         集成开发平台IDE都有各自的长处,编写Qt程序可根据自己的喜好来选择相应的IDE.下述文章都是装载博友的文章,其中有很多细节还得自己调整. 二.详解 1.VisualStudio搭建Qt开发环境 Visual Studio中文官方网站 Visual Studio所有下载 (1)Visual Studio Community 2013 1.选择Community 2013,下载安装 2.安装完Visual Studio默认是英文,如果对英文不感冒的童鞋,可以下载中文语言包

使用R7版NDK搭建Android开发环境[不使用Cgywin]

废话不多说,只说几句. 写这个的初衷是因为公司的项目需要,领导要求我搭建一个Android的开发环境(Eclipse + NDK),我算上找资料,下载,安装,配置环境及写文档,正好用了一个工作日.先把整理好的文档编辑后发在这里,一是因为我觉得这样会帮到一些人,二么,好久没写博客,手痒痒了! 好了,现在开始! -----------------分割线--------------- 安装流程 1. 安装JDK. 2. 安装Eclipse(eclipse-cpp-indigo-SR1-incubati