Linux:mysql编译安装
mysql安装包有源码包和二进制包。源码包安装时需要编译。二进制包安装时不需要编译。
二进制格式的包名字很长,都带有版本号、适应平台、适应的硬件类型等,而源码格式仅仅就是一个版本号的tar包。
源代码包里的文件往往会含有种种源代码文件,头文件.h、c代码源文件.c、C++代码源文件.cc/.cpp等;而二进制包里的文件则会有可执行文件(与软件同名的往往是主执行文件),标志是其所在路径含有名为bin的目录。
mysql安装方法:
1)编译
5.1==。/configure .,make,make install
5.5--->cmake make,make install
2)yum /rpm
3)二进制包,直接解压初始化数据库,无需编译
本文介绍源码包的安装
1、创建mysql用户
groupadd mysql 创建用户组
useradd myql -g mysql -M -s /sbin/nologin 创建用户并属于用户组。且不给用户创建家目录,也不让登录
2、下载软件并安装
1)、网上下载一个mysql的安装包mysql-5.1.72.tar.gz,上传到linux服务器
2)解压tar zxvf mysql-5.1.72.tar.gz
3)进入到目录中,cd mysql-5.1.72,进行编译
./configure \
--prefix=/application/mysql-5.1.72 \
--with-unix-socket-path=/application/mysql-5.1.72/tmp/mysql.sock \
--localstatedir=/application/mysql-5.1.72/data \
--enable-assembler \
--enable-thread-safe-client \
--with-mysqld-user=mysql \
--with-big-tables \
--without-debug \
--with-pthread \
--enable-assembler \
--with-extra-charsets=complex \
--with-readline \
--with-ssl --with-embedded-server \
--enable-local-infile \
--with-plugins=partition,innobase \
--with-mysqld-ldflags=-all-static \
--with-client-ldflags=-all-static
完成后出错如下

解决办法,安装yum -y install ncurses-devel
然后重新执行编译。成功

最后执行make && make install
4)创建软连接 ln -s /application/mysql-5.1.72/ /application/mysql
如果mysql不是放在web服务器上则到此结束。如果mysql和web服务器在一起,则需要继续下面操作
5)初始化mysql
进入目录,查看mysql配置文件
cd mysql-5.1.72/support-files/ 这个目录下有很多文件,其中主配置文件只有如下几个

根据配置级别高低选择用哪个文件。我们现在用的是虚拟机,所以用small文件实验。mysql默认的配置文件是/etc/my.cnf。
此处我们用small配置文件替换,cp my-small.cnf /etc/my.cnf
6)创建存放数据库的地方
mkdir /application/mysql/data -p
7)授权用户和组管理mysql
chown -R mysql:mysql /application/mysql/
8)初始化mysql数据库
用mysql_install_db命令,5.1的实在/bin目录下,后期版本可能再scripts下
/application/mysql/bin/mysql_install_db --basedir=/application/mysql --datadir=/application/mysql/data/ --user=mysql
执行命令后,可以发现/application/mysql/data下生成了2个文件mysql和test

9)启动mysql
上步骤初始化成功后,可以从中看到一些mysql的提示信息,比如怎么样去修改密码,怎么样启动等

第一个命令:
将mysql的启动脚本复制到mysql默认启动脚本替换。

加上执行权限:chmod +x /etc/init.d/mysqld
然后对脚本进行修改vi /etc/init.d/mysqld

修改完后保存
然后就可以成功启动mysql: /etc/init.d/mysqld start
第二个命令
/application/mysql/bin/mysqld_safe & 然后回车,启动成功
输入netstat -lntup | grep mysql检查是否成功启动

10)启动mysql成功后,登录
添加环境变量 vi /etc/profile

source /etc/profile 生效
至此为止,就完成了。可以直接输入mysql进入。默认情况下,mysql是可以直接登录的
11)杀死mysql进程
mysqladmin shutdown
12)设置密码
mysql启动情况下才可以设置密码/etc/init.d/mysqld start
设置密码的方法还可以在 8) 步骤初始化的时候信息提示中找到

/application/mysql/bin/mysqladmin -u root password '123456'
再次输入mysql就不能直接登录了,需要命令:mysql -uroot -p 回车,会继续让输入密码

13)删除非账户
进入mysql后,select user,host from mysql.user; 发现有一些空账户

