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编译安装的更多相关文章

  1. linux中编译安装Apache、PHP、MySQL(上)

    1.简介 在阿里云买了个云服务器,一直没时间折腾.过了近十天了吧,才有时间好好玩玩这个云服务器.自己是做Web开发的,所以我需要的开发环境是LAMP.之前打算是采用yum安装,不过yum安装apach ...

  2. Linux(centos)下mysql编译安装教程

    Linux下mysql编译安装教程 #查看linux发行版本 cat /etc/issue #查看linux内核版本号 uname -r 本文測试环境centOS6.6 一.Linux下编译安装MyS ...

  3. LINUX下编译安装PHP各种报错大集合

    本文为大家整理汇总了一些linux下编译安装php各种报错大集合 ,感兴趣的同学参考下. nginx1.6.2-mysql5.5.32二进制,php安装报错解决: 123456 [root@clien ...

  4. linux PHP 编译安装参数详解

    linux PHP 编译安装参数详解 ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc -- ...

  5. Mysql编译安装及优化

    采取编译安装的方法,其好处为:编译安装与平台无关,安装的MySQL目录独立,维护起来方便,而且拥有更好的性能. 环境:CentOS release 6.9 (Final)  x86_64 1)下载my ...

  6. 20190418 CentOS7实用技能综合:系统安装 + WinScp客户端连接 + 防火墙端口号iptables + Nginx编译安装 + MySQL编译安装 + Redis编译安装 + MongoDB编译安装 + ActiveMQ/RocketMQ/RabbitMQ编译安装 + ...各类常用生产环境软件的编译安装

    系统安装 + WinScp客户端连接 + 防火墙端口号iptables + Nginx编译安装 + MySQL编译安装 + Redis编译安装 + MongoDB编译安装 + ActiveMQ/Roc ...

  7. Linux上编译安装PHP

    这篇文章主要介绍了关于Linux上编译安装PHP,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 之前在服务器上编译安装了PHP运行环境,但是安装完过了一段时间就差不多忘记了,只是零零星 ...

  8. 2、mysql编译安装

    2.1前言: 此文档介绍的是cmake编译安装的方式: 二进制的安装方式在linux运维_集群_01中有详细的安装说明(已经编译完成,进行初始操作即可) 初始化操作时需要对编译好的mysql进行一下备 ...

  9. mysql 编译安装

    mysql 编译安装方式:   ```cd /home/oldboy/tools```                创建 目录          if not have   then     mkd ...

  10. linux下编译安装vim7.4并安装clang_complete插件

    linux下编译安装vim7.4并安装clang_complete插件 因为debian里软件仓库中下载安装的vim是不支持python写的插件的(可以打开vim,在命令模式先输入:py测试一下),导 ...

随机推荐

  1. Could not update Activiti database schema: unknown version from database: '5.22.x.x'

    原因:activiti 相关的jar版本和表 act_ge_property 中 schema.version 所存储的版本不一致导致报错的. 查看activiti 相关jar版本 然后修改表中的版本 ...

  2. MySQL数据库——连接查询

    1.基本含义 连接就是指两个或2个以上的表(数据源)“连接起来成为一个数据源”. 实际上,两个表的完全的连接是这样的一个过程: 左边的表的每一行,跟右边的表的每一行,两两互相“横向对接”后所得到的所有 ...

  3. C#设计模式之8-组合模式

    组合模式(Composite Pattern) 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/403 访问. 组合模式属 ...

  4. C#LeetCode刷题之#867-转置矩阵(Transpose Matrix)

    问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/3756 访问. 给定一个矩阵 A, 返回 A 的转置矩阵. 矩阵的 ...

  5. vue 三元表达式当出现elif

    方式一: <span class="person_name">{{item.type_name == '车商' ? item.title : item.type_nam ...

  6. 同事不太懂负载均衡,我直接把阿里架构师的这份Nginx笔记甩给他

    Nginx功能强大,架构复杂,学习.维护和开发的门槛较高. 本份笔记深入最新的Nginx源码,详细剖析了模块体系.动态插件.功能框架.进程模型.事件驱动.线程池.TCP/UDP/HTTP 处理等Ngi ...

  7. 面试中HashMap链表成环的问题你答出了吗

    HashMap作为老生常谈的问题,备受面试官的青睐,甚至成为了面试必问的问题.由于大量的针对HashMap的解析横空出世,面试官对HashMap的要求越来越高,就像面试官对JVM掌握要求越来越高一样, ...

  8. Mybatis_day3

    三 使用XML配置SQL映射器(映射文件) 关系型数据库和SQL是经受时间考验和验证的数据存储机制.和其他的ORM 框架如Hibernate不同,[MyBatis鼓励]开发者可以直接[使用数据库],而 ...

  9. ansible实现批量建立互信

    Ansible:自动化运维工具 为什么要建立互信:ansible批量配置管理的前提是管理机和被管理机ssh互信,即通过将管理主机的公钥(id_rsa.pub)添加到目标主机上,实现管理机不通过交互式输 ...

  10. 精讲响应式WebClient第6篇-请求失败自动重试机制,强烈建议你看一看

    本文是精讲响应式WebClient第6篇,前篇的blog访问地址如下: 精讲响应式webclient第1篇-响应式非阻塞IO与基础用法 精讲响应式WebClient第2篇-GET请求阻塞与非阻塞调用方 ...