1. vm下安装Ubuntu
1)下载镜像ubuntu-15.04-desktop-amd64.iso
http://yunpan.cn/cF5dwV6zw33ef 访问密码 ecba(个人分享在360网盘)
2) 安装完成后,第一个处理问题就是中文转换--语言支持--更改用户的语言为中文
3)虚拟机和主机交互需要安装linux的vmtools。
 
2. mysql
1)根据上面步骤就可以有一个基础的linux环境。也很方便我们拷贝和下载文件了。
2)直接通过命令安装比较简单,如下
sudo apt-get install mysql-server
apt-get isntall mysql-client
sudo apt-get install libmysqlclient-dev
 
3)但是这样mysql 的路径都会是默认地址,和公司目录一样,我们更希望我们的应用在一个目录下,这样我们就需要编译安装。
 

1. 安装环境:
Ubuntu 15.04
MySQL-5.6.21.tar.gz

2. 安装必备的工具(保证mysql安装的基础环境)
sudo apt-get install make bison g++ build-essential libncurses5-dev cmake

3. 添加组合用户 设置安装目录权限
sudo groupadd mysql(未做)
sudo useradd –g mysql mysql –s /bin/false #创建用户mysql并加入到mysql组,不允许mysql用户直接登录系统(未做)

说明:我的软件安装目录: /home/test/alidata/soft/
sudo mkdir –p /home/test/alidata/soft/mysql #创建Mysql安装目录
sudo mkdir -p /home/test/alidata/soft/mysql/data
sudo mkdir -p /home/test/alidata/soft/mysql/log

sudo chown -R mysql:mysql /usr/local/mysql/data(未做)
sudo chown -R mysql:mysql /usr/local/mysql(未做)

4. 编译安装mysql

4.1 获取源码包
cd //home/test/alidata/soft/
sudo wget http://cdn.mysql.com/Downloads/MySQL-5.6/mysql-5.6.23.tar.gz

4.2 解压mysql源码包
sudo tar –zxvf mysql-5.6.23.tar.gz

5. 编译配置(先cmake设置配置, make 编译 , make install 拷贝到对应目录)
cd mysql-5.6.23
1)sudo cmake -DCMAKE_INSTALL_PREFIX=/home/test/alidata/soft/mysql -DSYSCONFDIR=/etc -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_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=/home/test/alidata/soft/mysql/data -DWITH_DEBUG=0

说明:

-DCMAKE_INSTALL_PREFIX:mysql需要安装的目录(需要自定义)

-DMYSQL_DATADIR:mysql数据需要存放的目录(需要自定义)

注意事项:
重新编译时,需要清除旧的对象文件和缓存信息。
# make clean
# rm -f CMakeCache.txt
# rm -rf /etc/my.cnf

2)sudo make -j4 #-j数字 表示以多核心运行

时间最长,耐心等待,没有报错就是ok,有报错根据提示安装需要的应用
3)sudo make install

6. 相关配置
6.1 配置开机启动
sudo chmod +w /home/test/alidata/soft/mysql(增加权限)
sudo cp ./support-files/my-default.cnf /etc/my.cnf
sudo cp ./support-files/mysql.server /etc/init.d/mysqld
sudo chmod 755 /etc/init.d/mysqld

6.2 常用命令软连接,设置环境变量
sudo ln -s /home/test/alidata/soft/mysql/lib/libmysqlclient.so.18 /usr/lib/libmysqlclient.so.18
sudo ln -s /home/test/alidata/soft/mysql /usr/bin
sudo ln -s /home/test/alidata/soft/mysql/bin/mysqladmin /usr/bin

6.3 初始化数据库

sudo /home/test/alidata/soft/mysql/scripts/mysql_install_db --defaults-file=/etc/my.cnf --basedir=/home/test/alidata/soft/mysql --datadir=/home/test/alidata/soft/mysql/data --user=test

说明:网上会默认的增加mysql用户,使用MySQL用户来作为mysql的主用户处理。我们已自己新建的test用户。