删除:drop user ""@localhost;
drop user ""@zylinux1;
14)当密码丢失,无法进入mysql时
以第二种方式启动mysql: /application/mysql/bin/mysqld_safe --skip-grant-table &
启动后,可直接输入mysql,进入数据库
然后对用户密码进行修改update mysql.user set password=PASSWORD("123456") where user='root';
flush privileges;
Linux:mysql编译安装的更多相关文章
- linux中编译安装Apache、PHP、MySQL(上)
1.简介 在阿里云买了个云服务器,一直没时间折腾.过了近十天了吧,才有时间好好玩玩这个云服务器.自己是做Web开发的,所以我需要的开发环境是LAMP.之前打算是采用yum安装,不过yum安装apach ...
- Linux(centos)下mysql编译安装教程
Linux下mysql编译安装教程 #查看linux发行版本 cat /etc/issue #查看linux内核版本号 uname -r 本文測试环境centOS6.6 一.Linux下编译安装MyS ...
- LINUX下编译安装PHP各种报错大集合
本文为大家整理汇总了一些linux下编译安装php各种报错大集合 ,感兴趣的同学参考下. nginx1.6.2-mysql5.5.32二进制,php安装报错解决: 123456 [root@clien ...
- linux PHP 编译安装参数详解
linux PHP 编译安装参数详解 ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc -- ...
- Mysql编译安装及优化
采取编译安装的方法,其好处为:编译安装与平台无关,安装的MySQL目录独立,维护起来方便,而且拥有更好的性能. 环境:CentOS release 6.9 (Final) x86_64 1)下载my ...
- 20190418 CentOS7实用技能综合:系统安装 + WinScp客户端连接 + 防火墙端口号iptables + Nginx编译安装 + MySQL编译安装 + Redis编译安装 + MongoDB编译安装 + ActiveMQ/RocketMQ/RabbitMQ编译安装 + ...各类常用生产环境软件的编译安装
系统安装 + WinScp客户端连接 + 防火墙端口号iptables + Nginx编译安装 + MySQL编译安装 + Redis编译安装 + MongoDB编译安装 + ActiveMQ/Roc ...
- Linux上编译安装PHP
这篇文章主要介绍了关于Linux上编译安装PHP,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 之前在服务器上编译安装了PHP运行环境,但是安装完过了一段时间就差不多忘记了,只是零零星 ...
- 2、mysql编译安装
2.1前言: 此文档介绍的是cmake编译安装的方式: 二进制的安装方式在linux运维_集群_01中有详细的安装说明(已经编译完成,进行初始操作即可) 初始化操作时需要对编译好的mysql进行一下备 ...
- mysql 编译安装
mysql 编译安装方式: ```cd /home/oldboy/tools``` 创建 目录 if not have then mkd ...
- linux下编译安装vim7.4并安装clang_complete插件
linux下编译安装vim7.4并安装clang_complete插件 因为debian里软件仓库中下载安装的vim是不支持python写的插件的(可以打开vim,在命令模式先输入:py测试一下),导 ...
随机推荐
- java Iterator迭代器
一 Iterator迭代器概述 java中提供了很多个集合,它们在存储元素时,采用的存储方式不同.我们要取出这些集合 中的元素,可通过一种通用的获取方式来完成. Collection集合元素的通用获取 ...
- Django中manage.py migrate无效的问题
在改变Django-model中结构后,makemigrations可以识别到改变但migrate没有操作,数据库中表结构也没有改变,原因如下: 在由Django-model自动生成的数据库表中有名为 ...
- 《Head First 设计模式》:命令模式
正文 一.定义 命令模式将"请求"封装成对象(命令对象),以便使用不同的"请求"来参数化其他对象. 要点: 命令模式可将"动作的请求者"从& ...
- Android 开发学习进程0.13 Androidstudio快捷键 xmlns
xmlns XML namespace xml命名空间 其中主要是定义xml文件定义位置 前缀有三种,android app tools 后面为唯一标识符URI android 表示为引用自安卓系统 ...
- C++最好的图形库是什么?
本文字数:1660,阅读时长大约:15分钟 世界上的GUI库多如牛毛,有的开源,有的收费,有的可以做手机app开发,有的可以做桌面应用,有的只能用在某个系统,有的支持跨平台.基于不同的编程语言,人们又 ...
- 编写有提示的listbox控件 2008-06-29 17:13
在MFC中几乎所有的控件都有信息提示,而惟有listbox却没有这样的一个功能,每当我们把鼠标移到listbox上控件时,啥玩意儿都没有是不是很气馁啊,所以我今天特地写了一个简单的有提示的listbo ...
- 【算法•日更•第三十五期】FF算法优化:EK算法
▎写在前面 FF算法传送门 之前我们已经学过了FF算法(全称Ford-Fulkerson算法)来找最大流,但是这种算法仍有诸多不对的地方. 其实这种算法存在着严重的效率的问题,请看下面的图: 以这个图 ...
- JDK1.8源码学习-ArrayList
JDK1.8源码学习-ArrayList 目录 一.ArrayList简介 为了弥补普通数组无法自动扩容的不足,Java提供了集合类,其中ArrayList对数组进行了封装,使其可以自动的扩容或缩小长 ...
- 基于 abp vNext 微服务开发的敏捷应用构建平台 - 项目介绍
缘起 目前使用ABP框架已经将近3年了,大大小小的项目也陆陆续续做了很多.由于现有信息系统的架构模式是在底层的技术平台上直接构建信息系统并采用技术主导,使用业务无关的编程工具来开发信息系统的缺陷使得系 ...
- Deep Learning-Based Video Coding: A Review and A Case Study
郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布! 1.Abstract: 本文主要介绍的是2015年以来关于深度图像/视频编码的代表性工作,主要可以分为两类:深度编码方案以及基于传统编码方 ...