mysql 踩过的坑_使用MySQL踩过的坑

本文详细指导了如何在Windows系统中下载并配置MySQL 5.6非安装版,涉及环境变量设置、MySQL服务启动与管理、编码配置,以及常见问题的解决方案,确保顺利运行和安全设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先从MySQL官方网站下载MySQL,我选择的是5.6的非安装版本,是在Windows系统系,MySQL。然后解压到你想要的目录,把my-default.ini拷贝一份重命名为my.ini这个是MySQL服务启动时默认读取的配置文件。如下图所示:

b9d8be0875ddf6131ccc2cbac349d4d8.png

图1  MySQL目录

为了方便,把MySQL的bin目录加入到path环境变量中,当在程序在搜索可执行程序的时候会搜索path指定的目录。我们就可以直接像这样mysql –u root –p执行命令,而不用像D:\db\mysql\mysql-5.6.31-winx64\bin\mysql –u root –p这样来执行命令。

一、添加环境变量

1.      右键计算机选择属性

493ee4c0a15d80f61c22cd6c6d2c5f8f.png

图2 计算机属性

2.      选择高级系统设置

390558bd4ab63c16506e0a9db34069d7.png

图3 系统高级设置

3.      选择环境变量

826c32e7ccc315e149fc912a757435f0.png

图4 系统环境变量

4.      选择Path变量,单击编辑按钮

256cee369fc5ad6cece9275ad488112f.png

图5 编辑环境变量

5.      添加MySQL的bin目录

1ba27a6f029024686259a0990c693388.png

图6 添加MySQL环境变量

注意:上面是添加MySQL的bin目录,不是覆盖,只需要使用分号(;)把前面的目录隔开就可以了。

二、MySQL服务

1.MySQL客户端(mysql)与MySQL服务(msyqld)

这里首先要区分一下MySQL的服务器和MySQL的客户端,因为可能会有同学对这2个概念有点混淆。有的同学可能会看到过下载MySQL的时候有很多包可选,有的只有几兆,十几兆,有的却有几百兆。这里除了版本、针对的系统不一样之外,还有就是有的只有MySQL客户端工具,有的只有MySQL服务器,有的是包含各种套件,包括客户端,服务器以及测试套件等。

这里最重要的也是最容易混淆的区分就是MySQL的客户端和MySQL的服务。我们一般通过mysql命令只是一个客户端工具而已,并不包含MySQL的服务,mysql(MySQL客户端)和mysqld(MySQL服务)是分开的。我们可以通过只下载一个几兆的MySQL的客户端也可以使用远程的MySQL服务。而如果要使用本地MySQL服务,就要启动MySQL服务。

2. MySQL服务启动

可以直接通过下面2个命令来启动服务

mysqld

mysqld --defaults-file="D:\db\mysql\mysql-5.6.31-winx64\my.ini"

一个是指定了配置文件一个是没有指定配置文件启动MySQL服务的。如果启动成功就会看到如下图所示的界面:

bae3c2bff99221545801ce305f737824.png

图7 启动MySQL

然后上面的窗口就可以关闭了,可以在Windows任务管理器中就可以看到一个mysqld进程:

cb87aa4479f16e9df52b900e5a4955f8.png

图8 mysqld进程

接下来就可以直接通过下面的命令直接回车连接MySQL服务了

mysql –u root -p

3527d77f037ec747d4e5e9f06fcbff6f.png

图9 连接MySQL服务

这是因为MySQL非安装版默认有2个用户,一个是root,一个是空(不是null),都是没有密码的。可以通过root用户执行下面的命令来查看:

Select host,user,password from mysql.user

bd30ded0989c7977f17cbc227368e253.png

图10 MySQL默认用户

当用户密码为空(’’不是null)的时候可以直接连接数据库服务,如上图host列表示可以连接的主机ip,localhost,127.0.0.1,::1都是表示本机,::1是IPV6的表示方法。就是说只允许主机没有密码连接,还有一个通配符%表示任意,例如,最常见的表示就是host设置为192.168.%.%用来限制只有指定的网段能够通过这个用户这个密码连接MySQL服务。

为了安全,还是为root用户设置一个密码吧,可以通过下面的语句来设置MySQL的密码。

