• 创建数据库

    CREATE DATABASE 数据库名称 DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

    创建用户

    CREATE USER 'user'@localhost IDENTIFIED BY 'password';  ## 本地访问
    CREATE USER 'user'@'%' IDENTIFIED BY 'password';  ## 任意ip访问

    给权限

    GRANT ALL PRIVILEGES ON 数据库名.* TO '用户名'@localhost; ## 给单独数据库的权限
    
    GRANT ALL PRIVILEGES ON *.* TO 'user'@'%' IDENTIFIED BY 'password'; ## 给全部权限但是该user不能编辑和给予其它用户权限
    
    GRANT ALL PRIVILEGES ON *.* TO 'user'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION; ## 给全部权限并且该user可以编辑和给予其它用户权限


  • 主要参考这篇文章 https://superuser.com/questions/748117/how-to-manually-install-apache-php-and-mysql-on-windows 很详细

    首先安装apache,windows apache有两个选择: ApacheHaus 或者 Apache Lounge

    我这里选择ApacheHaus

    下载最先版本,解压压缩包可以看到一个readme文件,安装里面的操作步骤可以安装apache

    接下来配置php,php要下载安全线程版本,php怎么配置就不说了,主要是编辑一下httpd.conf文件,导入php模块

    LoadModule php7_module "c:\php\php7apache2_4.dll"
    
    <IfModule php7_module>
    
        AddHandler application/x-httpd-php .php
        AddType application/x-httpd-php .php .html
        PHPIniDir "c:\php"
    </IfModule>

    需要注意的地方:

    配置虚拟主机

    取消注释httpd.conf文件的 Include conf/extra/httpd-vhosts.conf 一行,然后在这个文件里配置虚拟主机

    我的配置文件:

    <VirtualHost *:80>
        ServerAdmin webmaster@dummy-host.example.com
        DocumentRoot "C:\Users\Administrator\Desktop\zrdn"
        ServerName zuoridangnian.com
        DirectoryIndex index.php
    </VirtualHost>
    
    
    <VirtualHost *:443>
        ServerAdmin webmaster@dummy-host.example.com
        DocumentRoot "C:\Users\Administrator\Desktop\zrdn"
        ServerName zuoridangnian.com
        DirectoryIndex index.php
    	  SSLEngine on
        SSLCertificateFile "C:\Apache24\conf\ssl\4261553_zuoridangnian.com_public.crt"
        SSLCertificateKeyFile "C:\Apache24\conf\ssl\4261553_zuoridangnian.com.key"
    </VirtualHost>

    默认rewrite模块的没开的

    取消注释 LoadModule rewrite_module modules/mod_rewrite.so 一行

    然后还需要将AllowOverride改为All


  • Error: connect ETIMEDOUT

    应该是mariadb默认只允许本地连接,修改 /etc/mysql/mariadb.conf.d/50-server.cnf 文件

    然后将 bind-address 127.0.0.1 改成 0.0.0.0 然后重启mysql

    Error: ER_HOST_NOT_PRIVILEGED: Host ‘xxx’ is not allowed to connect to this MariaDB server

    这种是你登录的用户只允许本地连接

    USE mysql;
    SELECT user,host FROM user;
    
    // 这样可以看到你的用户和权限,把localhost改成你的ip或者改成 % 允许所有ip登录
    
    GRANT ALL PRIVILEGES ON *.* TO username@'%' IDENTIFIED BY 'passwd' WITH GRANT OPTION;

    上面该权限的代码要注意 用户名 不用加单引号,%要加,密码要加

    参见 Configuring database connection results in Error: Host ‘xxxxxxx’ is not allowed to connect to this MySQL server – Atlassian Documentation


  • ubuntu18.04下安装的mariadb无法远程连接

    修改 /etc/mysql/mariadb.conf.d/50-server.cnf 文件

    bind-address 127.0.0.1中的地址改成0.0.0.0

    参考地址 https://www.digitalocean.com/community/questions/can-t-connect-to-mysql-server-on-ipaddress-10061