RHEL下源码编译安装mysql-5.6.24和初始化配置

一、安装

1.安装所需要系统库相关库文件,其中有一两个包安装不上,尽量安装所有的包。使用yum -y install分别安装下面每一个包

gcc gcc-c++ gcc-g77 autoconf automake zlib* fiex* libxml* ncurses-devel libmcrypt* libtool-ltdl-devel*

2.安装cmake,下载cmake-2.8.4.tar.gz,解压,到cmake的主目录中,执行如下命令

./configure
make 
make install

3.下载mysql源码,下载链接:http://dev.mysql.com/downloads/mirrors.html (进官网,下载,社区版,Other Downloads,mirrors关键词);找到某个站点--》找到mysql-5.6.24.tar.gz,这个就是源码了,有CMakeLists.txt文件的才是源码,不是源码编译会提示 not appear to contain CMakeLists.txt

4.创建用户和组、目录,并赋予权限

useradd mysql
passwd mysql #修改mysql用户的密码
mkdir /apps/mysql/install #创建mysql安装目录
mkdir /apps/mysql/data #创建数据存放目录
chown -R mysql:mysql /apps/mysql/

5.解压后进入主目录,运行命令

cmake . -DCMAKE_INSTALL_PREFIX=/apps/mysql/install -DMYSQL_UNIX_ADDR=/apps/mysql/data/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS:STRING=utf8,gbk -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_DATADIR=/apps/mysql/data -DMYSQL_USER=mysql -DMYSQL_TCP_PORT=3306

/apps/mysql/install是前面建的mysql安装目录

/apps/mysql/data是前面建的mysql数据存储目录

-DMYSQL_USER=mysql,默认mysql进程创建的文件所属的用户,可以是一般新建一个mysql用户,管理mysql进程产生的数据等等

6.运行其他命令

make
make install

参考:Linux下MySQL 5.5.11编译安装笔记(完整安装教程)

二、配置

1.切换到mysql的安装目录。如果/etc/my.cnf文件存在,则覆盖。修改my.cnf的内容,设置basedir=/apps/mysql/install,datadir=/apps/mysql/data,port=3306。

cp support-files/my-default.cnf /etc/my.cnf #my-default.cnf在mysql的安装目录下

2.初始化mysql数据库,生成mysql授权表,执行如下命令,--datadir对应编译时的-DMYSQL_DATADIR,--basedir对应编译时的-DCMAKE_INSTALL_PREFIX, 没加时使用编译时默认的目录。--user对应-DMYSQL_USER,是mysql进程以后产生的mysql文件都属于此用户。

scripts/mysql_install_db --user=mysql --basedir=/apps/mysql/install --datadir=/apps/mysql/data --defaults-file=/etc/my.cnf

第一步也可以省略,如果直接设置defaults-file=support-files/my-default.cnf的话

3复制mysql服务启动脚本(将脚本放入init.d中,使得可以使用service mysql restart等命令)及设置环境变量

cp support-files/mysql.server /etc/init.d/mysql

修改mysql,设置basedir=/apps/mysql/install,datadir=/apps/mysql/data。有可能导致/etc/init.d/mysql没有执行权限,此处注意一下。

修改环境变量,vi /etc/profile,在文件末尾添加如下内容,修改后使用source /etc/profile命令:

export PATH=/apps/mysql/install/bin:/apps/mysql/install/lib:$PATH

启动mysql

service mysql start #启动mysql进程
ps -ef | grep mysql #查询mysql进程

3.修改mysql的root用户密码,执行如下命令:

mysqladmin -u root password '123456'

4.关闭服务器上的防火墙,或者打开3306端口。

5.进入mysql命令行模式,mysql -u root -p,输入密码,mysql的默认管理员用户是root。

1)改变当前数据库为mysql:

use mysql;

2)设置从本地主机登录的root帐号密码:

set password for root@localhost=password('123456');

3)删除匿名帐号: 

delete from user where user='';

4)删除密码为空的帐号:

delete from user where password='';

删除允许非localhost主机登录的帐号:

delete from user where host<>'localhost';

设置root帐号可以远程登录:

update user set host = '%' where user = 'root';

执行上面的命令之后,一定要执行下面的命令使更改生效:

flush privileges;


参考:

Linux CentOS6.5下编译安装MySQL 5.6.22【给力详细教程】






你可能感兴趣的:(RHEL下源码编译安装mysql-5.6.24和初始化配置)