首页 > 代码库 > CentOS 6.6 源码编译安装MySQL-5.7.18

CentOS 6.6 源码编译安装MySQL-5.7.18

一、添加用户和组

 

1.添加mysql用户组

# groupadd mysql

2.添加mysql用户

# useradd  -g mysql -s /bin/nologin mysql -M

 

二、查看系统中是否安装mysql,如果安装需要卸载

# rpm -qa | grep mysql
mysql-libs-5.1.73-3.el6_5.x86_64
# rpm -e mysql-libs-5.1.73-3.el6_5.x86_64 --nodeps

 

三、安装所需依赖包

# yum -y install wget gcc-c++ ncurses-devel cmake 

 

四、安装

 

1.下载最新版本的MySQL

进入http://dev.mysql.com/downloads/mysql/,选择Source Code下的Generic Linux。选择带boost库的mysql下载。MySQL5.7对boost库有要求,选择带boost库的会避过一些坑。

# wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-boost-5.7.18.tar.gz 

 

2.解压并安装

# tar xf mysql-boost-5.7.18.tar.gz
# cd mysql-5.7.18
# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql  -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1  -DMYSQL_USER=mysql -DMYSQL_TCP_PORT=3306  -DWITH_BOOST=boost/boost_1_59_0
# make && make install

MySQL将会安装到/usr/local/mysql目录。

 

3.进入安装目录并创建data目录

# cd /usr/local/mysql
# mkdir data

 

4.修改/usr/local/mysql目录权限

# chown -R mysql. /usr/local/mysql

 

5.初始化数据库

# ./mysqld --initialize   --user=mysql  --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

注:

1.之前版本mysql_install_db是在mysql_basedir/script下,5.7放在了mysql_install_db/bin目录下,且已被废弃
2."--initialize"会生成一个随机密码(~/.mysql_secret),而"--initialize-insecure"不会生成密码
3.--datadir目标目录下不能有数据文件
4.使用--initialize参数后,一定要记住生成的密码,否则无法登陆数据库。

 

6.拷贝启动文件到/etc/init.d/下并重命令为mysqld

# /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

 

7.创建配置文件

安装完后发现没有my.cnf配置文件,手动创建个

# vim /etc/my.cnf
[mysqld]
basedir =/usr/local/mysql
datadir =/usr/local/mysql/data
port = 3306
socket = /tmp/mysql.sock

[client]
socket=/tmp/mysql.sock

 

8.启动mysql

# /etc/init.d/mysqld start

 

9.登录mysql

# /usr/local/mysql/bin/mysql -uroot -p系统生成的密码

 

10.修改root密码

mysql>set password = password(新密码);
mysql>flush privileges;
mysql>exit

 

11.退出重新登录

# /usr/local/mysql/bin/mysql -uroot -p‘新密码’

  

  

  

 

 

CentOS 6.6 源码编译安装MySQL-5.7.18