前一篇我们介绍了使用yum安装linux+nginx+mysql+php环境
今天公司分配了个学习主机,但能内网使用,不能访问外网,就不能yum 安装了
那我们来试试手动安装
本操作都在centos7下进行
先检查gcc 编辑器有没有安装
gcc -v
如没有,
从CentOS7的系统安装镜像中取出需要的rpm包,进入"Packages"目录,取出如下几个:
mpfr-3.1.1-4.el7.x86_64.rpm
libmpc-1.0.1-3.el7.x86_64.rpm
kernel-headers-3.10.0-123.el7.x86_64.rpm
glibc-headers-2.17-55.el7.x86_64.rpm
glibc-devel-2.17-55.el7.x86_64.rpm
cpp-4.8.2-16.el7.x86_64.rpm
gcc-4.8.2-16.el7.x86_64.rpm
通过XFTP上传到服务器
执行安装
rpm -ivh mpfr-3.1.1-4.el7.x86_64.rpm
rpm -ivh libmpc-1.0.1-3.el7.x86_64.rpm
rpm -ivh kernel-headers-3.10.0-123.el7.x86_64.rpm
rpm -ivh glibc-headers-2.17-55.el7.x86_64.rpm
rpm -ivh glibc-devel-2.17-55.el7.x86_64.rpm
rpm -ivh cpp-4.8.2-16.el7.x86_64.rpm
rpm -ivh gcc-4.8.2-16.el7.x86_64.rpm
下载Nginx及PCRE。
http://nginx.org/download/nginx-1.14.2.tar.gz
https://ftp.pcre.org/pub/pcre/pcre-8.41.tar.gz
上传 到服务器,编译安装PCRE。
tar -xvzf pcre-8.41.tar.gz
cd pcre-8.41
mkdir /usr/local/share/applications/pcre-8.41
./configure --prefix=/usr/local/share/applications/pcre-8.41/
make && make install
编译安装Nginx。
tar -xvzf nginx-1.14.2.tar.gz
cd nginx-1.14.2
./configure --prefix=/usr/local/share/applications/nginx-1.14.2/ --with-http_ssl_module
启动Nginx
/usr/local/share/applications/nginx-1.14.2/sbin/nginx
配置防火墙开启80端口
firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --reload
设备开机自动启用服务
参照
https://www.cnblogs.com/zhuxiangru/p/9414038.html
systemctl enable nginx.service 使nginx开机启动
systemctl start nginx.service 启动nginx
systemctl stop nginx.service 结束nginx
systemctl restart nginx.service 重启nginx
安装mysql 5.5,mysql-5.5.60-linux-glibc2.12-x86_64
下载地址http://mirrors.163.com/mysql/Downloads/MySQL-5.5/mysql-5.5.60-linux-glibc2.12-x86_64.tar.gz
由于CentOS7自带的是 Mariadb, 所以先来删除他吧...
rpm -qa|grep mariadb
记住名字查到的文件名字
rpm -e --nodeps 上面查出来的文件名
删除配置文件
rm /etc/my.cnf
解压安装包,
tar -xvf mysql-5.5.60-linux-glibc2.12-x86_64.tar.gz
复制到local文件夹
mv mysql-5.5.60-linux-glibc2.12-x86_64 /usr/local
修改文件夹名称
cd /usr/local
mv mysql-5.5.60-linux-glibc2.12-x86_64 mysql-5.5.60
修改my.cnf配置文件
vi /etc/my.cnf
将以下内容添加到my.cnf
[mysql]
设置mysql客户端默认字符集
default-character-set=utf8
socket=/var/lib/mysql/mysql.sock
[mysqld]
skip-name-resolve
设置3306端口
port = 3306
socket=/var/lib/mysql/mysql.sock
设置mysql的安装目录, 这里的目录一定要是你解压后并且改了名的目录哟..
basedir=/usr/local/mysql-5.5.60
设置mysql数据库的数据的存放目录, 这里的目录一定要是你解压后并且改了名的目录哟..
datadir=/usr/local/mysql-5.5.60/data
允许最大连接数
max_connections=200
服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
lower_case_table_name=1
max_allowed_packet=16M
切换目录到mysql中
cd /usr/local/mysql-5.5.60
添加用户组与用户, 这里需要将目录切换到mysql-5.5.60目录
groupadd mysql
useradd -g mysql mysql
chown -R mysql:mysql ./
安装mysql
./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql-5.5.60/ --datadir=/usr/local/mysql-5.5.60/data/
配置MYSQL
chown -R mysql:mysql data
chown 777 /etc/my.cnf
cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld
chmod +x /etc/rc.d/init.d/mysqld
chkconfig --add mysqld
chkconfig --list mysqld
开启服务
service mysqld start
这里碰到几个问题
开启服务时,出错
/etc/init.d/mysqld: line 264: cd: mysql-5.5.60: No such file or directory
解决办法
https://blog.51cto.com/genxin/1783419
basedir 设置正确后,又出现,错误
[[email protected] ~]# service mysqld start
Starting MySQL.Logging to ‘/usr/local/mysql-5.5.60/localhost.localdomain.err‘.
190608 21:24:11 mysqld_safe Directory ‘/var/lib/mysql‘ for UNIX socket file don‘t exists.
ERROR! The server quit without updating PID file (/usr/local/mysql-5.5.60/localhost.localdomain.pid).
解决办法
https://blog.csdn.net/weixin_41503704/article/details/82994661
这里有个问题,开始说要设置my.cnf
第二个错误解决办法,要删除my.cnf,正常启动,
????
[[email protected] ~]# service mysqld start Starting MySQL SUCCESS!
PS:事后总结
第一个 错误,提示找不到安装目录
通过查询 需要更改 /etc/init.d/mysqld文件的参数 basedir=/usr/local/mysql-5.5.60
状况依旧,经多次偿试,发现/etc/my.cnf也有basedir=mysql-5.5.60参数, 但没有写实际路径,自然要出错了
mysql启动原理 启动MySQL服务时,会优先在/etc/目录下查找my.cnf
这就说明,我无 论怎么检查/etc/init.d/mysqld里的路径,状况依旧的原因
配置PATH
vi ~/.bash_profile
在文件最后面加入以下内容,并使用:wq保存
export PATH=$PATH:/usr/local/mysql-5.5.60/bin
刷新PATH
source ~/.bash_profile
登录mysql, 这时mysql没有密码, 当出现Enter password:时直接回车
mysql -uroot -p
修改root密码
mysql> use mysql
mysql> update user set password=password(‘需要设置的密码‘) where user=‘root‘ and host=‘localhost‘;
mysql> flush privileges;
安装完成。
原文地址:https://blog.51cto.com/4690837/2406381