一、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安装包,如下图所示:

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

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

三、二进制安装过程说明

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

groupadd mysql
useradd -g mysql mysql

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

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

./mysql_install_db --user=mysql

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

四、源码安装过程说明

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

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

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

(3)、创建用户和组

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

(4)、编译参数及安装

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)、生成链接目录

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

(6)、添加环境变量

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

(7)、修改目录权限

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

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

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

(9)、配置MySQL启动文件

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

五、MySQL的启动与关闭

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

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

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

/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的程序。

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

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

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

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

killall mysqld
pkill mysqld
killall -9 mysqld

MySQL的安装和启动的更多相关文章

  1. MySQL数据库安装和启动

    目录 一.数据库介绍 二.数据库的分类 1. 关系型数据库系统 2. 当下的关系型数据库系统 3. 当下的非关系型数据库系统 4. 关系型和非关系型数据库系统的区别 三.MySQL的架构 四.MySQ ...

  2. Linux下MySQL的安装和启动(转载)

    原文链接:http://www.linuxidc.com/Linux/2016-07/133234.htm 一.MySQL各类安装方法的比较 在Linux系统下,MySQL有3种主要的安装方式,分别是 ...

  3. mysql数据库安装、启动及权限设置

    1. 安装需安装mysql客户端和服务器端. Centos下,可用命令:yum install mysql安装mysql客户端:使用命令:yum install mysql-server安装mysql ...

  4. mysql(安装、启动、删除)服务

    必须在管理身份下运行 方式一: 安装服务 将 MySQL 安装为服务的方式: "C:\Program Files\MariaDB 10.3\bin\mysqld.exe" inst ...

  5. MySQL数据库安装与启动(Linux)

    1.用yum安装 用root权限打开命令行界面,执行以下yum指令: yum安装MySQL yum install mysql mysql-server mysql-devel -y 在最终提示Com ...

  6. MySQL的安装、启动和基础配置 —— windows版本

    下载 第一步:打开网址,https://www.mysql.com,点击downloads之后跳转到https://www.mysql.com/downloads 第二步 :跳转至网址https:// ...

  7. mysql 免安装版 启动服务马上关闭

    在my.ini 加入这一句 1.直接在后面加上一下的参数 [mysqld] port=3306 basedir=D:\mysql-5.7.17-win32 datadir=D:\mysql-5.7.1 ...

  8. MySQL编译安装及启动

    前言:源码预编译MySQL数据库,使用时cmake 方式,MySQL数据库官方出的数据库编译命令,和普通源码安装软件不同 (configure). CMake是一个跨平台的安装(编译)工具,可以用简单 ...

  9. MySQL的安装、启动和基础配置 —— mac版本

    安装 第一步:打开网址,https://www.mysql.com,点击downloads之后跳转到https://www.mysql.com/downloads/选择Community选项 第二步: ...

随机推荐

  1. vue中路由

    关于每次点击链接都要刷新页面的问题众所周知,开发单页应用就是因为那丝般顺滑的体验效果,如果每次点击都会刷新页面… 出现这个的原因是因为使用了window.location来跳转,只需要使用使用rout ...

  2. 08.C语言:特殊函数

    C语言:特殊函数 1.递归函数: 与普通函数比较,执行过程不同,该函数内部调用它自己,它的执行必须要经过两个阶段:递推阶段,回归阶段: 当不满足回归条件,不再递推: #include <stdi ...

  3. MessageFormat理解,MessageFormat.format(Object obj)方法

    MessageFormat.format(Object obj)方法主要用途为拼接message信息 用法: Object[] testArgs = {new String("张三" ...

  4. nyoj 93 汉诺塔(三)(stack)

    汉诺塔(三) 时间限制:3000 ms  |  内存限制:65535 KB 难度:3   描述 在印度,有这么一个古老的传说:在世界中心贝拿勒斯(在印度北部)的圣庙里,一块黄铜板上插着三根宝石针.印度 ...

  5. [luoguP2875] [USACO07FEB]牛的词汇The Cow Lexicon(DP)

    传送门 f[i] 表示前 i 个字符去掉多少个 的最优解 直接暴力DP ——代码 #include <cstdio> #include <cstring> #include & ...

  6. codevs1213 解的个数

    题目描述 Description 已知整数x,y满足如下面的条件: ax+by+c = 0 p<=x<=q r<=y<=s 求满足这些条件的x,y的个数. 输入描述 Input ...

  7. [bzoj1617][Usaco2008 Mar]River Crossing渡河问题_动态规划

    River Crossing渡河问题 bzoj-1617 Usaco-2008 Mar 题目大意:题目链接. 注释:略. 想法:zcs0724出考试题的时候并没有发现这题我做过... 先把m求前缀和, ...

  8. SiteMesh2-简介

    简介: SiteMesh类似与ASP.NET的模板页. SiteMesh是由一个基于Web页面布局.装饰以及与现存Web应用整合的框架.它能帮助我们在由大量页面构成的项目中创建一致的页面布局和外观,如 ...

  9. Git flow的分支模型与及经常使用命令简单介绍

    Git flow是git的一个扩展集,它基于Vincent Driessen 的分支模型,文章"A successful Git branching model"对这一分支模型进行 ...

  10. COCOS学习笔记--变速动作Speed和ActionEase

    变速动作和复合动作类似.也是一种特殊的动作,它能够把不论什么动作依照改变后的速度运行.变速动作与复合动作最大的差别就是复合动作仅仅是单纯的组合一系列动作,而变速的做在组合一系列动作后还要去改变动作的运 ...