CentOS 6.9下 mysql数据库源码编译安装

#camke

#定制功能:存储引擎、字符集、压缩

#定制安装位置、数据存放位置、文件位置(socket)

#克隆一个模板机(使用CentOS6),克隆完做快照

#IP 10.0.0.52 主机名db02

#下载5.6.36包

[root@db02 ~]# wget -q http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.36.tar.gz

#安装epel源

[root@db02 ~]# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo

#安装依赖包

[root@db02 ~]# yum install -y ncurses-devel libaio-devel

#安装cmake

[root@db02 ~]# yum install -y cmake

#创建用户

[root@db02 ~]# useradd mysql -s /sbin/nologin -M

#修改hosts

[root@db02 ~]# vim /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4

::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

172.16.1.52 db02

#解压MySQL源码包

[root@db02 tools]# tar xf mysql-5.6.36.tar.gz

#进入MySQL目录

[root@db02 tools]# cd mysql-5.6.36

#生成

[root@db02 mysql-5.6.36]#

#程序存放位置

cmake . -DCMAKE_INSTALL_PREFIX=/application/mysql-5.6.38

#数据存放位置

-DMYSQL_DATADIR=/application/mysql-5.6.38/data

#socket文件存放位置

-DMYSQL_UNIX_ADDR=/application/mysql-5.6.38/tmp/mysql.sock

#使用utf8字符集

-DDEFAULT_CHARSET=utf8

#校验规则

-DDEFAULT_COLLATION=utf8_general_ci

#使用其他额外的字符集

-DWITH_EXTRA_CHARSETS=all

#支持的存储引擎

-DWITH_INNOBASE_STORAGE_ENGINE=1

-DWITH_FEDERATED_STORAGE_ENGINE=1

-DWITH_BLACKHOLE_STORAGE_ENGINE=1

#禁用的存储引擎

-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1

#启用zlib库支持(zib、gzib相关)

-DWITH_ZLIB=bundled

#启用SSL库支持(安全套接层)

-DWITH_SSL=bundled

#启用本地数据导入支持

-DENABLED_LOCAL_INFILE=1

#编译嵌入式服务器支持

-DWITH_EMBEDDED_SERVER=1

# mysql5.6支持了google的c++mock框架了,允许下载,否则会安装报错。

-DENABLE_DOWNLOADS=1

#禁用debug(默认为禁用)

-DWITH_DEBUG=0 #编译

具体编译内容为下

cmake . -DCMAKE_INSTALL_PREFIX=/application/mysql-5.6.38 
-DMYSQL_DATADIR=/application/mysql-5.6.38/data 
-DMYSQL_UNIX_ADDR=/application/mysql-5.6.38/tmp/mysql.sock 
-DDEFAULT_CHARSET=utf8 
-DDEFAULT_COLLATION=utf8_general_ci 
-DWITH_EXTRA_CHARSETS=all 
-DWITH_INNOBASE_STORAGE_ENGINE=1 
-DWITH_FEDERATED_STORAGE_ENGINE=1 
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 
-DWITH_ZLIB=bundled 
-DWITH_SSL=bundled 
-DENABLED_LOCAL_INFILE=1 
-DWITH_EMBEDDED_SERVER=1 
-DENABLE_DOWNLOADS=1 
-DWITH_DEBUG=0

  

[root@db02 mysql-5.6.36]# make

#安装

[root@db02 mysql-5.6.36]# make install

#做软链接

[root@db02 mysql-5.6.36]# ln -s /application/mysql-5.6.38/ /application/mysql

#拷贝配置文件

[root@db02 mysql-5.6.36]# cp support-files/my*.cnf /etc/my.cnf

#拷贝mysql启动脚本

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

#进入MySQL初始化脚本目录

[root@db02 mysql-5.6.36]# cd /application/mysql/scripts/

#初始化MySQL

[root@db02 mysql-5.6.36]#

./mysql_install_db --basedir=/application/mysql/ --datadir=/application/mysql/data --user=mysql

#授权

[root@db02 mysql-5.6.36]# chown -R mysql.mysql /application/mysql/

#给启动脚本授权700

[root@db02 mysql-5.6.36]# chmod 700 /etc/init.d/mysqld

#设置开机自启动

[root@db02 mysql-5.6.36]# chkconfig mysqld on

#启动MySQL

[root@db02 mysql-5.6.36]# /etc/init.d/mysqld start

#创建tmp目录(5.6.36版本不会自动创建tmp目录)

[root@db02 mysql-5.6.36]# mkdir /application/mysql-5.6.36/tmp

#添加环境变量

[root@db02 ~]# echo 'PATH=/application/mysql/bin/:$PATH' >>/etc/profile

#个人推荐

[root@db02 ~]# echo 'PATH=/application/mysql/bin/:$PATH' >/etc/profile.d/mysql.sh

[root@db02 ~]# source /etc/profile.d/mysql.sh

#设置MySQL密码

[root@db02 ~]# mysqladmin -uroot password ‘oldboy123’

#MySQL登陆

[root@db02 ~]# mysql -uuser -ppassword -Ssocket -hhost

#MySQL基本操作及基本优化

#查看库

mysql> show databases;

#删库

mysql> drop database test;

#使用库

mysql> use mysql

#查看表

mysql> show tables;

#查看当前所在库

mysql> select database();

#查看mysql用户

mysql> select user,host from user;

mysql>  select user,host,password from user;

#删除用户

mysql> select user,host from user;

mysql> drop user ''@'db02';

mysql> drop user root@db02;

mysql> drop user root@'::1';

mysql> drop user root@'127.0.0.1';

原文地址:https://www.cnblogs.com/jazzxs/p/9512732.html