曹 说他们公司要调研网店的业务逻辑,让我帮忙部署一个系统,给了台不能联外网的裸机(说是他们公司安全级别高),我连上去一看用的Oracle 企业版Redhat 6.5,没用过,但和centos是同源的,还好centos我比较熟悉, 大国企也开始从微软.net 平台转linux平台了。
正好我有一个网店的半成品源码,本来打算用docker快速安装了事,结果发现Redhat 6.5 的内核是kernel 2.6的旧版本,安装docker得升级linux内核到3.1,不能升级把人家服务器搞挂了,还涉及到他们企业内部的安全审核,只能作罢。
因为网站用的数据库是mysql,部署系统首先碰到的问题就是安装mysql。
安装mysql 通常有下面三种方式
- yum 无脑安装
- rpm 文件安装
- 通过源码编译安装
服务器不能联网,2,3两种方式都得手动下载其它的依赖程序,还得找到对应的版本,毕竟是人家公司的服务器,不能瞎折腾,挂了我可付不起责,所以我选择了第四种方式mysql的linux通用版 mysql-5.7.13-linux-glibc2.5-x86_64 来安装。
记录步骤如下:
1 下载安装文件 上传服务器
http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.13-linux-glibc2.5-x86_64.tar.gz
2 解压后把mysql文件移到/usr/local/mysql
解压
tar -xzvf /data/software/mysql-5.7.13-linux-glibc2.5-x86_64.tar.gz
转移文件
mv mysql-5.7.13-linux-glibc2.5-x86_64 /usr/local/mysql
我习惯把安装的放在/usr/local 下,当然也可以选择你喜好的路径
3 添加mysql 用户
添加mysql用户组
groupadd mysql
创建mysql用户
useradd -r -s /sbin/nologin -g mysql mysql -d /usr/local/mysql ---新建msyql用户禁止登录shell
修改mysql文件的所有者
chown –R mysql:mysql .
4 创建mysql数据文件路径
mkdir /data/mysql
chown mysql:mysql /data/mysql 赋权
5 初始化参数
bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql
![Paste_Image.png](http://upload-images.jianshu.io/upload_images/2250657-6f0793fd60936985.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
运行完后会生成一个root的初始化密码
6 设置mysql启动配置文件
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
修改/etc/init.d/mysql文件,把basedir 和 datadir 设置成我们使用的路径
basedir=/usr/local/mysql
datadir=/data/mysql
我下载的版本里没有my.cnf 文件
所以自己手写了一个放在 /etc 下
7 启动mysql
/usr/local/mysql/bin/mysqld_safe --user=mysql &
这时你可能会发现启动不了,一直在接受启动完成的信息,因为mysql默认把mysql的pid文件写入了tmp文件,于是我在my.cnf 上加了一段,然后杀掉进程,重新输入命令
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/data/mysql/mysqld.pid
然后可以用mysql, 客户端去连接服务器,若连不上,说找不到sock文件,又是默认路径爆的雷,现在需要在my.cnf里加上(当然你要找到你的mysql把sock文件写哪去了)
[client]
port = 3306
socket=/usr/local/mysql/mysql.sock
好了,到这里mysql 已经算是安装成功了,可以启动服务,客户端也可以连接做数据库操作。 至于修改密码,字符集设置什么的,网上都有,我就不写了。