Linux下MySQL的安装和启动(转载)
原文链接:http://www.linuxidc.com/Linux/2016-07/133234.htm
一、MySQL各类安装方法的比较
在Linux系统下,MySQL有3种主要的安装方式,分别是:RPM安装、二进制安装、源码安装。三种安装方式的优缺点如下表所示:
RPM安装 | 二进制安装 | 源码安装 | |
优点 | 安装简单,适合初学者 | 安装简单,可以安装到任何路径下 | 可以根据使用需要定制编译,灵活,性能最好 |
缺点 | 需要单独下载服务端和客户端,安装路径不够灵活,默认路径不能修改 | 已经经过编译,性能不如源码安装的好,无法灵活定制编译参数 | 安装过程复杂,编译时间长 |
文件布局 |
|
|
二、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的安装和启动(转载)的更多相关文章
- .Neter玩转Linux系列之六:Linux下MySQL的安装、配置、使用
一.Linux安装MySQL (1)下载安装包:https://dev.mysql.com/downloads/mysql/ (2)解压并安装 命令:tar zxvf 文件名 解压完成之后,重名一下文 ...
- Linux下zoopkeeper的安装和启动
Linux下zoopkeeper的安装和启动 1.什么是zookeeper ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoo ...
- linux下Mysql 的安装、配置、数据导入导出
MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),虽然功能未必很强大,但因它的免费开源而广受欢迎. 这次,接着上一篇<CentOs minimal安装和开发环境部署>,讲下L ...
- Window/Linux下Mysql的安装步骤
Windows下Mysql安装教程 首先讲一下Windows环境下安装Mysql,我使用的安装包版本是mysql-8.0.26-winx64 下载地址:MySQL下载 1.点击上面的下载地址得到zip ...
- linux下mysql的安装
一.下载 http://dev.mysql.com/downloads/mysql/ 选择对应的版本,这里选择“Linux-Generic” 以64位系统为例,这里需要下载如下两个文件: MySQL- ...
- Linux下OpenOffice的安装与启动
公司项目需求中增加了文档预览功能,所以采用了OpenOffice提供的将office文件转换为pdf的工具.那么我们的程序运行在服务器端,服务器系统版本多是Linux,因此有必要记录下Linux下Op ...
- linux 下mysql的安装,并设置必要的密码
首先,我使用的是redhat linux ,版本号为: [root@localhost init.d]# cat /proc/version Linux version - (bhcompile@po ...
- Linux下mysql的安装和使用(C语言)
1 mysql的安装 我使用的ubuntu在线安装,非常简单,命令为: sudo apt-get install mysql-client mysql-server 2 mysql命令集合 网络太多了 ...
- (转)linux下mysql的安装过程
最近在linux安装了mysql,根据网上收集的资料和个人的操作过程,大概做了个整理,以便以后进行参考回顾. 1.下载mysql-5.1.36.tar.gz,并且解压. tar -xzvf mysql ...
随机推荐
- 文本IO 二进制IO
一.文本IO 字符流 使用PrintWriter写入文件后,必须调用close(),否则数据不能正确保存在文件中. Scanner的next()读取一个由分隔符分隔的字符串,nextLine()读取 ...
- ES6基本语法和一些面向对象的知识
声明变量 var 使用var声明变量会将变量的声明提到全局,在局部作用域声明的在全局也能打印 { var a = 12; } // 变量提升 var会将变量的声明提到全局 console.log(a) ...
- 3.9 Templates -- Input Helpers
一.Input Helpers Ember中{{input}}和{{textarea}}是创建常规表单控件最简单的方法. {{input}}包裹内建的Ember.TextField和Ember.Che ...
- 字典树 trie
Trie树 Trie树,就是字母树.Trie树是多叉树,每个节点为一个字母.其根节点为象征节点(就是说没有含义,但是存在这个节点),从根节点开始建立,每个节点至多为26个子节点(不要我说 ...
- Java Exception 和Error有什么区别?
① Exception 和Error 都是继承了Throwable类,在Java中只有Throwable类型的实例才可以被抛出或者捕获,它是异常处理机制的基本类型. ② Exception和Error ...
- mysql数据库设置不区分大小写,启动方法
用root帐号登录后,在/etc/my.cnf中的[mysqld]后添加添加lower_case_table_names=1,重启MYSQL服务,这时已设置成功:不区分表名的大小写: lower_ca ...
- 《Java入门第二季》第二章 封装
什么是java中的封装1.封装的概念:隐藏信息.隐藏具体的实现细节. 2.封装的实现步骤: 1)修改属性的可见性,private.2)创建修改器方法和访问器方法,getXXX/setXXX.(未必一定 ...
- jQuery获取不到隐藏DIV的高度和宽度
今天做公司订单系统的修改,有同事将订单维护的四个部分拆成了四个小的tab页,由于数据表格时动态加载,所以表格的高度是动态变化的,可不知怎么,先点哪个哪个的高度就正常,其他的都是最小值,这下蒙了,这个找 ...
- [Microsoft][ODBC Microsoft Access Driver] 参数不足,期待是 1
真tm坑. QString execStr = QString("SELECT * FROM [Log] WHERE [username]=\"yyy\" ") ...
- tar: Cowardly refusing to create an empty archive 问题
在解压 .tar.gz文件的时候遇到了这个解压的问题. 原命令:tar -zcvf ···.tar.gz 提示:tar: Cowardly refusing to create an empty ar ...