首页 > 代码库 > CentOS 6.5下安装MySql 5.7

CentOS 6.5下安装MySql 5.7

环境:

1)、软硬件:E6420双核CPU,8G内存,1T硬盘

2)、虚拟机下 CentOS 6.5 64位 最小化桌面安装 (1个CPU,2个核心, 2G内存,35G硬盘)

3)、安装包放在/usr/local/src/LAMP目录下

 

1、yum安装编译环境

  [root@slave08 ~]# yum -y install make gcc gcc-c++ zlib-devel libaio

2、配置防火墙,开启  80  端口、  3306  端口

  [root@slave08 ~]# vi /etc/sysconfig/iptables

  加入以下行
  -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT #允许80端口通过防火墙

  最后重启防火墙使配置生效

  [root@slave08 ~]#  /etc/init.d/iptables restart


3、关闭 SELINUX

  [root@slave08 ~]# vi /etc/selinux/config

  详细修改如下所示:

  #SELINUX=enforcing #注释掉

  #SELINUXTYPE=targeted #注释掉

  SELINUX=disabled #增加

  [root@slave08 ~]# shutdown -r now #  重启系统

4、下载安装 cmake

  [root@slave08 ~]# cd /usr/local/src/LAMP
  [root@slave08 LAMP]# tar -zxvf cmake-3.0.2.tar.gz
  [root@slave08 LAMP]# cd cmake-3.0.2
  [root@slave08 cmake-3.0.2]# ./bootstrap
  [root@slave08 cmake-3.0.2]# gmake
  [root@slave08 cmake-3.0.2]# make
  [root@slave08 cmake-3.0.2]# make install

5、yum 安装  ncurses-devel

 

  [root@slave08 ~]# yum -y install ncurses-devel

6、创建用户、组和目录

  [root@slave08 LAMP]# groupadd mysql       //添加组
  [root@slave08 LAMP]# useradd mysql -g mysql       //添加用户
  [root@slave08 LAMP]# passwd mysql            //修改密码
  [root@slave08 LAMP]# mkdir /usr/local/mysql          //mysql安装目录
  [root@slave08 LAMP]# mkdir /usr/local/mysql/data  //mysql数据目录
  [root@slave08 LAMP]# chown -R mysql.mysql /usr/local/mysql  //设置

7、 编译安装  mysql-5.7.5
  [root@slave08 ~]# cd /usr/local/src/LAMP
  [root@slave08 LAMP]# tar -zxvf mysql-5.7.5-m15.tar.gz
  [root@slave08 LAMP]# cd mysql-5.7.5-m15
  [root@slave08 mysql-5.7.5-m15]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock -DMYSQL_DATADIR=/usr/local  /mysql/data -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_USER=mysql -DMYSQL_TCP_PORT=3306 -DDOWNLOAD_BOOST=0 -DWITH_BOOST=/usr/local/src/LAMP
  [root@slave08 mysql-5.7.5-m15]# make
  [root@slave08 mysql-5.7.5-m15]# make install


  注意:若第一次的配置错误,需要先删除当前mysql源码目录中的CMakeCache.txt,然后再重新进行cmake配置。

  cmake参数说明:

  -DCMAKE_INSTALL_PREFIX= 数据库程序安装路径;

  -DMYSQL_DATADIR= 数据库文件存放路径(不配置的话会默认创建$PREFIX_DIR/data)

  -DMYSQL_UNIX_ADDR= 默认位置是/var/lib/mysql/mysql.sock,如果指定其他路径,需要做一个软链接,或者在配置文件my.cnf中进行设置。

  -DDEFAULT_CHARSET= 默认数据库编码

  -DDEFAULT_COLLATION=默认数据库整理编码-DWITH_EXTRA_CHARSETS= 扩展支持编码(all | utf8,gbk,gb2312 | none)

  -DWITH_MYISAM_STORAGE_ENGINE= MYISAM引擎支持(1|0)

  -DWITH_INNOBASE_STORAGE_ENGINE= innoDB引擎支持(1|0)

  -DWITH_MEMORY_STORAGE_ENGINE= MEMORY引擎支持(1|0)

8、权限设置:

  [root@slave08 ~]# cd /usr/local/mysql

  [root@slave08 mysql]# chown -R root.mysql .

  [root@slave08 mysql]# chown -R mysql.mysql ./data

9、修改配置文件  my.cnf

  [root@slave08 mysql]# vi /etc/my.cnf

  配置如下:

  [mysqld]
  basedir=/usr/local/mysql
  datadir=/usr/local/mysql/data
  log-error=/usr/local/mysql/mysql_error.log
  pid-file=/usr/local/mysql/mysql.pid

  socket=/usr/local/mysql/mysql.sock
  user=mysql
  port=3306
  explicit_defaults_for_timestamp=true
  # Disabling symbolic-links is recommended to prevent assorted security risks
  symbolic-links=0

  [mysqld_safe]
  basedir=/usr/local/mysql
  datadir=/usr/local/mysql/data
  log-error=/usr/local/mysql/mysql_error.log
  pid-file=/usr/local/mysql/mysql.pid

10、初始化数据库

  [root@slave08 ~]# cd /usr/local/mysql/bin
  [root@slave08 bin]# ./mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

11、设置  mysqld  的开机启动

  [root@slave08 ~]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
  [root@slave08 ~]# chmod 775 /etc/init.d/mysql
  [root@slave08 ~]# chkconfig mysql on
  [root@slave08 ~]# shutdown -r now

12、修改  root  密码

  [root@slave08 ~]# service mysql stop
  [root@slave08 ~]# rm /var/lock/subsys/mysql
  [root@slave08 ~]# chown -R mysql.mysql /usr/local/mysql/
  [root@slave08 ~]# cd /usr/local/mysql/bin
  [root@slave08 bin]# ./mysqld_safe --user=mysql --skip-grant-tables &   //用Ctr+c结束
  [root@slave08 bin]# ./mysql -u root mysql

    mysql> UPDATE user SET Password=PASSWORD(‘newpassword‘);  //请将newpassword更换为自己设定的密码即可,其他不变
    mysql> FLUSH PRIVILEGES;
    mysql> quit

  [root@slave08 bin]# service mysql start

 

CentOS 6.5下安装MySql 5.7