centos7下Mysql5.7.29,PHP72W环境安装itop2.7.5
一、组件版本
Mysql8版本与php5.6版本存在密码解析冲突,手动修改无效,需要初始化时指定密码解析为 mysql_native_password
Mysql5.7版本与php5.6版本存在Missing PHP extension(s): mysqli. ,依赖问题,解决较为繁琐。
Header | Header |
---|---|
Mysql | 5.7.29 |
Php | php72w |
ITop | 2.7.5 |
二、mysql5.7.29安装
下载mysql5.7.29
如果出现报错
正在解析主机 dev.mysql.com (dev.mysql.com)... 失败:未知的名称或服务。
#检查是否有外网
ping www.baidu.com
#打开resolv.conf
vim /etc/resolv.conf
#增加
nameserver 8.8.8.8
nameserver 8.8.4.4
#创建安装目录
mkdir -p /opt/module/mysql
#下载mysql 5.7.29 如果下载太慢可以先本地下载再上传到服务器
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.29-linux-glibc2.12-x86_64.tar.gz
#解压
tar -zxvf mysql-5.7.29-linux-glibc2.12-x86_64.tar.gz -C ./
#改名
mv mysql-5.7.29-linux-glibc2.12-x86_64/ mysql-5.7.29
配置环境变量
#profile
vim /etc/profile
#最下方添加MYSQL_HOME PATH
export MYSQL_HOME=/opt/module/mysql/mysql-5.7.29
export PATH=$PATH:$MYSQL_HOME/bin
#使生效
source /etc/profile
添加mysql用户组与用户
检查mysql组和用户是否存在
cat /etc/group | grep mysql --/etc/group 用户组文件
cat /etc/passwd | grep mysql --/etc/passwd 用户密码文件
如果终端没有返回值则创建-- 创建mysql用户组
groupadd mysql 创建mysql用户 -r指不可用于登录,-g规定用户组
useradd -r -g mysql mysql
创建mysql的Data目录
#数据目录
mkdir -p /data/mysql/data
#日志目录
mkdir -p /data/mysql/logs/log-error
#socket目录
mkdir /var/lib/mysql
#修改权限为mysql
chown -R mysql:mysql /data/mysql
chown mysql:mysql /var/lib/mysql/
创建my.cnf文件 且拷贝至/etc/下
vim my.cnf[mysqld]
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES #数据库路径
basedir = /opt/module/mysql/mysql-5.7.29
#data路径 也就是上一步创建的路径
datadir = /data/mysql/data
#端口
port = 3306
#使用sock通讯协议 本地连接时可用
socket = /var/lib/mysql/mysql.sock
#字符编码
character-set-server=utf8#错误日志 与pid文件位置
log-error = /data/mysql/logs/log-error/mysqld.log
pid-file = /data/mysql/data/mysqld.pid#如果不追加这步可能会报错
#ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
[client]
port=3306
socket=/var/lib/mysql/mysql.sock
cp my.cnf /etc/
如果存在 则覆盖(建议保存上一份文件)
设置开机启动
#指定目录
vim /opt/module/mysql/mysql-5.7.29/support-files/mysql.server
basedir=/opt/module/mysql/mysql-5.7.29
datadir=/data/mysql/data
#设置开机启动
cp support-files/mysql.server /etc/init.d/mysql
初始化数据库
#initialize 初始化
#user 用户
#basedir 数据库路径
#datadir data目录路径
bin/mysqld --initialize --user=mysql --basedir=/opt/module/mysql/mysql-5.7.29 --datadir=/data/mysql/data/
查看初始密码
#末尾处有密码 复制保存一下 假设为ITii&TGf=6oM
cat /data/mysql/logs/log-error/mysqld.log
启动MYSQL,增加权限,远程访问
#配置远程连接时如果报错
ERROR 1062 (23000): Duplicate entry '%-root' for key 'PRIMARY'
#查看存在几个root 已经存在所需的root就跳过 root %
select user,host from user;
#启动server端 如果想使用systemctl start mysql 先 systemctl daemon-reload一次
service mysql start
#命令行连接
mysql -uroot -p
输入密码#修改密码
set password=password('fzd123');
#配置root权限
grant all privileges on *.* to root@'%' identified by 'fzd123';
#刷新
flush privileges;#使用mysql数据库
use mysql;
#配置远程连接
update user set host='%' where user = 'root';
#刷新数据库
flush privileges;
重启mysql
service mysql restart
三、安装lamp及PHP
yum -y install epel-release
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
yum -y install httpd graphviz unzip mod_ssl mariadb-server php72w php72w-gd php72w-mysql php72w-imap php72w-soap php72w-ldap php72w-mbstring php72w-pecl-zendopcache php72w-xml php72w-cli
关闭防火墙与关闭SELinux
#防火墙
systemctl stop firewalld.service
#不重启临时生效
setenforce 0
#重启自动生效
vim /etc/selinux/config
SELINUX = diabled
创建PHP会话目录,配置目录权限
mkdir -p /var/lib/php/session
chown apache:apache -R /var/lib/php/session/
启动httpd
systemctl start httpd
systemctl enable httpd
四、安装iTop
下载
#创建安装目录
mkdir -p /opt/module/itop
#下载itop
cd /opt/module/itop
https://nchc.dl.sourceforge.net/project/itop/itop/2.7.5-1/iTop-2.7.5-1-7770.zip
#解压至创建的目录
unzip iTop-2.7.5-1-7770.zip
在Mysql中建库
如果赋权时出现
ERROR 1045 (28000): Access denied for user 'root'@'%' (using password: YES)
#查看是否误删了本地的root
select user,host,grant_priv from user;
#grant_priv是否有Y,如果没有则修改
UPDATE user set Grant_priv='Y' where user='root' and `Host`='%';
#刷新 重启mysql
flush privileges;
systemctl restart mysql
#启动mysql
mysql -uroot -pfzd123
#创建数据库
create database itop DEFAULT CHARACTER SET utf8;
#创建用户 赋权 远程访问
create user itop@'%' identified by 'itop123';
grant all privileges on *.* to 'itop'@'%' identified by 'itop123' with grant option;
#刷新
flush privileges;
session权限
mkdir -p /var/lib/php/session
chown -R apache:apache /var/lib/php/session
创建itop目录
#移动web到/var/www/html/itop/下
mv /opt/module/itop/web/* /var/www/html/itop/
#创建
mkdir -p /var/www/html/itop/{conf,data,log,env-production,env-production-build}
#授权
chown -R apache:apache /var/www/html/itop/{conf,data,log,env-production,env-production-build}
前端安装
访问前端页面
ip/itop