MySQL 编译安装

时间:2019-03-17 22:04 作者:Mr.Pan 阅读数:691


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
版权声明:本文为博主原创文章,转载请附上博文链接!



推荐文章

[推荐] linux kingbase 简单操作命令

[推荐] Redis 使用经验总结(四):redis-sentinel 哨兵模式高可用架构

[推荐] 数据库_MySQL: mysql函数

[推荐] MySQL数据库的一些简单方法

[推荐] MySQL 编译安装

[推荐] mysql端口号不是默认端口的连接方式


评论列表



注册用户登录后才能发表评论,请登录注册,访问 博客首页