update mysql.user set password=password(123456) where user='root';

上面的SQL语句是将用户名为root的用户密码修改为123456,password(123456)是调用MySQL的password函数对密码123456进行加密处理。因为MySQL存储的密码都是加密的。

3. 安装MySQL服务

如果觉得每一次都要执行命令启动MySQL服务麻烦就可以安装MySQL服务,然后设置自动启动。可以通过下面的命令来安装MySQL服务:

mysqld --install mysql --defaults-file="D:\db\mysql\mysql-5.6.31-winx64\my.ini"

其中mysql是要安装服务的名字。如果出现像下面的情况那么就恭喜你,你踩到坑了,而且还是天坑。

3e9034e8233ac6360f4c643a75132d9d.png

图11 启动MySQL服务

诶,不是明明提示Service successfully installed吗?就算我这英语渣渣也是知道提示我服务安装成功了啊。下面我们来尝试启动一下MySQL服务,执行命令。

net start mysql

b9c6cde0048a032f4f049bad04d174cc.png

图12 令人崩溃的错误

发生了系统错误2,系统找不到指定文件。那画面太美我不敢看,人与电脑最基本的信任呢?这究竟是道德的沦丧,还是系统的扭曲。嗯,我们还是来看一下我们安装的服务吧。执行services.msc命令打开service服务查看窗口找到我们安装的mysql服务,右键选择属性。

f1df4cd4dd8b81cdc835e65c92f1ea98.png

图13 查看服务属性

发现安装的mysql服务的可执行文件根本就不是我们的MySQL的bin目录下的mysqld服务啊,这是什么鬼。

dc01145daf0ca40273ac6c80d47719d8.png

图14 服务属性

怎么解决呢?首先先删除原来的服务,然后在我们的mysql的bin目录下来执行安装服务。

删除服务,可以通过下面的命令来执行

sc delete mysql

mysqld –remove mysql

然后在MySQL的bin目录下执行安装服务命令,可以发现同样的命令只是换了一个目录执行就成功了。

98e14e7991f4e84bcb5286978a9c1130.png

图15 启动MySQL服务成功

三、编码配置

在刚刚开始使用MySQL的时候,遇到最多的问题肯定是MySQL的编码问题了。可以执行下面的命令查看MySQL的各个编码设置。

show variables like ‘char%’

show variables like ‘char%’

3b02c95d6d15ea7d21fece5f2a9707d1.png

图16 查看MySQL编码

一般情况下为了偷懒,我们会把除了character_set_filesystem的编码外的所有编码设置为utf-8。最简洁的配置就是在my.ini(Linux下的my.cnf)文件中配置为下面的样子。

[client]

default-character-set=utf8

[mysqld]

character-set-server=utf8

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

d07dd0f1e2bac0171ce6764198849d1f.png

图17 配置之后的MySQL编码

如果是安装MySQL服务配置是要在MySQL服务安装之前配置,如果已经安装了想重新配置,关闭服务,删除服务,重新安装就可以了。如果发现数据库中已经有乱码问题了,才重新配置,需要删除数据库重新建立数据库。

四、一些问题的解决方法

当我们遇到问题的时候,有时候根本无从下手,因为没有进入程序,所以也得不到应用程序的任何日子,就可以通过Windows的日子中的应用日子来得到一些信息,有时候这些信息是非常有用的。例如,常见的的my.ini编码配置错误的时候出现的错误提示:

e90f48c19338eec0b6ce34b64a0069cd.png

图18 启动MySQL错误

通过一般的信息可能不是很清楚发生了什么,就可以执行win+R 然后输入compmgmt.msc,然后回车确定打开Windows的组件管理器。

b8ca4b7e79ebc30b2b3a5a71ad8dd0c2.png

图19 启动Windows组件管理器

78137254e2ad5a5bbc332e40700e7f96.png

图20 查看Windows应用系统日志

通过上面的方法如果对于MySQL熟悉的话,还是能获得很多有用的信息,比如启动了那些组件,在什么时候出的错误执行的关闭流程,根据这些信息结合一些MySQL的知识基本就可以知道MySQL出现错误的原因了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值