原文链接:http://www.linuxidc.com/Linux/2016-07/133234.htm

一、MySQL各类安装方法的比较

在Linux系统下,MySQL有3种主要的安装方式,分别是:RPM安装、二进制安装、源码安装。三种安装方式的优缺点如下表所示:

  RPM安装 二进制安装 源码安装
优点 安装简单,适合初学者 安装简单,可以安装到任何路径下 可以根据使用需要定制编译,灵活,性能最好
缺点 需要单独下载服务端和客户端,安装路径不够灵活,默认路径不能修改 已经经过编译,性能不如源码安装的好,无法灵活定制编译参数 安装过程复杂,编译时间长
文件布局
  • /usr/bin(客户端程序和脚本)
  • /usr/sbin(mysqld服务器)
  • /var/lib/mysql(日志文件和数据库)
  • /usr/include/mysql(头文件)
  • /usr/lib/mysql(库文件)
  • /usr/share/mysql(错误消息和字符集文件)
  • bin(mysqld服务器和客户端程序)
  • data(日志文件和数据库)
  • include(头文件)
  • lib(库文件)
  • scripts(mysql_install_db脚本)
  • share/mysql(错误消息)
 

二、RPM安装过程说明

访问http://dev.mysql.com/downloads/mysql/5.6.html#downloads,选择下载对应版本和位数的rpm安装包,如下图所示:

运行如下命令即可完成安装。

1
rpm -ivh MySQL-devel-5.6.31-1.el6.x86_64.rpm

三、二进制安装过程说明

(1)、增加mysql用户和用户组

1
2
groupadd mysql
useradd -g mysql mysql

(2)、解压二进制安装包,放到指定的目录下。

(3)、初始化数据库,创建数据库的基础表。

1
./mysql_install_db --user=mysql

(4)、根据实际需要,设置相应目录权限。

四、源码安装过程说明

(1)、下载,解压源码包。

(2)、安装必要的软件包。

1
2
3
4
1.cmake
2.ncurses-devel
 
yum install cmake ncurses-devel -y

(3)、创建用户和组

1
2
groupadd mysql
useradd mysql -s /sbin/nologin -M -g mysql

(4)、编译参数及安装

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql-5.6.28 \
-DMYSQL_DATADIR=/usr/local/mysql-5.6.28/data \
-DMYSQL_UNIX_ADDR=/usr/local/mysql-5.6.28/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=uft8_general_ci \
-DEXTRA_CHARSETS=gbk,gb2312,utf8,ascii \
-DENABLED_LOCAL_INFILE=ON \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
-DWITH_FAST_MUTEXES=1 \
-DWITH_ZLIB=bundled \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_READLINE=1 \
-DWITH_EMBEDDED_SERVER=1 \
-DWITH_DEBUG=0
 
make && make install

(5)、生成链接目录

1
ln -s /usr/local/mysql-5.6.28 /usr/local/mysql

(6)、添加环境变量

1
2
echo 'export PATH=/usr/local/mysql/bin:$PATH' >> /etc/profile
source /etc/profile

(7)、修改目录权限

1
chown -R mysql.mysql /usr/local/mysql-5.6.28

(8)、初始化数据库,生成基础表

1
2
/usr/local/mysql/scripts
./mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql

(9)、配置MySQL启动文件

1
2
3
cd /usr/local/mysql/support-files
cp mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld

五、MySQL的启动与关闭

(1)、对于使用RPM安装的,可以使用系统服务来启动与关闭MySQL。

1
2
service mysqld start  #启动mysql
service mysqld stop  #关闭mysql

(2)、对于二进制和源码安装,可以从安装目录中找出mysql的启动文件(参考编译安装过程第9步,当然,你也可以自己编写一个),然后拷贝到/etc/init.d/mysqld,用来来启动和关闭MySQL,也可以用chkconfig命令将其加入系统服务中。

1
2
3
/etc/init.d/mysqld start    #启动mysql
/etc/init.d/mysqld stop      #关闭mysql
/etc/init.d/mysqld restart  #重启mysql

(3)、MySQL启动基本原理

/etc/init.d/mysqld是一个shell脚本,在启动过程中会调用mysqld_safe脚本,最后调用mysqld服务启动mysql。如下所示,/etc/init.d/mysqld脚本中调用mysqld_safe的程序。

1
$bindir/mysql_safe --datadir="$datadir" --pid-file="$mysqld_pid_file_path" $other_args >/dev/null 2>&1 &

(4)、另外我们还可以使用mysqladmin命令关闭MySQL

1
mysqladmin -uroot -ppassword shutdown #只有具有mysql的root用户才能执行关闭操作。

(5)、非测试环境不推荐的MySQL关闭方法

1
2
3
killall mysqld
pkill mysqld
killall -9 mysqld