7. 启动mysql服务试一试
sudo /etc/init.d/mysqld start

有问题看日志(重要):

See "systemctl status mysqld.service" and "journalctl -xe" for details

最后添加用户:

adduser mysql

说明:启动的时候发现还是有地方会需要mysql用户,所以又加上了。于是就ok了。呵呵呵。不过好处是使用test来运行mysql没有之前碰到的各种权限问题。

8. 启动成功后创建root用户的密码(不要忘记哦)
mysqladmin -u root password

再次设置密码mysqladmin -u root password -p root

9. 成功后使用一下
mysql -uroot -p

需要添加环境变量

vim /etc/profile

export PATH=/home/test/alidata/soft/mysql/bin:$PATH

source /etc/profile

10. 开机启动mysql

http://www.2cto.com/database/201312/265018.html

sudo update-rc.d -f mysql.server defaults(提示找不到mysql.server命令就使用下面的命令)

sudo update-rc.d -f mysqld defaults(或者)(在第6步赋值为mysqld所以这里使用的是该命令)

取消开机启动

sudo update-rc.d -f mysql.server remove

关于cmake命令详解:

注释:
我把安装路径放在了/usr/local/mysql,也就是默认的路径,data放在/usr/local/mysql/data/下,sock文件放到/usr/local/mysql/mysqld.sock
一些参数如下:根据需要选择吧。
CMAKE_INSTALL_PREFIX:指定MySQL程序的安装目录,默认/usr/local/mysql
DEFAULT_CHARSET:指定服务器默认字符集,默认latin1
DEFAULT_COLLATION:指定服务器默认的校对规则,默认latin1_general_ci
ENABLED_LOCAL_INFILE:指定是否允许本地执行LOAD DATA INFILE,默认OFF
WITH_COMMENT:指定编译备注信息
WITH_xxx_STORAGE_ENGINE:指定静态编译到mysql的存储引擎,MyISAM,MERGE,MEMBER以及CSV四种引擎默认即被编译至服务器,不需要特别指定。
WITHOUT_xxx_STORAGE_ENGINE:指定不编译的存储引擎
SYSCONFDIR:初始化参数文件目录
MYSQL_DATADIR:数据文件目录
MYSQL_TCP_PORT:服务端口号,默认3306
MYSQL_UNIX_ADDR:socket文件路径,默认/tmp/mysql.sock

