源码编译安装mysql
1 概述
首先来看下mysql的下载地址:
http://ftp.plusline.de/mysql/Downloads/
这里有mysql的各种版本
操作系统:CentOS release 6.8 (Final)
数据库版本:mysql-5.6.31
2 规划
Mysql程序主目录 |
/mysql |
属组: mysql 属主:root |
Mysql数据目录 |
/data |
属组: mysql 属主: mysql |
Mysql配置文件 |
/mysql |
属组:mysql 属主: root |
Mysql端口号 |
3306 |
|
Sock |
/mysql/mysql.sock |
属组:mysql 属主:root |
3 安装
3.1 安装前准备
首先要确定一下软件被安装:
cmake,make,gcc,Perl,
yum install cmake,make,gcc,Perl -y
3.2 安装
3.2.1 解压软件
tar -zxvf mysql-5.6.31.tar.gz
3.2.2 编译安装
进入mysql目录
cd mysql-5.6.31
创建目录
mkdir bootstarp
配置编译配置的参数
cmake .. -DCMAKE_INSTALL_PREFIX = /mysql The installation base directory.
-DMYSQL_DATADIR = /data The location of the MySQL data directory.
-DSYSCONFDIR=/mysql The default my.cnf option file directory.
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_ARCHIVE_STORAGE_ENGINE=1
-DWITH_BLACKHOLE_STORAGE_ENGINE=1
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1
-DMYSQL_TCP_PORT=3306 The port number on which the server listens for TCP/IP connections. The default is 3306.
-DMYSQL_UNIX_ADDR=/mysql/mysql.sock
3.3 make并且make install
make
make install
至此mysql安装完毕
4 安装后的工作
4.1 初始化数据目录
cd mysql
cp ./support-files/my-default.cnf my.cnf
然后编辑mysql添加如下选择:
basedir = /mysql
datadir = /data
port = 3306
socket = /mysql/mysql.scok
更改当前目录的权限
chown -R mysql .
chgrp -R mysql .
初始化数据目录
scripts/mysql_install_db --user=mysql
4.2 最后更改安装目录权限
也可以不更改
4.3 启动mysql服务器
shell> bin/mysqld_safe --user=mysql &
4.4 测试mysql服务器
shell> bin/mysqladmin version
shell> bin/mysqladmin variables
4.5 初始化mysql账号
mysql安装完后,有root用户和匿名户,root用户没有密码,匿名用户表示任何人都可以连接上mysql,这是安全的。
查看这些用户的语句如下:
mysql> SELECT User, Host, Password FROM mysql.user;
因此我们需要给root用户设置密码,给匿名用户设置密码,或者删除匿名用户。
4.5.1 给root用户设置密码
方法一.
使用set命令为上边的每一个用户设置密码。
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('111111');
set password for 'root'@'mysql.localdomain'=password('111111');
set password for 'root'@'127.0.0.1'=password('111111');
SET PASSWORD FOR 'root'@'::1' = PASSWORD('111111');
方法二:
我们也可以通过一条命令搞定。
UPDATE mysql.user SET Password = PASSWORD('new_password') WHERE User = 'root';
FLUSH PRIVILEGES;
flush privileges是告诉服务器去重读授权表,否则设置的用户名密码只有到mysql服务器重启后才可以生效。
方法三.
我们也可以通过mysqladmin来给root用户修改密码
mysqladmin -u root password "new_password"
mysqladmin -u root -h host_name password "new_password"
4.5.2 给匿名用户设置密码
方法一.
set password for ''@'localhost'=password('111111');
set password for ''@'mysql.localdomain'=password('111111');
方法二.
UPDATE mysql.user SET Password = PASSWORD('new_password') WHERE User = '';
FLUSH PRIVILEGES;
4.5.3 删除匿名用户
DROP USER ''@'localhost';
DROP USER ''@' mysql.localdomain ';
5 test安全问题
默认情况下,mysql.db表里含了一些行,这些行定义了任何用户都可以访问test数据库,或者以test_开头的数据库,这是安全的,应该移除。
DELETE FROM mysql.db WHERE Db LIKE 'test%';
DELETE FROM mysql.db WHERE Db LIKE 'test%';
或者删除test数据库,不建立以test开头的数据库。
源码编译安装mysql的更多相关文章
- CentOS源码编译安装MySQL 5.5.15
CentOS源码编译安装MySQL 5.5.15 文章目录 [隐藏] 安装编译工具 下载源码 安装cmake和bison 编译安装MySQL 一些相关设置 安装编译工具 yum install g ...
- CentOS 6.6 下源码编译安装MySQL 5.7.5
版权声明:转自:http://www.linuxidc.com/Linux/2015-08/121667.htm 说明:CentOS 6.6 下源码编译安装MySQL 5.7.5 1. 安装相关工具# ...
- Shell脚本一键部署——源码编译安装MySQL及自动补全工具
Shell脚本一键部署--源码编译安装MySQL及自动补全工具 编译安装MySQL 1.软件包 Mysql安装包 将安装包拖至/opt目录下,编辑一个脚本文件,将以下内容复制进去,然后source或者 ...
- 源码编译安装 MySQL 5.5.x 实践
1.安装cmakeMySQL从5.5版本开始,通过./configure进行编译配置方式已经被取消,取而代之的是cmake工具.因此,我们首先要在系统中源码编译安装cmake工具. # wget ht ...
- 总结源码编译安装mysql
最近在学习源码编译安装LAMP.LNMP时,一直遇到一个难题,就是就是mysql无论怎么源码编译安装,到最后启动服务都提示"Starting MySQL.The server quit wi ...
- 源码编译安装 MySQL 5.5.x 实践(转)
1.安装cmakeMySQL从5.5版本开始,通过./configure进行编译配置方式已经被取消,取而代之的是cmake工具.因此,我们首先要在系统中源码编译安装cmake工具. # wget ht ...
- 源码编译安装MySQL 5.7.9
安装CentOS 6.3 配置yum:[root@hank-yoon ~]# cd /etc/yum.repos.d/ [root@hank-yoon yum.repos.d]# mkdir a [r ...
- CentOS 7 源码编译安装MySQL 5.7.14
一.添加用户和组 1. 进入root: su 2. 添加组: groupadd mysql 3. 添加用户: useradd -r -g mysql -s /bin/false mysql 二.安装 ...
- 树莓派开发笔记(十五):树莓派4B+从源码编译安装mysql数据库
前言 树莓派使用数据库时,优先选择sqlite数据库,但是sqlite是文件数据库同时仅针对于单用户的情况,考虑到多用户的情况,在树莓派上部署安装mysql服务,通过读写锁事务等使用,可以实现多进 ...
随机推荐
- Spark在Ubuntu中搭建开发环境
一.在Windows7中安装Ubuntu双系统 工具/原料 windows7 64位 ubuntu 16.04 32位 UltraISO最新版(用来将镜像文件烤到U盘中) 空U盘(若有文件,请先备 ...
- CCPC2016杭州现场赛
A(hdu5933):(贪心) 题意:长度为n的数组: a1, a2,⋯, 每次操作要么可以merge两个相邻的数为一个, 值为两个数的和; 要么可以把一个数分裂成两个, 两个数的和为原数. 用最少的 ...
- 81 dumpe2fs-打印“ext2/ext3”文件系统的超级块和快组信息
dumpe2fs打印"ext2/ext3"文件系统的超级块和快组信息. 语法 dumpe2fs (选项) (参数) 选项 -b:打印文件系统中预留的块信息: -ob<超级块& ...
- memcached
Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的速度.Memcached ...
- Linux--目录结构解释(转)
/ root --- 启动Linux时使用的一些核心文件.如操作系统内核.引导程序Grub等. home --- 存储普通用户的个人文件 ftp --- 用户所有服务 httpd samba user ...
- 基于Linux平台的libpcap源码分析和优化
目录 1..... libpcap简介... 1 2..... libpcap捕包过程... 2 2.1 数据包基本捕包流程... 2 2.2 libpcap捕包过程... ...
- IBatis存储过程返回值
<parameterMaps> <parameterMap id="delVersionBagInfoParam" class="DelVersionB ...
- 《JavaScript DOM编程艺术(第二版)》读书总结
这本书是一本很基础的书,但对于刚入前端不久的我来说是一本不错的书,收获还是很大的,对一些基础的东西理解得更加透彻了. 1.DOM即document object model的缩写,文档对象模型,Jav ...
- Node.js入门笔记(6):web开发方法
使用node进行web开发 用户上网流程: 表面上看:打开浏览器--输入网址--跳转--上网. 背后的过程是什么呢? http请求网址到指定的主机--服务器接收请求--服务器响应内容到用户浏览器--浏 ...
- Node.js入门笔记(1):基本概念
Node.js和JavaScript: 核心都是ECMAScrit,比如数据类型,语法结构,内置对象等等. 但是在js中顶层是window 在node中的不存在这个window(console.log ...