来源:
https://www.jianshu.com/p/080f790239f9
https://blog.csdn.net/RAMBOMA/article/details/106989647
https://www.cnblogs.com/alliancehacker/p/12255445.html
https://blog.csdn.net/yanchao963852741/article/details/105297519/
https://blog.csdn.net/weixin_39709920/article/details/104274698?utm_medium=distribute.pc_relevant.none-task-blog-baidulandingword-8&spm=1001.2101.3001.4242
环境
阿里云服务器 CentOS 8.2 64位
安装MySQL8.0.21
安装apahce
安装PHP7.4
安装MySQL
1.清理原来的MySQL
(1)查看是否已经安装过MySQL
rpm -qa | grep mysql
如果有的话,请删除
yum remove mysql-xxx-xxx-
(2)查找MySQL相关文件,并删除
find / -name mysql
(3)查找并删除mariadb
rpm -qa | grep mariadb
可能出现类似mariadb-libs-5.5.56-2.el7.x86_64的结果,则将查找出来的结果强制删。
rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64
2. 下载安装MySQL
(1)进入mysql yum源选择Linux8跳转
选择“No thanks, just start my download.”,点击鼠标右键,选择“复制链接地址”
(2)创建下载目录,下载复制的链接地址
mkdir /usr/local/download
cd /usr/local/download
wget https://dev.mysql.com/get/mysql80-community-release-el8-1.noarch.rpm
(3)安装yum源
yum localinstall mysql80-community-release-el8-1.noarch.rpm
yum localinstall是用来安装本地rpm包的命令,首先rpm包要先下载到本地,然后在本地目录执行yum localinstall *.rpm,yum会自动搜寻依赖关系并安装而rmp -i *.rpm不会自行解决依赖关系,缺少依赖就会报错。
(4)更新yum源
yum clean all
yum makecache
yum 会把下载的软件包和header存储在cache中,而不自动删除。如果觉得占用磁盘空间,可以使用yum clean指令进行清除,更精确 的用法是yum clean headers清除header,yum clean packages清除下载的rpm包,yum clean all一全部清除。yum makecache将软件包信息提前在本地缓存一份,用来提高搜索安装软件的速度。
(5)禁用默认的MySQL,安装MySQL
yum module disable mysql#失败就忽略直接执行下面
yum install mysql-community-server
(6)启动MySQL
systemctl start mysqld
3. 更改MySQL默认的随机密码
(1)查看随机密码
cat /var/log/mysqld.log | grep password
(2)登录MySQL,使用刚刚查到的随机密码
mysql -u root -p
Enter password:
(3)修改密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
(4)远程连接设置
use mysql;
update user set host='%' where user='root';
(5)授权用户名的权限,赋予任何主机访问数据的权限。
赋予权限格式:grant 权限 on 数据库对象 to 用户@IP(或者相应正则)
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;#如果执行第一次失败,就再执行一次就会成功
这里表示赋予该用户所有数据库所有表(.表示所有表),%表示所有IP地址。
(6)刷新权限
FLUSH PRIVILEGES;
(7)开机自启动
systemctl enable mysqld #开机自启动
防火墙开启MySQL服务端口
(1)查看防火墙是否开启
firewall-cmd --state
#systemctl status firewalld也可以查看
如果防火墙未开启,则开启防火墙,设置防火墙自开启
systemctl start firewalld.service
systemctl enable firewalld.service
(2)添加端口/服务。在public区域添加MySQL服务端口。
firewall-cmd --permanent --zone=public --add-service=mysql
firewall-cmd --reload#加载设置
设置成功后,可通过远程连接工具Navicat等连接。
安装apache
(1)查找是否有安装过apache
rpm -qa | grep httpd
有的话,删除
rpm -e xxxxxx #注意依赖关系
(2)安装
yum update
#安装必备的包
yum -y install gcc gcc-c++ make
#安装apache
yum -y install httpd
#开始apache
systemctl start httpd
#设置apache开机自启动
systemctl enable httpd
#配置防火墙
firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --reload
(3)打开浏览器,输入ip,成功看到apache界面
注意:如果失败,查看阿里云是否需要添加安全组规则
php安装
清理之前的php
(1)查找是否有安装过php
rpm -qa | grep php
如果有则删除
rpm -e xxxx #注意依赖关系
#或者使用 yum remove httpd
(2)安装
#要在CentOS 8上安装并启用EPEL存储库。手动安装时注意根据系统选择需要安装的包。
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
# yum命令安装EPELyum install epel-release -y
#添加Remi存储库,注意选择你系统相应的版本
rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-8.rpm
# 启用remi模块安装
dnf -y install dnf-utils
# centos7 则是使用 yum -y install yum-utils安装
#查找
yum search php74*
#安装
yum -y install php74-php
# 通过grep查找扩展
yum search php74* | grep swoole
# 安装扩展
yum -y install php74-php-pecl-swoole4
#链接文件,可以直接php命令
ln -s /opt/remi/php74/root/usr/bin/php /usr/bin/php
(3)运行并查看版本, 重启命令, 添加自动启动,链接php文件
php -v
#重启命令php-fpm
systemctl restart php74-php-fpm
#如果报错:Unit not found ,则安装php-fpm
#yum search php74* | grep php-fpm查找php-fpm拓展名
#yum -y install php74-php-fpm
#添加自动启动
systemctl enable php74-php-fpm
(4)修改配置文件
- 修改apache的配置文件httpd.conf
vim /usr/local/apache2/conf/httpd.conf
- 在httpd.conf中找到: “AddType application/x-gzip .gz .tgz” 在该行下面添加
AddType application/x-httpd-php .php
- 再找继续找到:“DirectoryIndex index.html”,把此行修改成
DirectoryIndex index.html index.htm index.php
- 再找到: “#ServerName www.example.com:80”把此行修改成
ServerName localhost:80
保存后退 出
- 重启apache和php
systemctl restart php74-php-fpm
systemctl restart httpd
(5)php环境测试,在/var/www/html目录下,vim index.php。
打开浏览器访问ip/index.php