刚开始,还不太懂,直接上了MySQL5.7版本的二进制安装,结果遇到了各种问题,从5.6到5.7还是做了很大改变的,比如mysql_install_db的文件位置变更到了/bin文件下等等,觉得现在用新版本不太合适,就改到了尝试5.6的安装,下面是两种安装的方法记录。
一、RPM安装
RPM安装属于二进制安装的一种,这是一种别人已经编译好的二进制文件,我们可以拿来经过自己定义一些初始化设置之后直接使用,这种RPM安装进程系统会自动化的完成系统的相关配置,不足之处是我们无法指定文件的安装位置,属于傻瓜式的安装,还有一种是直接下载二进制文件,解压后进行一下相关的配置即可用,还是比较方便的。
1.官网下载rpm文件
2.经过解压后 tar -zxvf mysql-5.6.28-linux-glibc2.5-x86_64.tar.gz 释放出一堆.rpm包 如下:
MySQL-client-5.6.28-1.linux_glibc2.5.x86_64.rpm
MySQL-devel-5.6.28-1.linux_glibc2.5.x86_64.rpm
MySQL-embedded-5.6.28-1.linux_glibc2.5.x86_64.rpm
MySQL-server-5.6.28-1.linux_glibc2.5.x86_64.rpm
MySQL-shared-5.6.28-1.linux_glibc2.5.x86_64.rpm
MySQL-shared-compat-5.6.28-1.linux_glibc2.5.x86_64.rpm
MySQL-test-5.6.28-1.linux_glibc2.5.x86_64.rpm
我们只要安装三个,client、server、devel 即可。
安装前要先检测是否已经安装了rpm的mysql的安装包
rpm -qa|grep -i mysql
发现系统果然自带了一个mysql5.1版本的安装包,删除之:
rpm -ev +上面查到的包名称
然后安装: rpm -ivh MySQL-client-5.6.28-1.linux_glibc2.5.x86_64.rpm
rpm -ivh MySQL-devel-5.6.28-1.linux_glibc2.5.x86_64.rpm
rpm -ivh MySQL-server-5.6.28-1.linux_glibc2.5.x86_64.rpm
3.启动mysql以及初始化密码
我们直接service mysql start ,靠,竟然真的直接就可以success了!汗,什么都没指定呢,看了一下,启动脚本mysqld已经直接就被cp到init.d中了,而且,在/root/.mysql_secret的文件中,自动创建了初始的随机密码:
The random password set for the root user at Wed Jan 6 18:40:55 2016 (local time): k12BokF6GdGTC8kK
修改密码:set PASSWORD=PASSWORD('webber123');
注意:i.如果想要远程登录数据库,需要指定iptables开放3306端口,或关闭iptables,命令:
iptables -I INPUT -p tcp --dport 10060 -j ACCEPT (具体查看“linux防火墙”部分介绍)
ii.如果想要远程往数据库中导入数据文件,需要将SElinux设置为permissive模式,(另一种模式为enforcing模式),命令:
setenforce 1 设置SELinux 成为enforcing模式
setenforce 0 设置SELinux 成为permissive模式 (具体查看鸟哥linux私房菜部分介绍)
最后设置开机启动即可:
chkconfig mysql on
二、源码安装
1、下载mysql-5.6.28.tar.gz,这个源码压缩包仅有30M,而那个rpm包足足有300+M。
2、安装各种需要的组件:(基于你的系统配置,缺什么安装什么)
yum -y install wget gcc gcc-c++ ncurses-devel cmake make
3、准备工作:
3.1 创建mysql用户组及用户:
groupadd mysql
useradd mysql -g mysql -M -s /sbin/nologin
-g:指定新用户所属的用户组(group)
-M:不建立根目录
-s:定义其使用的shell,/sbin/nologin代表用户不能登录系统。
4、解压安装
tar -zxvf mysql-5.6.28.tar.gz
cd mysql-5.6.28.tar.gz
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DSYSCONFDIR=/etc \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DMYSQL_TCP_PORT=3306 \
-DENABLED_LOCAL_INFILE=1 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci
对应解释:
文件安装路径
数据文件路径
外部连接DB时需要的 -S /usr/local/mysql/mysql.sock
设置my.cnf路径
支持MyISAM、Innobase、Memory三个引擎
支持数据库分区
快捷键功能(_READLINE=1)
指定tcp端口3306
允许从本地导入数据
安装所有字符集
默认字符utf-8
最后 make && make install
5、初始化配置
cd /usr/local/mysql
chown -R mysql.mysql /usr/local/mysql
cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql //将mysql的启动服务添加到系统服务中
/usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/
--user=mysql
ln -s /usr/local/mysql/bin/mysql /usr/bin/ (建立软连接 或者通过修改环境变量的方式)
6、开启mysql服务
两种方式:i.service mysql start
ii./etc/init.d/mysql start
至此,完成安装!