mysql++编译_MySQL 编译安装

1、安装思路解压(tar)

生成(./configure)cmake

编译(make)

安装(make install)

5.5版本之前:tar ./configure make make install

5.5版本之后:cmake gmake

2、安装MySQL#cmake

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

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

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

#IP 10.0.0.51 主机名db01

#下载5.6.40包

1)下载epel源

[root@db01 ~]# wget -O /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo

2)安装依赖

[root@db01 ~]# yum install -y ncurses-devel libaio-devel autoconf cmake gcc gcc-c++ glibc

3)解压MySQL源码包

[root@db01 ~]# tar xf mysql-5.6.40.tar.gz

4)进入源码包目录

[root@db01 ~]# cd mysql-5.6.40

5)创建目录

[root@db01 ~]# mkdir /application

6)生成编译文件

[root@db01 mysql-5.6.40]# cmake . -DCMAKE_INSTALL_PREFIX=/application/mysql-5.6.40 \

-DMYSQL_DATADIR=/application/mysql-5.6.40/data \

-DMYSQL_UNIX_ADDR=/application/mysql-5.6.40/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

#注释如下:

#程序存放位置

cmake . -DCMAKE_INSTALL_PREFIX=/application/mysql-5.6.40 \

#数据存放位置

-DMYSQL_DATADIR=/application/mysql-5.6.40/data \

#socket文件存放位置

-DMYSQL_UNIX_ADDR=/application/mysql-5.6.40/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

7)编译

[root@db01 mysql-5.6.40]# make

8)安装

[root@db01 mysql-5.6.40]# make install

9)创建mysql用户

[root@db01 mysql-5.6.40]# useradd mysql -s /sbin/nologin -M

10)做软链接

[root@db01 mysql-5.6.40]# ln -s /application/mysql-5.6.40 /application/mysql

11)进入其他文件目录

[root@db01 mysql-5.6.40]# cd /application/mysql/support-files

12)拷贝MySQL配置文件

[root@db01 support-files]# cp my-default.cnf /etc/my.cnf

cp: overwrite ‘/etc/my.cnf’? y

13)拷贝启动脚本

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

14)进入初始化目录

[root@db01 support-files]# cd /application/mysql/scripts

15)初始化MySQL

[root@db01 scripts]# ./mysql_install_db --user=mysql --basedir=/application/mysql --datadir=/application/mysql/data

16)创建socket文件所在目录

[root@db01 scripts]# mkdir /application/mysql-5.6.40/tmp

17)授权MySQL服务目录

[root@db01 scripts]# chown -R mysql.mysql /application/mysql*

18)添加环境变量

[root@db01 scripts]# vim /etc/profile.d/mysql.sh

export PATH="/application/mysql/bin:$PATH"

19)加载环境变量

[root@db01 scripts]# source /etc/profile

20)启动MySQL

[root@db01 scripts]# /etc/init.d/mysqld start

3、systemd管理mysql启动[root@db01 ~]# cat /usr/lib/systemd/system/mysqld.service

[Unit]

Description=MySQL Server

Documentation=man:mysqld(8)

Documentation=https://dev.mysql.com/doc/refman/en/using-systemd.html

After=network.target

After=syslog.target

[Install]

WantedBy=multi-user.target

[Service]

User=mysql

Group=mysql

ExecStart=/application/mysql/bin/mysqld --defaults-file=/etc/my.cnf

LimitNOFILE = 5000

4、MySQL基本操作及优化#查看库

mysql> show databases;

#删库

mysql> drop database test;

#使用库

mysql> use mysql

#查看表

mysql> show tables;

#查看当前所在库

mysql> select database();

#查看MySQL中所有用户

mysql> select user,host from mysql.user;

+------+-----------+

| user | host      |

+------+-----------+

| root | 127.0.0.1 |

| root | ::1       |

|      | db04      |

| root | db04      |

|      | localhost |

| root | localhost |

+------+-----------+

6 rows in set (0.00 sec)

#删除用户

mysql> drop user root@'db01';

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

mysql> drop user ''@'db01';

mysql> drop user ''@'localhost';

mysql> drop user root@'localhost';

mysql> drop user root@'127.0.0.1';

---------------------

作者:不二大师

来源:CSDN

原文:https://blog.csdn.net/weixin_44558760/article/details/88604377

版权声明:本文为博主原创文章,转载请附上博文链接!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值