MySQL源码编译与初始化

链接:https://pan.baidu.com/s/1ANGg3Kd_28BzQrA5ya17fQ

提取码:ekpy

复制这段内容后打开百度网盘手机App,操作更方便哦

1.MySQL简介

1.1数据库有很多种类:

  • 关系型数据库--->MySQL Oracle
  • 非关系型数据库-->memcached redis
  • 图形化数据库---->mongodb
  • 阵列型(线形)数据库--->Hbase
  • 时间序列数据库---->influxDB

1.2什么叫关系型数据库???

SQL数据库数据与数据之间是有关系的,通过关系能够将一系列数据都提取出来。

1.3什么叫非关系型数据库???

NOSQL(Not only SQL)数据库

2.安装源码编译必备的几个软件包

[root@yangwenbo yang]# yum -y install make gcc gcc-c++ ncurses-devel cmake
[root@yangwenbo yang]# rpm -qa make gcc gcc-c++ ncurses-devel cmake
gcc-4.4.7-4.el6.x86_64
cmake-2.6.4-5.el6.x86_64
gcc-c++-4.4.7-4.el6.x86_64
ncurses-devel-5.7-3.20090208.el6.x86_64
make-3.81-20.el6.x86_64

3.源码编译与安装

3.1源码编译cmake-2.8.6.tar.gz

[root@yangwenbo yang]# ls
cmake-2.8.6.tar.gz mysql-5.5.22.tar.gz

3.1.1解包

[root@yangwenbo yang]# tar xf cmake-2.8.6.tar.gz -C /usr/src/

3.1.2去解包后的文件存放位置的目录

[root@yangwenbo yang]# cd /usr/src/cmake-2.8.6/

3.1.3编译安装

[root@yangwenbo cmake-2.8.6]# ./configure && gmake && gmake install
#以下省略。。。
  • 耐心等待...

3.1.4编译成功

[root@Mysql cmake-2.8.6]# echo $?
0

3.2源码编译mysql-5.5.22.tar.gz

[root@yangwenbo yang]# ls
cmake-2.8.6.tar.gz mysql-5.5.22.tar.gz

3.2.1创建程序用户

[root@yangwenbo yang]# useradd -s /sbin/nologin -M mysql
[root@yangwenbo yang]# id mysql
uid=500(mysql) gid=500(mysql) groups=500(mysql)

3.2.2解包

[root@yangwenbo yang]# tar xf mysql-5.5.22.tar.gz -C /usr/src/

3.2.3去解包后的文件存放位置的目录

[root@yangwenbo yang]# cd /usr/src/mysql-5.5.22/

3.2.4编译安装

[root@yangwenbo mysql-5.5.22]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DSYSCONFDIR=/etc -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all && make && make install
#以下省略。。。

3.2.5编译成功

[root@Mysql mysql-5.5.22]# echo $?
0

3.2.6目录简介

4.安装后优化操作

4.1修改mysql安装目录的属主

[root@Mysql /]# chown -R mysql /usr/local/mysql/
[root@Mysql /]# ll -d /usr/local/mysql/
drwxr-xr-x. 13 mysql root 4096 Aug 19 00:19 /usr/local/mysql/

4.2创建修改my.cnf配置文件

[root@Mysql mysql]# /bin/cp support-files/my-medium.cnf /etc/my.cnf

4.3创建修改mysqld的启动脚本

[root@Mysql mysql]# /bin/cp support-files/mysql.server /etc/init.d/mysqld

4.4为启动脚本加上X权限

[root@Mysql mysql]# chmod +x /etc/init.d/mysqld
[root@Mysql mysql]# ll -d /etc/init.d/mysqld
-rwxr-xr-x. 1 root root 10650 Aug 19 01:08 /etc/init.d/mysqld

4.5添加至系统服务(开机自启动)

[root@Mysql mysql]# chkconfig mysqld --add
[root@Mysql mysql]# chkconfig mysqld --list
mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off

4.6.1使用软连接,使环境变量找到这个命令

[root@Mysql mysql]# which mysql   #一开始找不到这个命令
/usr/bin/which: no mysql in (/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin)
[root@Mysql mysql]# ln -s /usr/local/mysql/bin/* /usr/local/bin/
[root@Mysql mysql]# which mysql #通过软连接,已经可以找到这个命令
/usr/local/bin/mysql

4.6.2使用环境变量

4.7执行mysql_install_db脚本初始化数据库

[root@Mysql mysql]# /usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/
#以下省略。。。

4.8启动mysql服务,并查看运行状态

[root@Mysql mysql]# /etc/init.d/mysqld start
Starting MySQL... SUCCESS!
[root@Mysql mysql]# netstat -anpt | grep :3306
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 40589/mysqld

5.登录MySQL

5.1进入

5.2MySQL参数

5.3为MySQL设置密码

[root@Mysql mysql]# mysqladmin -uroot password '971108'

5.4用户登录

不交互登录

