日度归档:2021年11月27日

centos7mysql安装

首先查看centos7上有没有安装过mysql ,一定要卸载干净残留,不然会安装或启动失败。

yum list installed mysql*
列出后如果有就删除
  • 删除mysql
sudo yum remove mysql-community-*
rm -rf /var/lib/mysql
rm /etc/my.cnf
  • 安装yum源
wget https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
sudo yum instal   mysql80-community-release-el7-1.noarch.rpm
  • 查看是否安装成功

sudo yum repolist all|grep mysql

  • 配置要安装的mysql版本

sudo vim /etc/yum.repos.d/mysql-community.repo

enabled 为1表示启用,将要安装的版本的enabled改为1后保存

配置repo

  • 安装启动mysql
    sudo yum install mysql-community-server.x86_64

等待安装好后启动mysql

sudo service mysqld start      //启动mysql
sudo service mysqld status   //查看mysql状态
sudo systemctl enable mysqld //配置开机启动
  • 管理账户

mysql安装完成之后,在/var/log/mysqld.log文件中给root生成了一个默认密码。通过下面的方式找到root默认密码,然后登录mysql进行修改:

grep 'temporary password' /var/log/mysqld.log  //找到默认密码
mysql -uroot -p 
set password for 'root'@'localhost'=password('NEWPASSWORD'); 或者ALTER USER 'root'@'localhost' IDENTIFIED BY 'NEWPASSWORD';  // 修改密码,注意密码要复杂一些,否则会不能通过。
  • 添加远程用户(mysql 8.0以后必须要先创建用户再设置)
create user 'miroot'@'%' identified by 'Hadoop3!';
grant all privileges on *.* to 'miroot'@'%';
  • 查看并修改编码

mysql -u root -p
show variables like '%char%;
看到有的编码不是 utf8
更改配置文件
vim /etc/my.cnf
[mysqld]下面添加以下两句

character_set_server=utf8
collation-server=utf8_general_ci
[client]下面添加
default-character-set=utf8

注意修改后只会对以后创建的数据库生效。

原文:https://www.jianshu.com/p/a04bd6348fa3

参考:mysql8.0无法给用户授权或提示You are not allowed to create a user with GRANT的问题

PHP Mysql support: 是mysql 还是mysqlnd?

您正在使用其中一个备用存储库安装现代版本的php,突然间您遇到了一个令人困惑的选择。你想在php程序中支持mysql(mysqli或PDO-mysql)。你会怎么选择?

首先,您可能应该使用PDO。与mysqli相比,它只是一个更干净的数据库界面,如果你使用像Doctrine2这样的ORM,它也往往是支持的选项。

但是你可能已经发现安装PDO软件包并不能让你支持MySQL。

那么这2个套餐是什么?一旦我们将webtatic设置为回购,那么让我们看看Centos下的yum向我们展示了什么:

  • webtatic:us-east.repo.webtatic.com
    ====================================== ========
    php56w-mysql.x86_64:用于使用MySQL数据库的 PHP应用程序
    的模块php56w-mysqlnd.x86_64:用于使用MySQL数据库的PHP应用程序的模块

简而言之,mysql扩展即mysql库是引用Oracle / mysql

…通用客户端库
名为libmysql。

这是支持mysql的原始php方法。MySQL提供了一个客户端api库,并使用该c库,创建了一个php扩展,它依赖于libmysql实现着名的mysql_函数,允许php与mysql通信。

mysqlnd包(其中nd代表“本机驱动程序”)是一个项目的成果,它使mysql在php语言中最佳地工作。再次引用mysql网站:

mysqlnd库经过高度优化,可以与PHP紧密集成。MySQL客户端库无法提供相同的优化,因为它是一个通用的客户端库。

mysqlnd库使用PHP内部C基础架构无缝集成到PHP中。此外,它还使用PHP内存管理,PHP Streams(I / O抽象)和PHP字符串处理例程。例如,mysqlnd使用PHP内存管理可以通过使用只读变量(写入时复制)来节省内存,并使mysqlnd适用于PHP内存限制。

除了这些好处之外,还有一些有趣的增强功能和对插件的支持,这些插件可能是您作为开发人员或系统管理员特别感兴趣的。

一般情况下,你的代码不应该破坏,因为api在mysqlnd下应该和旧的mysql库一样。

结论

总之,您希望现在和将来使用mysqlnd。
————————————————

原文链接:https://blog.csdn.net/qq_40338373/article/details/94385423

Nginx 403 error:directory index of “xxx“ is forbidden

现象:
在部署好Nginx服务器后,输入IP地址和端口号,返回403 Forbiddent。查看日志nginx/logs/error.log,发现报错信息为:directory index of “xxx” is forbidden。
其中,xxx是在/etc/nginx/nginx.conf中指定的root目录。

报错原因:
直接使用IP地址和端口号访问时,需要指定index,如果未指定,就会出现该报错。

解决方法:
在/etc/nginx/nginx.conf中做如下修改:

#在nginx.conf文件中指定index,例如:
index index.html index.htm index.php
#或者在nginx.conf文件中添加自动索引
#但是
autoindex on;    #自动索引

原文:https://www.jianshu.com/p/e837e63ff511

Centos7 升级php版本到php7

一、首先查看是否有老版本

yum list installed | grep php

二、如果安装的有

yum remove php.x86_64 php-cli.x86_64 php-common.x86_64 php-gd.x86_64 php-ldap.x86_64 php-mbstring.x86_64 php-mcrypt.x86_64 php-mysql.x86_64 php-pdo.x86_64

三、老版本清理干净之后,进行升级

1、由于linux的yum源不存在php7.x,所以我们要更改yum源:

rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

CentOS7yum安装PHP7.2
CentOS7yum安装PHP7.2

2、查看yum源中有没有php7.x

yum search php7

看到下图,证明php已经存在yum源中

CentOS7yum安装PHP7.2
CentOS7yum安装PHP7.2

3、yum 安装php72w和各种拓展,选自己需要的即可:

yum -y install php72w php72w-cli php72w-common php72w-devel php72w-embedded php72w-fpm php72w-gd php72w-mbstring php72w-mysqlnd php72w-opcache php72w-pdo php72w-xml

CentOS7yum安装PHP7.2

安装完成

4、查看php版本

php -v

CentOS7yum安装PHP7.2

5、启动php-fpm systemctl start php-fpm

注意注释掉nginx.conf里的sock设置
添加:fastcgi_pass 127.0.0.1:9000;#php-fpm的默认端口是9000


原文:https://jingyan.baidu.com/article/870c6fc3460834b03fe4be06.html
参考:PHP Mysql support: 是mysql 还是mysqlnd?

vsftpd: refusing to run with writable root inside chroot ()错误

centos install vsftpd常见的错误:

vsftpd:500 OOPS: vsftpd: refusing to run with writable root inside chroot ()错误
 vsftpd:500 OOPS: vsftpd: refusing to run with writable root inside chroot ()错误
原因是因为从2.3.5之后,vsftpd增强了安全检查,如果用户被限定在了其主目录下,则该用户的主目录不能再具有写权限了!如果检查发现还有写权限,就会报该错误。
 解决这个错误的方法,可以用命令chmod a-w /home/test去除用户主目录的写权限,注意把目录替换成你自己的。

或者你可以在vsftpd的配置文件中增加下列两项中的一项:allow_writeable_chroot=YES