Linux下MySQL的安装和启动(转载)的更多相关文章

  1. .Neter玩转Linux系列之六:Linux下MySQL的安装、配置、使用

    一.Linux安装MySQL (1)下载安装包:https://dev.mysql.com/downloads/mysql/ (2)解压并安装 命令:tar zxvf 文件名 解压完成之后,重名一下文 ...

  2. Linux下zoopkeeper的安装和启动

    Linux下zoopkeeper的安装和启动 1.什么是zookeeper ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoo ...

  3. linux下Mysql 的安装、配置、数据导入导出

    MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),虽然功能未必很强大,但因它的免费开源而广受欢迎. 这次,接着上一篇<CentOs minimal安装和开发环境部署>,讲下L ...

  4. Window/Linux下Mysql的安装步骤

    Windows下Mysql安装教程 首先讲一下Windows环境下安装Mysql,我使用的安装包版本是mysql-8.0.26-winx64 下载地址:MySQL下载 1.点击上面的下载地址得到zip ...

  5. linux下mysql的安装

    一.下载 http://dev.mysql.com/downloads/mysql/ 选择对应的版本,这里选择“Linux-Generic” 以64位系统为例,这里需要下载如下两个文件: MySQL- ...

  6. Linux下OpenOffice的安装与启动

    公司项目需求中增加了文档预览功能,所以采用了OpenOffice提供的将office文件转换为pdf的工具.那么我们的程序运行在服务器端,服务器系统版本多是Linux,因此有必要记录下Linux下Op ...

  7. linux 下mysql的安装,并设置必要的密码

    首先,我使用的是redhat linux ,版本号为: [root@localhost init.d]# cat /proc/version Linux version - (bhcompile@po ...

  8. Linux下mysql的安装和使用(C语言)

    1 mysql的安装 我使用的ubuntu在线安装,非常简单,命令为: sudo apt-get install mysql-client mysql-server 2 mysql命令集合 网络太多了 ...

  9. (转)linux下mysql的安装过程

    最近在linux安装了mysql,根据网上收集的资料和个人的操作过程,大概做了个整理,以便以后进行参考回顾. 1.下载mysql-5.1.36.tar.gz,并且解压. tar -xzvf mysql ...

随机推荐

  1. 2.JVM运行机制 -- JVM序列

    上一次写了1.初步认识JVM -- JVM序列,今天接着记录写JVM的运行机制. 一.JVM启动流程 Java平台包括JVM以及Java语言,其中JVM也是运行在操作系统中的一个应用程序进程,那么也应 ...

  2. flume通过avro对接(汇总数据)

    使用场景: 把多台服务器(flume generator)上面的日志汇总到一台或者几台服务器上面(flume collector),然后对接到kafka或者HDFS上 Flume Collector服 ...

  3. esLint参数设置

    package.json { "name": "testEsLint", "version": "1.0.0", &qu ...

  4. Vue学习笔记之Vue的面向对象

    0x00 准备工作 JavaScript 语言中,生成实例对象的传统方法是通过构造函数. function Animal(name,age){ this.name = name; this.age = ...

  5. MAC、MII、PHY的关系与区别

    嗯,实验室的嵌入式项目需要写设备驱动,我分到了网络驱动的活,写一个适配SylixOS的(这里夸一句,这个真是国内相当不错的嵌入式实时操作系统了)MPC8377的网卡驱动,说实话原来从来没接触过写驱动的 ...

  6. UVALive - 2927 "Shortest" pair of paths(最小费用最大流)题解

    题意:有n个机器,机器之间有m条连线,我们需要判断机器0到n-1是否存在两条线路,存在输出最小费用. 思路:我们把0连接超级源点,n-1连接超级汇点,两者流量都设为2,其他流量设为1,那么只要最后我们 ...

  7. 试着用React写项目-利用react-router解决跳转路由等问题(一)

    转载请注明出处:王亟亟的大牛之路 继续本周的大方向,继续学习React,昨天把简单的hi all内容呈现出来后,今天研究如何多页面或者实现页面嵌套, 开始今天的内容前老规矩,先安利:https://g ...

  8. [Pytorch]Pytorch 细节记录(转)

    文章来源 https://www.cnblogs.com/king-lps/p/8570021.html 1. PyTorch进行训练和测试时指定实例化的model模式为:train/eval eg: ...

  9. 51 Nod 1500 苹果曼和树(树形dp)

    http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1500 思路: 树形dp. 我们考虑当前结点 i ,对于结点 i ,它可以 ...

  10. 前端工程化 - bower

    什么是bower bower是前端的包管理工具,类似于php的composer,python的pip,虽然先如今bower已经停止了更新(主要是因为Browserify和Webpack等包管理工具的兴 ...