一、MySQL/Mariadb概述

MySQL是由my sql公司于1995年开发的关系型数据库管理软件,mysql开发后多次经过版本更替,最新的是5.7GA/8.0DMR,my sql公司自身也经历了两次收购,首先是被sun公司收购,然后被Oracle收购,所以目前MySQL属于Oracle旗下的商用软件。

2009年,MySQL的一位原作者与部分MySQL的开发者开发了Mariadb。其中Mariadb5.5对应了MySQL5.5,10.0对应了5.6。

二、MySQL安装

安装MySQL、Mariadb、Mangodb、Nagios、等等业务软件的方式一般有三种,yum(rpm包)、源码安装(就是安装中要make、make install)、二进制免安装包(相当于windows下的绿色软件包)。这里我们将学习安装MySQL的二进制免编译包,实际工作中推荐这种方式。

1、下载MySQL的二进制包

LANG=en_US.UTF-8 #把语言暂时切换为英语,方便安装时排错
cd /usr/local/src
wget http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz #下载完成后最好用7zip等工具测试一下包完整性。

这里我们复习一下路径知识
/usr:系统级的目录,可以理解为C:/Windows/,/usr/lib理解为C:/Windows/System32。
/usr/local:用户级的程序目录,可以理解为C:/Progrem Files/。用户自己编译的软件默认会安装到这个目录下。
/opt:用户级的程序目录,可以理解为D:/Software,opt有可选的意思,这里可以用于放置第三方大型软件(游戏),当你不需要时,直接rm -rf掉即可。
源码放哪里?
/usr/src:系统级的源码目录。
/usr/local/src:用户级的源码目录。

2、解压压缩包

tar zxvf mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz

3、把解压好的程序目录夹放到 /usr/local/路径下,并改名叫mysql/

mv -v mysql-5.6.36-linux-glibc2.5-x86_64/ /usr/local/mysql

注意,这步处理完后cd到这个目录下看看是不是有相关的子文件夹,有时候可能mysql文件夹已经存在了,你再mv,就把刚才解压出来的东东给全部移到文件下了,等下实验时就会出错。

4、创建mysql用户与/data/目录

useradd mysql
mkdir /data/

5、设定MySQL的用户和路径

cd /usr/local/mysql
./scripts/mysql_install_db --user=mysql --datadir=/data/mysql/

执行这一步的时候会出错,这里补充错误处理方法
a、用yum命令查看一下有没有哪个rpm包提供上述程序

yum list | grep perl |grep -i dumper


b、上bing、google搜前人的解决方法。

c、这里我们需要安装第一个包“perl-Data-Dumper.x86_64”

yum install -y perl-Data-Dumper.x86_64

然后我们再执行设定命令

还是出错

./scripts/mysql_install_db --user=mysql --datadir=/data/mysql/


这里是缺少libaio库文件

a、再来看看

yum list |grep libaio

b、把要的包装上

yum install -y libaio*

然后我们再执行设定命令

./scripts/mysql_install_db --user=mysql --datadir=/data/mysql

开始跳一大堆字符。要安装半分钟。
记不记得前面安装httpd时的echo $?

echo $?

马上执行echo $?命令,必须在执行上一条设定命令后马上执行,返回值是0就ok了。

6、拷贝配置文件和启动脚本并进行设置

cp -v support-files/my-default.cnf /etc/my.cnf
vim /etc/my.cnf ##修改my.cnf中的basedir和datadir

cp -v support-files/mysql.server /etc/init.d/mysqld
vim /etc/init.d/mysqld #定义basedir和datadir
chmod 755 /etc/init.d/mysqld

7、启动和关闭MySQL

/etc/init.d/mysqld start #通过启动脚本启动mysql
chkconfig --add mysqld
/bin/sh /usr/local/mysql//bin/mysqld_safe --defaults-file=/etc/my.cnf --datadir=/data/mysql/ & #通过程序方式启动mysql,用于无法通过init.d脚本启动mysql时。
ps qux |grep mysqld
netstat -lntp

关闭mysql

/etc/init.d/mysqld stop
killall mysql #需要先yum安装psmisc

补充知识:实际工作中如果数据库已经启动了那么最好用killall命令关闭数据库,关闭时一定要等到系统恢复响应时再进行其他操作,不然很有可能丢数据甚至把库损坏,后果很严重。
补充一个数据库引擎知识。
MySQL存储引擎--MyISAM与InnoDB区别

三、Mariadb安装

1、下载Mariadb的源码包

cd /usr/local/src #依旧在该目录下操作,建议以后下载的程序二进制编译包都放在这里
wget https://downloads.mariadb.com/MariaDB/mariadb-10.2.6/bintar-linux-glibc_214-x86_64/mariadb-10.2.6-linux-glibc_214-x86_64.tar.gz #国内大学的mariadb镜像,比直接到官网下快。

2、解压缩源码包

tar zxvf mariadb-10.2.6-linux-glibc_214-x86_64.tar.gz

3、移动压缩包到/usr/local/下并改名为mariadb

mv mariadb-10.2.6-linux-glibc_214-x86_64.tar.gz/ /usr/local/mariadb
cd /usr/local/mariadb

4、在系统中创建mysql用户与/data/目录

useradd mysql
mkdir /data/

5、执行设定命令安装程序

./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mariadb --datadir=/data/mariadb
echo $?

ls /data/mariadb

6、编辑配置文件

cp support-files/my-small.cnf /usr/local/mariadb/my.cnf
vi /usr/local/mariadb/my.cnf

7、编辑启动文件

cp support-files/mysql.server /etc/init.d/mariadb
vi /etc/init.d/mariadb

basedir=/usr/local/mariadb
datadir=/data/mariadb
conf=/usr/local/mariadb/my.cnf

