当MySQL遇上phpMyAdmin

当MySQL遇上phpMyAdmin


引言:最近老师给我们布置了一项任务,分组完成一个Java EE课程项目设计,考虑到项目需要后台数据库的支撑,而自己以前装在电脑上的Microsoft SQL Server不知道咋了,连服务都起不来,加上它给我的印象也不太好,二话不说,先把你给卸载了,这次玩MySQL,然而事情并不简单。。。

模块一:
MySQL的安装配置过程:
step1.打开https://downloads.mysql.com/archives/community/选择合适版本进行下载!

这里写图片描述

解压打开文件

这里写图片描述

注意一下,解压后的目录并不存在data和my.ini,这两是我们在下一步需要新建的

咦!怎么没有.exe文件,这要怎么装,难道不用装么?一通百度,原来自己下了个zip“免安装”版本,但好像官网上基本都是这种zip的,为啥要给这“免安装”三字打上引号呢?因为它并不是一解压就能用的,还有几步得走。。。

step2.回到刚才的解压目录,新建一个文件夹【命名为data】和一个配置文件【命名为my.ini】,然后再给my.ini加点料:

my.ini

[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8 
[mysqld]
#设置3306端口
port = 3306 
# 设置mysql的安装目录
basedir=D:\\MySQL_phpMyAdmin\\mysql-8.0.12-winx64
# 设置mysql数据库的数据的存放目录
datadir=D:\\MySQL_phpMyAdmin\\mysql-8.0.12-winx64\\data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为UTF8
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB

如果你以前有用过mysql.exe的安装向导,你会发现这里所做的配置其实在那个安装向导中都有体现。对了,注意到那个datadir没,他所指的路径正是我们新建的那个data

step3.输入cmd,以管理员身份运行控制台,进入MySQL路径(D:\MySQL_phpMyAdmin\mysql-8.0.12-winx64\bin)下【当然,如果你事先进行了环境配置,可以在任意目录下进行】。

//从MySQL5.7.6开始需要执行mysqld --initialize方法
(1)先执行mysqld --initialize   //初始化工作,在这一步会往上一步所建的data文件夹里释放一下“东东”
(2)再执行mysqld install        //安装MySQL服务,这步完成后你可以服务里找到MySQL服务
(3)再执行net start mysql       //启动MySQL服务,一切ok!

这里写图片描述

这里写图片描述

为啥需要以管理员身份运行cmd呢?你试试就知道了,你也许会碰到下面这种错误:
这里写图片描述
咋回事?权限不足呗,被拒绝的感受不好受吧!

step3. 是时候链接数据库了,命令行输入mysql -u root -p后回车
这里写图片描述

咦,怎么需要密码?我也没设置密码啊!不要慌,进入安装目录【D:\MySQL_phpMyAdmin\mysql-8.0.12-winx64】,打开data文件夹,找到.err的文件,打开它

这里写图片描述

原来给我生成了一个临时密码,唉,给我设了密码也不告诉我一声,一点也不贴心!密码也设置得怪怪的,叫人家怎么记得住,不行,我要改密码。。。

step4.重置root密码

//执行该命名之后会提示输入原密码,输入正确后即可修改。
mysqladmin -u ["username"] -p password ["new password"]

D:\MySQL_phpMyAdmin\mysql-8.0.12-winx64\bin> mysqladmin -u root -p
password pswd Enter password: **

mysqladmin: [Warning] Using a password on the command line interface
can be insecure. Warning: Since password will be sent to server in
plain text, use ssl connection to ensure password safety.

step5.使用新密码链接MySQL数据库

这里写图片描述

至此,MySQL的配置就算完成了,说实话还是习惯那种傻瓜式的安装向导,这种所谓的Zip免安装版…..算了,不吐槽了,该进入phpMyAdmin的配置了。。。

模块二:
phpMyAdmin的安装配置过程:

phpMyAdmin 是众多 MySQL图形化管理工具中使用最为广泛的一种,是一款使用PHP 开发的基于B/S模式的 MySQL 客户端软件,该工具是基于 Web 跨平台的管理程序,并且支持简体中文。

step1.访问https://www.phpmyadmin.net/点击右侧的Download 4.8.3即可下载phpMyAdmin-4.8.3-all-languages.zip

这里写图片描述

step2.下载完毕后将其解压放在可以访问的web目录下【D:\Apache24\htdocs】,当然也可以不放在这,具体细节参考:https://blog.csdn.net/wodecc_u/article/details/71213441

这里写图片描述

step3.配置config文件,打开上面目录下的libraries文件夹,在里面找到config.default.php

//具体配置如下:

//1.phpmyadmin的访问网址
$cfg['PmaAbsoluteUri'] = '';  //如改成如改成$cfg['PmaAbsoluteUri'] = 'localhost/phpMyAdmin'

//2.修改服务器IP地址
$cfg['Servers'][$i]['host'] = 'localhost';
//填写localhost或mysql所在服务器的ip地址,如果mysql和该phpmyadmin在同一服务器,则按默认localhost 

//3.修改mysql访问端口
cfg['Servers'][$i]['port'] = ''; //mysql端口,如果是默认3306,保留为空即可

//4.mysql用户名和密码
$cfg['Servers'][$i]['user'] = 'root'; 
// MySQL user 访问phpmyadmin使用的mysql用户名 

$cfg['Servers'][$i]['password'] = '';
// MySQL password (only needed对应上述mysql用户名的密码)

//5.认证方式
$cfg['Servers'][$i]['auth_type'] = 'cookie'; 
/*在此有四种模式可供选择,cookie,http,HTTP,config 
config方式即输入phpmyadmin的访问网址即可直接进入,无需输入用户名和密码,是不安全的,不推荐使用。 
当该项设置为cookie,http或HTTP时,登录phpmyadmin需要数据用户名和密码进行验证,,具体如下: 
PHP安装模式为Apache,可以使用http和cookie; 
PHP安装模式为CGI,可以使用cookie */

//6.短语密码(blowfish_secret)的设置
$cfg['blowfish_secret'] = ''; 
//如果认证方法设置为cookie,就需要设置短语密码,置至于设置为什么密码,由您自己决定 ,但是不能留空,否则会在登录phpmyadmin时提示错误 
  • In most cases you can leave this variable empty, as the correct value
    • will be detected automatically. However, we recommend that you do
    • test to see that the auto-detection code works in your system. A good
    • test is to browse a table, then edit a row and save it. There will be
    • an error message if phpMyAdmin cannot auto-detect the correct value.
      *
    • @global string $cfg[‘PmaAbsoluteUri’]
      */
      \$cfg[‘PmaAbsoluteUri’] = ”;
      配置文件里的这段话意思是说\$cfg[‘PmaAbsoluteUri’] 这个全局字符串该怎么配置,取决于你的系统,你可以先留空,看看能不能打开http://localhost/phpMyAdmin/

模块三:
APache的安装配置:
step1.访问http://httpd.apache.org/docs/current/platform/windows.html#down,点击ApacheHaus获取httpd-2.4.34.tar.bz2。

这里写图片描述

step2.完成解压并以管理员身份运行cmd,切换到解压目录【D:\Apache24\bin】,执行命令httpd -k install安装Apache24服务,httpd -k start打开Apache24服务打开浏览器,输入http://localhost:【port】,若出现it works【下图所示】. 则表示配置成功。

这里写图片描述

在这个过程中你可能会碰到以下问题:

问题一:80端口被占用

解决办法:
1.打开conf文件夹下的httpd.conf的配置文件找到Listen 80,改个不常用的端口,这里我改成了8181

这里写图片描述

2.找到占用80端口的后台进程,干掉它。

问题二:443端口被占用

Errors reported here must be corrected before the service can be started.
(OS 10048)通常每个套接字地址(协议/网络地址/端口)只允许使用一次。 : AH00072: make_sock: could not bind to address [::]:443

解决方法:
1.打开.\conf\extra下的httpd-ssl.conf配置文件有443的地方全给改掉,然而这种方法好像行不通,问题依旧

2.既然方法一不行,我们就暴力一点直接kill占用443端口的后台进程
(1)先看看是哪个占着443端口不放
netstat -ano|findstr "443"
TCP 0.0.0.0:443 0.0.0.0:0 LISTENING 3120
TCP 199.10.33.30:54312 202.173.27.250:443 TIME_WAIT 0
TCP 199.10.33.30:54313 216.219.120.244:443 TIME_WAIT 0

tasklist|findstr "3120"
vmware-hostd.exe 3120 Services 0 55,356 K

(2)干掉vmware-hostd.exe
taskkill /pid 3120 或 taskkill /im vmware-hostd.exe

!!! Pay attention:

以上操作凡涉及到配置文件的修改均需重启服务才会生效!

模块四:
最后的操作:打开浏览器输入http://localhost:8181/phpmyadmin/.

这里写图片描述

What ! 这是什么鬼?说好的图形界面呢!

别急嘛!试着在地址栏后面加上index.php后刷新

这里写图片描述

哎,界面出来了!难道每次访问都得加上index.php么?

当然不是啦!打开D:\Apache24\conf\httpd.conf设置默认首页文件名,在DirectoryIndex index.html后面追加DirectoryIndex index.php即可

这里写图片描述

保存重启Apache,重新打开http://localhost:8181/phpmyadmin/

如果问题依然存在,你就得看看你的Apache有没有正确加载php模块

步骤:
1.打开Apache的httpd.conf配置文件,添加以下代码:
#加载PHP模块,这里的D:/php-5.4.28为php安装目录
LoadModule php5_module "D:/php-5.4.28/php5apache2_2.dll"
AddType application/x-httpd-php . php
PHPIniDir "D:/php-5.4.28

2.测试php是否正常
重启Apache,在Apache的安装目录下的htdocs目录下新建一个test.php文件,输入以下代码
<?php
phpinfo();
?>

然后在游览器中输入http://localhost/test.php检测php解释器是否整合到Apache中
这里写图片描述

欧耶!可以啦。
终于可以体验PHPMyAdmin了,输入账号:root 密码:**,点击登录。。。

这里写图片描述

呃呃,这又是什么情况啊!我不过就想用用PHPMyAdmin,咋就这么难呢?不行,我要跟你死磕到底,我还就不信了。。。

原来问题出在这里:
MySQL 8.0.4开始默认使用caching_sha2_password作为认证的插件,对于之前的版本的mysql,默认的认证插件为mysql_native_password。caching_sha2_password需要客户端也支持

这下该怎么办?

解决方案:
1.
update mysql.user set
plugin="mysql_native_password" where user="mysql.sys" #更新一下用户mysql.sys的密码验证插件
FLUSH PRIVILEGES; #刷新权限

2.
在mysql配置文件my.cnf修改插件[mysqld]
default_authentication_plugin=mysql_native_password
修改完后需要重启mysql服务器。

查询用户密码的加密插件:
mysql>select user, host, plugin from mysql.user;

这里写图片描述

至此,终于完成了所有配置!最终成果图:

这里写图片描述

以上步骤均经过小编测试可行,有需要的小伙伴可以拿去参考,欢迎纠错!


相关链接:
[1] windows下重置MySQL的 root 密码
[2] phpMyAdmin使用教程
[2] Apache,MySQL,phpMyAdmin百度网盘链接 密码:kld3

  • 3
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值