MySQL的安装和启动
一、MySQL各类安装方法的比较
在Linux系统下,MySQL有3种主要的安装方式,分别是:RPM安装、二进制安装、源码安装。三种安装方式的优缺点如下表所示:
| RPM安装 | 二进制安装 | 源码安装 | |
| 优点 | 安装简单,适合初学者 | 安装简单,可以安装到任何路径下 | 可以根据使用需要定制编译,灵活,性能最好 |
| 缺点 | 需要单独下载服务端和客户端,安装路径不够灵活,默认路径不能修改 | 已经经过编译,性能不如源码安装的好,无法灵活定制编译参数 | 安装过程复杂,编译时间长 |
| 文件布局 |
|
|
二、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的安装和启动的更多相关文章
- MySQL数据库安装和启动
目录 一.数据库介绍 二.数据库的分类 1. 关系型数据库系统 2. 当下的关系型数据库系统 3. 当下的非关系型数据库系统 4. 关系型和非关系型数据库系统的区别 三.MySQL的架构 四.MySQ ...
- Linux下MySQL的安装和启动(转载)
原文链接:http://www.linuxidc.com/Linux/2016-07/133234.htm 一.MySQL各类安装方法的比较 在Linux系统下,MySQL有3种主要的安装方式,分别是 ...
- mysql数据库安装、启动及权限设置
1. 安装需安装mysql客户端和服务器端. Centos下,可用命令:yum install mysql安装mysql客户端:使用命令:yum install mysql-server安装mysql ...
- mysql(安装、启动、删除)服务
必须在管理身份下运行 方式一: 安装服务 将 MySQL 安装为服务的方式: "C:\Program Files\MariaDB 10.3\bin\mysqld.exe" inst ...
- MySQL数据库安装与启动(Linux)
1.用yum安装 用root权限打开命令行界面,执行以下yum指令: yum安装MySQL yum install mysql mysql-server mysql-devel -y 在最终提示Com ...
- MySQL的安装、启动和基础配置 —— windows版本
下载 第一步:打开网址,https://www.mysql.com,点击downloads之后跳转到https://www.mysql.com/downloads 第二步 :跳转至网址https:// ...
- mysql 免安装版 启动服务马上关闭
在my.ini 加入这一句 1.直接在后面加上一下的参数 [mysqld] port=3306 basedir=D:\mysql-5.7.17-win32 datadir=D:\mysql-5.7.1 ...
- MySQL编译安装及启动
前言:源码预编译MySQL数据库,使用时cmake 方式,MySQL数据库官方出的数据库编译命令,和普通源码安装软件不同 (configure). CMake是一个跨平台的安装(编译)工具,可以用简单 ...
- MySQL的安装、启动和基础配置 —— mac版本
安装 第一步:打开网址,https://www.mysql.com,点击downloads之后跳转到https://www.mysql.com/downloads/选择Community选项 第二步: ...
随机推荐
- SQL Server 机考,用T-SQL编写 简单实例
使用T-SQL实现以下要求: 要求如下: 1,添加数据库:MySchool 2,添加学生基础表:Student 3,添加学生成绩表:ScoreInfo 4,两张表结构分别如下 Student表结构:( ...
- Vuex实践小记
1.目录结构 2.开始(安装vuex) npm install vuex --save 3.编辑store/index.js(创建一个Vuex.store状态管理对象) import Vue from ...
- INT32 System_UserKeyFilter(NVTEVT evt, UINT32 paramNum, UINT32 *paramArray)
INT32 System_UserKeyFilter(NVTEVT evt, UINT32 paramNum, UINT32 *paramArray){ UINT32 key = evt; if ...
- Ubuntu 16.04安装indicator-sysmonitor实现导航条显示上下行网速/CPU/内存使用率
安装: sudo add-apt-repository ppa:fossfreedom/indicator-sysmonitor sudo apt-get update sudo apt-get in ...
- [C++]_[获取Utf8字符串的字符个数和子字符串]
场景: 1.有时候须要统计utf8字符串的个数,单纯统计字节个数是不行的. 2.有时候也须要获取从某个位置開始的n个连续字符用于显示或计算. static int GetUtf8LetterNumbe ...
- 正确移除List中对象
list是一个ArrayList的对象,哪个选项的代码填到//todo delete处.能够在Iterator遍历的过程中正确并安全的删除一个list中保存的对象?() Iterator it = l ...
- CSDN博客怎样加入量子恒道统计?
CSDN博客申请专家通过后,能够加入量子恒道统计,这样就能够查看更加具体的訪问统计信息,而不不过一个訪问次数.达到专家级别了可能都是电脑高手了.这里班门弄斧了. 登录博客进入个人中心首页,点击管理博客 ...
- Python类私有方法的陷阱
引言 Python不像C++.Java.C#等有明白的公共.私有或受保护的keyword来定义成员函数或属性,它使用约定的单下划线"_"和"__"双下划线作为函 ...
- 拥抱开源——Linux C/C++程序猿必须熟悉的开源项目
作为一个经验丰富的Linux C/C++程序猿, 肯定亲手写过各种功能的代码, 比方封装过数据库訪问的类, 封装过网络通信的类,封装过日志操作的类, 封装过文件訪问的类. 封装过UI界面库等. 也在实 ...
- java学习笔记:Eclipse打开现有项目
初学JAVA,觉得困难重重. 多年来,已经习惯了微软系列的VS,现在使用Eclipse,觉得差别很大. 比如打开一个现有项目.并没有什么所谓的项目文件,如*.sln,*.cproj什么的.那怎么打开? ...