[root@Mysql mysql]# mysql -uroot -p971108
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.5.22-log Source distribution Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>
#登录成功,配置完成

6.误删tmp目录下的文件

6.1已知误删tmp目录下的文件

6.2修改MySQL配置文件

6.3重启MySQL

6.4查看

MySQL源码编译与初始化的更多相关文章

  1. Dubbo入门到精通学习笔记(十九):MySQL源码编译安装、MySQL主从复制的配置

    文章目录 MySQL 源码编译安装(CentOS-6.6+MySQL-5.6) 一.服务器配置: 二.源码安装 MySQL5.6.26: MySQL主从复制的配置 环境 依赖课程 MySQL 主从复制 ...

  2. Mysql 源码编译教程贴

    题外话:这是一篇教程贴,不仅学的是mysql的编译,还是一些编译的知识.我也是一个菜鸟,写一些感悟和心得,有什么问题可以批评指正,谢谢! 如果只是为了安装请移到我的另一篇安装贴: Mysql安装贴 环 ...

  3. ubuntu下mysql源码编译安装

    建议:cpu4核以上,内存4G以上 1. 安装环境:Ubuntu Server 14.10MySQL-5.6.23.tar.gz 2. 安装必备的工具sudo apt-get install make ...

  4. mysql源码编译安装

    首先去官网http://dev.mysql.com/downloads/mysql/ 下载mysql源码.我下的是5.7.10 源码选择的是 Generic Linux (Architecture I ...

  5. Mysql源码编译安装&主从复制

    一)camke源码编译安装mysql 1)创建软件安装目录software [root@master software]# ls cmake-2.8.8.tar.gz mysql-5.5.32.tar ...

  6. MySQL 源码编译安装

    脚本须知: 1. 该脚本目前只测试过mysql版本为5.6.x的源码,其他源码可以对本脚本稍作修改即可 2. 本脚本也可以使用wget mysql源码的方式进行,但考虑到后期提供源码的地址不可用,所以 ...

  7. MySQL 源码编译安装脚本

    cat mysql_init.shmysql_init.sh               mysql_init.sh.20190401      mysql_init.sh.back20171030  ...

  8. Mysql 源码编译安装 ( 5.5 、5.6 共存 )

    简介: 如何在一台服务器同时运行两 ( 多 ) 个 MySQL 服务. 1.MySQL 5.6 shell > useradd -r -s /sbin/nologin mysql shell & ...

  9. ubuntu上源码编译安装mysql5.7.27

    一.查看操作系统环境和目录结构,并创建mysql用户和组,以及规划安装mysql所需要的目录. #cat /etc/issue 查看发行版本信息: #cat  /proc/version 查看正在运行 ...

随机推荐

  1. js运算符的优先级的顺序列表

    优先级权重 运算符 17 ..[].new 16 () 15 ++.-- 14 !.~.+(单目).-(单目).typeof.void.delete 13 %.*./ 12 +(双目).-(双目) 1 ...

  2. js转换成数字

    /** * 转换成数字,有两种方法: * 1.Number(var) * 2.parseInt(var)与parseFloat(var) */ // 字符串转换成数字 // 纯字母 var foo = ...

  3. signal - 有效信号的清单

    描述 (DESCRIPTION) 下面 列出 Linux 支持的 信号. 某些 信号 依赖于 体系结构(architecture). 首先, POSIX.1 描述了 下列 信号. 信号 值 动作 说明 ...

  4. ARM与X86 CPU架构区别

    CISC(复杂指令集计算机)和RISC(精简指令集计算机)是当前CPU的两种架构.它们的区别在于不同的CPU设计理念和方法.早期的CPU全部是CISC架构,它的设计目的是 CISC要用最少的机器语言指 ...

  5. eclipse maven install后查看报错信息

  6. 转载 初学者必看——最简单最清晰的Struts2项目搭建流程

    https://blog.csdn.net/key0323/article/details/50773499 在项目中想要使用Struts2框架,我该怎么做?从哪里开始?这是我的疑惑,我想也是很多初学 ...

  7. windows10 配置SSH连接Github、配置SSH Key

    由于你的本地Git仓库和GitHub仓库之间的传输是通过SSH加密的,所以,需要设置SSH key. 第1步:创建SSH Key.在用户主目录下[我的电脑是C:\Users\ad],看看有没有.ssh ...

  8. c++11 委派构造函数

    委派构造函数可以减少构造函数的书写量: class Info { public: Info() : type(), name('a') { InitRest(); } Info(int i) : ty ...

  9. centos 安装mysql冲突解决方法

    [root@centos-50 servers]# rpm -ivh mysql-server-5.5.33-1.linux2.6.x86_64.rpm Preparing... ########## ...

  10. leetcode上的位运算

    136-只出现过一次的数字 思路:可以考虑到数字以二进制形式存储,当两个不同的数字异或的时候会是true,所以把数组里的数字都一一处理一遍就可以了. class Solution { public: ...