备注:以下代码均在bash中运行测试成功过
Linux Apache MariaDB(Mysql) Php 这里我采用的是PDO操作数据库
这里采用的阿里云的云服务器,99一年的超轻量级入门玩耍机器。 初始化系统选择Centos - 8.1,设置密码即可
-CentOS Linux release 8.1.1911 (Core)
(有安全组配置的服务器请提前放行80端口,比如现在用的阿里云) 在浏览器地址栏输入服务器的公网IP,如果出现这玩意说明安装启动成功
Centos 8.1默认的yum安装的是php7 而不是centos7 默认的 php5
yum -y install php # 安装php-pdo-mysql的插件,不安装的话php是没有驱动操作数据库的 yum -y install php-pdo yum -y install php-pdo_mysql这里安装pdo、mysql驱动真的恶心。一大堆帖子将什么配置文件,浪费了我一天的时间-.- /(ㄒoㄒ)/~~
正常应该是这样子的
PHP 7.2.24 (cli) (built: Oct 22 2019 08:28:36) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies phpinfo 查看php的相关配置信息 # 进入Apache的默认网站目录 cd /var/www/html #建立主页文件 vim index.php #按键盘的i进入写入模式,写入主页内容如下 <?php phpinfo(); ?> #按两次Esc后输入:wc保存退出 #重启apache服务 systemctl restart httpd然后在浏览器地址栏输入公网IP,出现这个页面则表示PHP和Apache正常工作
Centos默认支持的是MariaDB,作为mysql的替代品
1.回车后会要你输入数据库超级管理员root的密码,默认为空,回车即可 2.设置密码 回车 3.确认新密码 输入新密码 回车 4.确认新密码 再次输入新密码 回车 5.删除测试账户 回车 6.拒绝root远程登录 回车 7.删除测试数据库 回车 8.重启服务 回车
回车后输入密码(暗文不显示密码),输对了就会进入mysql,输错了重新输入mysql -uroot -p 继续尝试 成功登录之后是这个样子的 这里用建立一个远程root账户(密码为*-123456789*-)为例子
Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is xx Server version: 10.3.17-MariaDB MariaDB Server Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. MariaDB [(none)]> grant all on *.* to root@'%' IDENTIFIED BY '*-123456789*-' with GRANT OPTION; MariaDB [(none)]> flush privileges; Query OK, 0 rows affected (0.000 sec) MariaDB [(none)]> \q Bye输入\q回车即可退出mysql
由于MariaDB默认字符编码为latin1 ,如果使用默认编码的话会出现中文乱码问题.
首先查看默认字符编码,然后把不是utf8的修改为utf8
//查看当前编码 MariaDB [mysql]> show variables like 'character_set%';show variables like "%collation%"; +--------------------------+------------------------------+ | Variable_name | Value | +--------------------------+------------------------------+ | character_set_client | utf8 | | character_set_connection | utf8 | | character_set_database | latin1 | | character_set_filesystem | binary | | character_set_results | utf8 | | character_set_server | latin1 | | character_set_system | utf8 | | character_sets_dir | /usr/share/mariadb/charsets/ | +--------------------------+------------------------------+ 8 rows in set (0.001 sec) +----------------------+-----------------+ | Variable_name | Value | +----------------------+-----------------+ | collation_connection | utf8_general_ci | | collation_database | utf8_general_ci | | collation_server | utf8_general_ci | +----------------------+-----------------+ 3 rows in set (0.001 sec)(filesystem的编码不要改)我这里显示两个为latin1的,下面修改为utf8
[root@ecs ~]# vim /etc/my.cnf.d ----- ./ auth_gssapi.cnf client.cnf enable_encryption.preset mariadb-server.cnf mysql-clients.cnf在client.cnf一行回车进入该区,在[client]下面按i建切入到输入模式加入一行 default-character-set=utf8,如下图
[client] default-character-set=utf8 #This group is not read by mysql client library, -----输入完之后按Esc,输入:wq 保存退出 然后编辑mariadb-server.cnf,在[mysqld]下面按i建切入到输入模式加入一行 character-set-server = utf8,如下图
[root@ecs ~]# vim /etc/my.cnf.d ---- mariadb-server.cnf //在这里回车 -------- [mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock log-error=/var/log/mariadb/mariadb.log pid-file=/run/mariadb/mariadb.pid character-set-server = utf8输入完之后按Esc,输入:wq 保存退出 随后重启数据库即可
[root@ecs ~]# systemctl restart mariadb