*case "$mode" in
'start')
Start daemon
...

$bindir/mysqldsafe --defaults-file="$conf" --datadir="$datadir" --pid-file="$mysqldpidfilepath" "$@" & waitforready; returnvalue=$?*

8、启动mariadb

/etc/init.d/mariadb start
ps aux |grep mariadb

9、关闭mariadb

/etc/init.d/mariadb stop
killall mariadb

转载于:https://blog.51cto.com/11934539/2073846

LAMP+LNMP(二) MySQL/Mariadb概述与安装实践相关推荐

  1. LAMP架构(LAMP介绍,mysql/mariaDB介绍,Mysql安装)

    一.LAMP架构介绍: Linux+  Apache(httpd)+ mysql  +   php 操作系统+外网服务软件 + 存储软件 + 脚本语言(由C开发) PHP网站 三个角色可以装在一台机器 ...

  2. MySQL数据库概述及安装

    目录 1.数据库基本概念 (1)数据组成 (2)数据库类型 2.MySQL数据库 (1).概述 (2).日志 3.安装数据库 1.数据库基本概念 (1)数据组成 ①数据(DATA) ■描述事物的符号记 ...

  3. 对话机器人(二)——RASA概述与安装

    注:RASA版本为3.1 1.RASA简介 RASA 是构建对话机器人的开源机器学习框架. NLU:确定意图,捕获关键上下文信息. CORE:提供多轮对话管理机制,自动学习上下文与当前意图的关联性. ...

  4. upgrade lnmpa php.sh,LNMP 状态管理命令说明及Nginx、MySQL/MariaDB、PHP升级教程

    状态管理命令分 LNmp状态管理命令 和 LNmpA状态管理命令,LNMPA代表的是Linux下Nginx.MySQL.PHP.Apache这种网站服务器架构,是结合LAMP与LNMP各自的优点而产生 ...

  5. LNMP 1.2/1.3+升级Nginx、MySQL/MariaDB、PHP教程

    一般情况下不建议对生产环境进行升级,升级开始后会停止LNMP相关服务. 本文仅适用于LNMP1.2.1.3及1.4等以后版本! 在LNMP目前LNMP v1.2/1.3+版本中已经包含了Nginx.M ...

  6. lamp架构的搭建(apache、mysql、php编译安装)

    lamp 1.lamp简介 2.web服务器工作流程 2.1CGI和FastCGI 2.2 httpd和php结合的方式 3.lamp平台的构建 3.1 安装httpd 3.2 安装mysql 3.3 ...

  7. 在Red Hat Linux5下构建LAMP网站服务平台之MySQL、PHP的安装与配置

    在Red Hat Linux5下构建LAMP网站服务平台之MySQL.PHP的安装与配置 2010-09-09 16:40:49 标签:PHP Linux mysql RedHat [推送到技术圈] ...

  8. LAMP之二:LAMP的性能测试以及安装xcache,为php加速

    一.前言 本篇接<LAMP之一:apache.mysql.php的安装及互联互通>.上一篇介绍了Apache.mysql,php的编译安装及互联互通,这篇将以上篇为前提,做LANP的性能测 ...

  9. lanmp/lamp/lnmp/lnamp一键安装

    1.系统描述 lanmp一键安装包是wdlinux官网2010年底开始推出的web应用环境的快速简易安装包. 执行一个脚本,整个环境就安装完成就可使用,快速,方便易用,安全稳定 lanmp一键安装包是 ...

  10. 菜鸟崛起 DB Chapter 2 MySQL 5.6的概述与安装

    在上文菜鸟崛起 DB Chapter 1 数据库概述我们初步认识了数据库,也知道市面上常见的几种数据库,下面我们就针对常见的MySQL数据库展开对DataBase的探讨. 2.1  MySQL介绍 M ...

最新文章

  1. 从零开始学_JavaScript_系列(14)——dojo(7)(饼图,BorderContainer,hashchange,弹窗)...
  2. Postgres-XL部署记录(一)
  3. SSL certificate problem: unable to get local issuer certificate
  4. 命名对象实体对象_我的对象命名
  5. elementUI的DatePicker+DateTimePicker组件的自定义日期禁用
  6. 文件操作fstream
  7. 蓝桥杯 ALGO-106 算法训练 6-3判定字符位置
  8. 14寸笔记本电脑_华为笔记本电脑该如何选择?横向对比华为三款14寸笔记本
  9. 牛客小白月赛9 论如何出一道水题
  10. unity设置一个物体是另一个物体的子物体
  11. 集体智慧编程_6文档过滤
  12. OMNETPP: tictoc
  13. 菜鸟一枚,请大家多多关照
  14. c语言化验诊断题目,医学检验技师模拟考试题(含答案)
  15. 一个有用的Win32消息处理宏HANDLE_MSG
  16. unity3d全版本百度网盘极速下载,包括unity3d 5.x及unity 4.x系列
  17. AI文娱独角兽Video++极链科技完成C1轮,5个月融资10.7亿元
  18. discuz手机版帖子页面支持表格添加边框及边框颜色
  19. 网管软件哪家比较好用
  20. 今天项目报错: No operations allowed after connection closed

热门文章

  1. android 编译,gradle
  2. 1364:Field 'sex' doesn't have a default value [ SQL语句 ]
  3. 黑马day11 脏读数据amp;解
  4. fckeditor出现the server didn't send back a proper XML response问题的解决(因为使用了“主题”)...
  5. SpringMVC 、Struts2之间的区别
  6. 104 基于UDP协议的socket套接字编程
  7. WPF中DataGrid中的DataGridCheckBoxColumn用法(全选,全否,反选)
  8. H3C交换机修改时间
  9. vs2017环境下编译log4cpp-1.1.3
  10. JSP 获取Request 经常使用參数