centos7上编译安装MYSQL5.6

来源:互联网 发布:带约束条件的遗传算法 编辑:程序博客网 时间:2024/06/03 09:56

1、MYSQL5.6数据库安装

获取mysql5.6软件包

wget https://cdn.mysql.com/Downloads/MySQL-5.6/mysql-5.6.35.tar.gz

解压tar包

tar zxvf mysql-5.6.35.tar.gz

安装mysql依赖包

yum list|grep ncurses-develyum -y install make gcc-c++ cmake bison-devel ncurses-devel

创建mysql系统组和系统用户

groupadd mysqluseradd mysql -g mysql -M -s /sbin/nologin

创建mysql程序目录和数据目录

#作为mysql程序目录mkdir -p /data/application/mysql #作为mysql数据目录mkdir -p /data/application/mysqlData#修改mysql数据目录的执行用户(这很重要,否则初始化数据库可能无法成功)chown -R mysql:mysql /data/application/mysqlData 

准备编译 使用cmake指定mysql的编译条件

cd mysql-5.6.23/ #进入到mysql目录                                                  cmake  -DCMAKE_INSTALL_PREFIX=/data/application/mysql \-DMYSQL_DATADIR=/data/applicattion/mysqlData \-DMYSQL_USER=mysql

编译安装make &&make install

make && make install #这个过程大概要30分钟

如果不出意外,安装完毕之后可以在/data/application/mysql目录下看到mysql的相关文件

drwxr-xr-x 13 root root  4096 Aug 27 14:29 .drwxr-xr-x  6 root root  4096 Aug 27 14:30 ..drwxr-xr-x  2 root root  4096 Aug 27 13:50 bin-rw-r--r--  1 root root 17987 Nov 28  2016 COPYINGdrwxr-xr-x  3 root root  4096 Aug 27 13:50 datadrwxr-xr-x  2 root root  4096 Aug 27 13:50 docsdrwxr-xr-x  3 root root  4096 Aug 27 13:50 includedrwxr-xr-x  3 root root  4096 Aug 27 13:50 libdrwxr-xr-x  4 root root  4096 Aug 27 13:50 mandrwxr-xr-x 10 root root  4096 Aug 27 13:50 mysql-test-rw-r--r--  1 root root  2496 Nov 28  2016 READMEdrwxr-xr-x  2 root root  4096 Aug 27 13:50 scriptsdrwxr-xr-x 28 root root  4096 Aug 27 13:50 sharedrwxr-xr-x  4 root root  4096 Aug 27 13:50 sql-benchdrwxr-xr-x  2 root root  4096 Aug 27 13:50 support-files

准备启动mysql, 初始化数据库

cd /data/application/mysql/scripts./mysql_install_db --basedir=/data/application/mysql --datadir=/data/application/mysqlData --user=mysql

查看/data/application/mysqlData目录,会发现有以下目录结构

drwxr-xr-x 5 mysql mysql     4096 Aug 27 14:45 .drwxr-xr-x 6 root  root      4096 Aug 27 14:30 ..-rw-rw---- 1 mysql mysql 12582912 Aug 27 14:45 ibdata1-rw-rw---- 1 mysql mysql 50331648 Aug 27 14:45 ib_logfile0-rw-rw---- 1 mysql mysql 50331648 Aug 27 14:30 ib_logfile1drwx------ 2 mysql mysql     4096 Aug 27 14:30 mysqldrwx------ 2 mysql mysql     4096 Aug 27 14:30 performance_schemadrwx------ 2 mysql mysql     4096 Aug 27 14:30 test

安全启动mysql 需要指定参数

cd /data/application/mysql/bin./mysqld_safe --defaults-file=/data/application/mysql/my.cnf --basedir=/data/application/mysql --datadir=/data/application/mysqlData --user=mysql &

查看mysql是否启动

root      6544 12272  0 14:45 pts/1    00:00:00 /bin/sh ./mysqld_safe --defaults-file=/data/application/mysql/my.cnf --basedir=/data/application/mysql --datadir=/data/application/mysqlData --user=mysqlmysql     6656  6544  0 14:45 pts/1    00:00:00 /data/application/mysql/bin/mysqld --defaults-file=/data/application/mysql/my.cnf --basedir=/data/application/mysql --datadir=/data/application/mysqlData --plugin-dir=/data/application/mysql/lib/plugin --user=mysql --log-error=/data/application/mysqlData/VM_140_205_centos.err --pid-file=/data/application/mysqlData/VM_140_205_centos.pid

修改数据库账号密码

./mysqladmin -u root password #接着输入两次密码即可

mysql客户端连接

./mysql -uroot -p #输入密码Enter password: Welcome to the MySQL monitor.  Commands end with ; or \g.Your MySQL connection id is 7Server version: 5.6.35 Source distributionCopyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respective owners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

2、MYSQL5.6系统设置
将mysql常用工具置为全局可用(建立软连接)

ln -s /data/application/mysql/bin/mysqladmin /usr/bin/                  ln -s /data/application/mysql/bin/mysqld_safe /usr/bin/                     ln -s /data/application/mysql/bin/mysql /usr/bin/   

编写mysql启动停止管理shell脚本(mysql内容如下)

#!/bin/shmysql_port=portmysql_username="user"  mysql_password="pass"function_start_mysql(){     printf "Starting MySQL...\n"     /data/application/mysql/bin/mysqld_safe --defaults-file=/data/application/mysql/my.cnf --basedir=/data/application/mysql --datadir=/data/application/mysqlData --user=mysql & }function_stop_mysql(){     printf "Stoping MySQL...\n"     /data/application/mysql/bin/mysqladmin -u ${mysql_username} -p${mysql_password} shutdown}function_restart_mysql(){     printf "Restarting MySQL...\n"     function_stop_mysql     sleep  5   function_start_mysql  }     if [ "$1" = "start" ]; then  function_start_mysql  elif [ "$1" = "stop" ]; then  function_stop_mysql elif [ "$1" = "restart" ]; then  function_restart_mysql   elseprintf "Usage: /data/mysql/${mysql_port}/mysql  {start|stop|restart|kill}\n"  fi      

设置mysql开机重启(mysqlAutoStart.sh内容如下)

#!/bin/sh/data/application/mysqlShell/mysql start

将mysqlAutoStart.sh的所在目录加到/etc/rc.d/rc.local文件末尾

#!/bin/sh /usr/sbin/ntpdate ntpupdate.tencentyun.com >/dev/null 2>&1 &/usr/local/qcloud/rps/set_rps.sh >/tmp/setRps.log 2>&1/usr/local/qcloud/irq/net_smp_affinity.sh >/tmp/net_affinity.log 2>&1#secu_agent init monitor, install at Sat Aug 19 19:35:02 CST 2017/usr/local/sa/agent/init_check.sh  > /dev/null 2>&1/data/application/mysqlShell/mysqlAutoStart.sh #这便是mysql开机启动设置
原创粉丝点击