免编译方式安装mysql-5.6.14

时间:2021-07-15 02:22:38

免编译的方式安装mysql-5.6.14


   今天领导要求使用免编译的方式安装生产环境的mysql,所以才有了下文.  里面涉及的目录已经处理,大家根据需要自己来改吧!


1  下载mysql免编译包:

wget http://cdn.mysql.com/archives/mysql-5.6/mysql-5.6.14-linux-glibc2.5-x86_64.tar.gz


2  设置mysql目录:

tar -zxvf mysql-5.6.14-linux-glibc2.5-x86_64.tar.gzmv mysql-5.6.14-linux-glibc2.5-x86_64 /usr/local/mysqlgroupadd mysqluseradd -g mysql -M mysqlmkdir -p /work/mysql/datachown -R mysql.mysql /work/mysql/data


3  初始化MySQL数据库:

#提示:运行下面的命令初始化安装mysql之前确认系统没有/etc/my.cnf/usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/work/mysql/data --user=mysql


4   添加mysqld 成为系统服务并设置自启动:

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqldchkconfig --add mysqldchkconfig mysqld on


5  启动mysql:

/etc/init.d/mysqld start


6  设置密码:

/usr/local/mysql/bin/mysqladmin -u root password '你的密码'


7  关于my.cnf:

mysqld-5.5以上版本的my.cnf这个文件 在执行初始化的时候,会自动安装到/usr/local/mysql/my.cnf下。  并且主要修改里面的选项配置


8  故障:

Fatal error: Can't open and lock privilege tables: Table 'mysql.user' doesn't exist


解决办法:

这个问题是需要重新初始化mysql数据库mysql_install_db --basedir=/usr/local/mysql --datadir=/work/mysql/data --user=mysql


9  关于我的my.cnf:

/usr/local/mysql/my.cnf# For advice on how to change settings please see# http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html[mysqld]# Remove leading # and set to the amount of RAM for the most important data# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.innodb_buffer_pool_size = 128M# Remove leading # to turn on a very important data integrity option: logging# changes to the binary log between backups.# log_bin# These are commonly set, remove the # and set as required.basedir = /usr/local/mysqldatadir = /work/mysql/dataport = 3306# server_id = .....socket = /tmp/mysql.sock# Remove leading # to set options mainly useful for reporting servers.# The server defaults are faster for transactions and fast SELECTs.# Adjust sizes as needed, experiment to find the optimal values.join_buffer_size = 128Msort_buffer_size = 2Mread_rnd_buffer_size = 2Msql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES



ps : 根据上面的内容可以自己做成一键安装脚本。这样就不必像以前那样漫长的等待了.



------------------华丽的分割线------------------------

下面这个脚本是我在实际生产环境里面使用的,跟上面的内容多少有点出入。大家自己修改吧



#!/bin/bash#Date:2014/01/07#BY:renzhenxing  qq:57674891# 免编译安装mysql-5.6.14#wget mysql-5.6.14 not install pack:yum install -y gzipcd /usr/local/src/if [ -f mysql-5.6.14-linux-glibc2.5-x86_64.tar.gz ];then   echo "mysql-5.6.14 pack is exist!"else   echo "mysql pack is not exist,............now  download..................."   wget http://cdn.mysql.com/archives/mysql-5.6/mysql-5.6.14-linux-glibc2.5-x86_64.tar.gzfitar -zxf mysql-5.6.14-linux-glibc2.5-x86_64.tar.gzmv mysql-5.6.14-linux-glibc2.5-x86_64 /usr/local/mysqlgroupadd mysqluseradd -g mysql -M mysqlmkdir -p /datachown -R mysql.mysql /data[ -f /etc/my.cnf ] &&  mv /etc/my.cnf /etc/my.cnf_old/usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/data --user=mysqlcp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqldchkconfig --add mysqldchkconfig mysqld onln -s /usr/local/mysql/my.cnf /etc/my.cnfcat>/etc/my.cnf<<EOF# For advice on how to change settings please see# http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html[mysqld]# Remove leading # and set to the amount of RAM for the most important data# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.innodb_buffer_pool_size = 128M# Remove leading # to turn on a very important data integrity option: logging# changes to the binary log between backups.# log_bin# These are commonly set, remove the # and set as required.basedir = /usr/local/mysqldatadir = /dataport = 3306# server_id = .....socket = /tmp/mysql.sock# Remove leading # to set options mainly useful for reporting servers.# The server defaults are faster for transactions and fast SELECTs.# Adjust sizes as needed, experiment to find the optimal values.join_buffer_size = 128Msort_buffer_size = 2Mread_rnd_buffer_size = 2Msql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLESEOF/etc/init.d/mysqld startecho " "ps -ef | grep -v "grep mysql" |grep mysqlif [ $? -eq 0 ];then   echo "mysql is install successful"   exit 0else   echo "mysql is install failure!"   exit 1fi



本文出自 “风满楼” 博客,请务必保留此出处http://zhenxing.blog.51cto.com/728846/1342968