ubuntu环境下lnmp环境搭建(1)之Mysql的更多相关文章

  1. Ubuntu系统下lnmp环境搭建和Nginx多站点配置

    最近需要使用Ubuntu作为服务器搭建Lnmp环境,顺便将操作过程写下来,与大家分享.如有不足之处,欢迎大家提出不同意见.(本文默认读者已经熟悉相关linux命令的使用,比如创建文件和文件夹,编辑文件 ...

  2. ubuntu环境下lnmp环境搭建(3)之Php

    1.lnmp详细  http://www.discuz.net/thread-3513107-1-1.html 2. 到php目录 http://blog.aboutc.net/linux/65/co ...

  3. ubuntu环境下lnmp环境搭建(2)之Nginx

    1. ubuntu编译安装nginx http://www.cnblogs.com/zhangjun516/archive/2013/02/03/2890990.html 1. 手动编译安装 Ngin ...

  4. linux环境下测试环境搭建

    一.linux环境下测试环境搭建过程简述: 1.前端后台代码未分离情况下: 主要步骤为:安装jdk,安装mysql,安装tomcat,将项目代码部署到tomcat/webapps/下. 2.前端后台代 ...

  5. windows环境下mosquitto环境搭建与mqtt测试

    https://blog.csdn.net/pgpanda/article/details/51800865 工作需求,自己在windows下搭建了一个mosquitto环境测试mqtt 话不多说,直 ...

  6. linux环境下 python环境import找不到自定义的模块

    linux环境下 python环境import找不到自定义的模块 问题现象: Linux环境中自定义的模块swport,import swport 出错.swport模块在/root/sw/目录下. ...

  7. Windows环境下完全手工配置Apache、MySQL和PHP

    现在LAMP(Linux.Apache.MySQL.PHP/Perl/Python的简称)已经很流行了.在Windows下也有类似的,比如 WAMP(Apache, MySQL, PHP on Win ...

  8. Linux系统下LNMP一键搭建Linux、PHP、MySQL环境(适合新手搭建linux下的web生成环境)

    一. 首先要解释一下,什么是LNMP,LNMP起源于LAMP,LAMP是Linux+Apache+Mysql/MariaDB+Perl/PHP/Python的缩写,这里将Web服务端的Apache替换 ...

  9. Ubuntu系统下QEMU环境搭建

    (这篇文章是在搭建QEMU环境时,在网上找到了一些教程资料,并在实际操作中遇到的一些问题的整理) 下载Linux内核 下载内核有两种方法,一种是用git直接下载内核代码树,方便后面的内核开发.另一种是 ...

随机推荐

  1. hdu 3062 2-Sat入门

    开始学习2-Sat,前面看了对称性解决2-sat的ppt,很有帮助. 题意:n对夫妻,夫妻需要出席一人,给出不相容的关系,求每对是否能完成出席方案. 思路:通过关系建图,Tarjan缩点,然后进行判断 ...

  2. 深入剖析java迭代器以及C#迭代器!

    目录: 知道迭代器接口Iterable 为什么java的for增强可以自动迭代 那些类可以被迭代 通过什么方法迭代 1.知道迭代器接口Iterable 解析: 迭代器(iterator)是一种对象,它 ...

  3. 201521123031《java程序设计》第五周学习总结

    1. 本周学习总结 1.1 尝试使用思维导图总结有关多态与接口的知识点. 2. 书面作业 代码阅读:Child压缩包内源代码 1.1 com.parent包中Child.java文件能否编译通过?哪句 ...

  4. 201521123074 《Java程序设计》第3周学习总结

    1.本周学习总结 用百度脑图画了一张,点开图片全屏就可以看清楚了 脑图链接 2.书面作业 Q1.代码阅读 以下代码可否编译通过?哪里会出错?为什么?尝试改正? 如果创建3个Test1对象,有内存中有几 ...

  5. update:我的Emacs配置文件

    ;;设置字体用的  防止中文变成无法识别的框框 (set-default-font "Consolas-11") (set-fontset-font "fontset-d ...

  6. 201521123045 《Java程序设计》 第十三周学习总结

    201521123045 <Java程序设计> 第十三周学习总结 1. 本周学习总结 2. 书面作业 Q1.网络基础 1.1 比较ping www.baidu.com与ping cec.j ...

  7. 201521123009 《Java程序设计》第1周学习总结

    1. 本周学习总结 对Java进行了了解与简单的学习.第一次接触Java觉得比较难理解. 希望之后的深入学习可以解决目前的一些问题. 2. 书面作业 为什么java程序可以跨平台运行?执行java程序 ...

  8. python之路模块与包

    一.import加载的模块分为四个通用类别:          1 使用python编写的代码(.py文件) 2 已被编译为共享库或DLL的C或C++扩展 3 包好一组模块的包 4 使用C编写并链接到 ...

  9. dotnet core 2.0在ubuntu下安装失败

    在ubuntu下安装.net core2.0失败了,不知道是什么原因.按照微软官方的步骤.似乎走不通.偶然翻到debian的安装方法,发现debian系统居然是直接下载包安装的.没经过apt.尝试一把 ...

  10. iOS开发-AFNetworking参数和多文件同时上传【多文件上传】

    1. 前言 在项目开发中,我们经常需要上传文件,例如:上传图片,上传各种文件,而有时也需要将参数和多个文件一起上传,不知道大家的项目中遇到了没有,我在最近的项目中,就需要这样的一个功能:同时上传参数. ...