您的位置:首页 > 数据库 > MySQL

源码编译安装mysql

2016-09-06 10:51 267 查看
1概述

首先来看下mysql的下载地址:
http://ftp.plusline.de/mysql/Downloads/
这里有mysql的各种版本

操作系统:CentOSrelease6.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,

yuminstallcmake,make,gcc,Perl-y

3.2安装

3.2.1解压软件

tar-zxvfmysql-5.6.31.tar.gz

3.2.2编译安装

进入mysql目录

cdmysql-5.6.31

创建目录

mkdirbootstarp

配置编译配置的参数

cmake..-DCMAKE_INSTALL_PREFIX=/mysqlTheinstallationbasedirectory.

-DMYSQL_DATADIR=/dataThelocationoftheMySQLdatadirectory.

-DSYSCONFDIR=/mysqlThedefaultmy.cnfoptionfiledirectory.

-DWITH_INNOBASE_STORAGE_ENGINE=1

-DWITH_ARCHIVE_STORAGE_ENGINE=1

-DWITH_BLACKHOLE_STORAGE_ENGINE=1

-DWITH_PERFSCHEMA_STORAGE_ENGINE=1

-DMYSQL_TCP_PORT=3306TheportnumberonwhichtheserverlistensforTCP/IPconnections.Thedefaultis3306.

-DMYSQL_UNIX_ADDR=/mysql/mysql.sock

3.3make并且makeinstall

make

makeinstall

至此mysql安装完毕

4安装后的工作

4.1初始化数据目录

cdmysql

cp./support-files/my-default.cnfmy.cnf

然后编辑mysql添加如下选择:

basedir=/mysql

datadir=/data

port=3306

socket=/mysql/mysql.scok

更改当前目录的权限

chown-Rmysql.

chgrp-Rmysql.

初始化数据目录

scripts/mysql_install_db--user=mysql

4.2最后更改安装目录权限

也可以不更改

4.3启动mysql服务器

shell>bin/mysqld_safe--user=mysql&

4.4测试mysql服务器

shell>bin/mysqladminversion

shell>bin/mysqladminvariables

4.5初始化mysql账号

mysql安装完后,有root用户和匿名户,root用户没有密码,匿名用户表示任何人都可以连接上mysql,这是安全的。

查看这些用户的语句如下:

mysql>SELECTUser,Host,PasswordFROMmysql.user;



因此我们需要给root用户设置密码,给匿名用户设置密码,或者删除匿名用户。

4.5.1给root用户设置密码

方法一.

使用set命令为上边的每一个用户设置密码。

SETPASSWORDFOR'root'@'localhost'=PASSWORD('111111');

setpasswordfor'root'@'mysql.localdomain'=password('111111');

setpasswordfor'root'@'127.0.0.1'=password('111111');

SETPASSWORDFOR'root'@'::1'=PASSWORD('111111');


方法二:

我们也可以通过一条命令搞定。

UPDATEmysql.userSETPassword=PASSWORD('new_password')WHEREUser='root';

FLUSHPRIVILEGES;

flushprivileges是告诉服务器去重读授权表,否则设置的用户名密码只有到mysql服务器重启后才可以生效。

方法三.

我们也可以通过mysqladmin来给root用户修改密码

mysqladmin-urootpassword"new_password"

mysqladmin-uroot-hhost_namepassword"new_password"


4.5.2给匿名用户设置密码

方法一.

setpasswordfor''@'localhost'=password('111111');

setpasswordfor''@'mysql.localdomain'=password('111111');

方法二.

UPDATEmysql.userSETPassword=PASSWORD('new_password')WHEREUser='';

FLUSHPRIVILEGES;

4.5.3删除匿名用户

DROPUSER''@'localhost';

DROPUSER''@'mysql.localdomain';

5test安全问题

默认情况下,mysql.db表里含了一些行,这些行定义了任何用户都可以访问test数据库,或者以test_开头的数据库,这是安全的,应该移除。

DELETEFROMmysql.dbWHEREDbLIKE'test%';

DELETEFROMmysql.dbWHEREDbLIKE'test%';

或者删除test数据库,不建立以test开头的数据库。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: