mysql源码解析 初始化_MySQL源码编译与初始化

MySQL源码编译与初始化

1.MySQL简介

1.1数据库有很多种类:

关系型数据库--->MySQL Oracle

非关系型数据库-->memcached redis

图形化数据库---->mongodb

阵列型(线形)数据库--->Hbase

时间序列数据库---->influxDB

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

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

af76ad893874892de45b78b91edd7241.png

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

#以下省略。。。

b2fe49b8caeb75b12cff76e6a00738f9.png

3.2.5编译成功

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

0

3.2.6目录简介

c969534bdca5a83293390a529c706b04.png

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

6a90bb5307a32ee7c75286778bfc6a8f.png

10cc4de8ea4dcfe687227d4c99a43023.png

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:off2:on3:on4:on5:on6: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使用环境变量

51845dfe39b4688c2beb2a34dc99da66.png

bb44adc2e298e07a632b6e8d9c773003.png

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进入

168f1436fd2e0da989f04c16b2169d74.png

5.2MySQL参数

a89849c40c01c9aab3680d41e9f39d0f.png

5.3为MySQL设置密码

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

5.4用户登录

a7119347268390adf9844edc24957f9e.png

不交互登录

[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目录下的文件

32db8edf5c573d08a6fd30e7f0918f8f.png

6.2修改MySQL配置文件

4eab252b7b944bd7b3810653a8116e96.png

516252b2cd61ed57d2988b957461cfac.png

6.3重启MySQL

fcc33fc4948a25f957d79fec681591a9.png

6.4查看

aa12373a58d229c2c6a375c2af28e8cd.png

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

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

Mysql 源码编译教程贴

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

ubuntu下mysql源码编译安装

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

mysql源码编译安装

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

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

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

MySQL 源码编译安装

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

MySQL 源码编译安装脚本

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

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

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

ubuntu上源码编译安装mysql5.7.27

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

随机推荐

GetKeyboardType获取键盘类型(通过键盘可初步判断用户使用的是台式电脑还是笔记本电脑)

函数功能:该函数获取系统当前键盘的信息. int WINAPI GetKeyboardType( __in int nTypeFlag ); 参数说明:nTypeFlag:指定要获取的键盘信息的类型, ...

通过Spring @PostConstruct 和 @PreDestroy 方法 实现初始化和销毁bean之前进行的操作

关于在spring  容器初始化 bean 和销毁前所做的操作定义方式有三种: 第一种:通过@PostConstruct 和 @PreDestroy 方法 实现初始化和销毁bean之前进行的操作 第二 ...

python 补充-decode和encode

1. decode与encode转码 在Python3中默认编码就是uncode,encode转成Byte类型 在Python2中默认编码就是ascii window下默认编码是GBK decode( ...

解决jquery版本冲突问题

解决jQuery1.3.2和1.4.2的冲突.(测试通过) 第一步:在1.4.2的源代码的最后加上一句 var $j4 = jQuery.noConflict(true);//之所以在源码这里加,而不 ...

电话qie听器

业务逻辑: 当有电话打进来或电话打出去的时候,对电话进行录音. public class TelphoneyListenerService extends Service { private stat ...

linux之sed

sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换.删除.新增.选取等特定工作,下面先了解一下sed的用法sed命令行格式为:         sed ...

信号量多-threaded同步Semaphore

Semaphore它是JDK1.5一个实现后,外面有个办法同步.Semaphore能够保持其当前的线程接入号码.并提供了一个同步机制. 采用Semaphore时,可以用相同的对资源的访问进行控制的线程 ...

【POJ1741】Tree 树分而治之 模板略?

做广告: #include int main() { puts("转载请注明出处[vmurder]谢谢"); puts("网址:blog. ...

linux相关概念

最近这段时间玩Linux比较多,前面我也转载了好多的相关的Linux指令.这里自己关于Linux概念来自己整理一下. 首先我们应该知道Linux到底是什么? 我们知道Linux这玩意儿是在计算机上面运 ...

3.数码相框-通过freetype库实现矢量显示

本章主要内容如下: 1)矢量字体原理 2)使用freetype库实现矢量字体显示 1. 矢量字体原理 将汉字的笔划边缘用直线段描述成封闭的曲线,并将线段各端点的坐标经压缩存储,如下图所示: 由于每个汉 ...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值