使用MySQL踩过的坑

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

                      

1  MySQL目录sql

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

1、添加环境变量安全

1.      右键计算机选择属性服务器

2 计算机属性函数

 

2.      选择高级系统设置工具

3 系统高级设置测试

 

3.      选择环境变量网站

4 系统环境变量编码

 

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

5 编辑环境变量

 

5.      添加MySQLbin目录

6 添加MySQL环境变量

注意:上面是添加MySQLbin目录,不是覆盖,只须要使用分号(;)把前面的目录隔开就能够了。

2、MySQL服务

 

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

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

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

2. MySQL服务启动

能够直接经过下面2个命令来启动服务

mysqld

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

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

              

7 启动MySQL

 

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

8 mysqld进程

 

接下来就能够直接经过下面的命令直接回车链接MySQL服务了

mysql –u root -p

           

9 链接MySQL服务

   这是由于MySQL非安装版默认有2个用户,一个是root,一个是空(不是null),都是没有密码的。能够经过root用户执行下面的命令来查看:

Select host,user,password from mysql.user

 

                 

10 MySQL默认用户

 

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

   为了安全,仍是为root用户设置一个密码吧,能够经过下面的语句来设置MySQL的密码。

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

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

 

3. 安装MySQL服务

若是以为每一次都要执行命令启动MySQL服务麻烦就能够安装MySQL服务,而后设置自动启动。能够经过下面的命令来安装MySQL服务:

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

   其中mysql是要安装服务的名字。若是出现像下面的状况那么就恭喜你,你踩到坑了,并且仍是天坑。

             

11 启动MySQL服务

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

net start mysql

              

12 使人崩溃的错误

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

              

13 查看服务属性

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

                        

14 服务属性

 

   怎么解决呢?首先先删除原来的服务,而后在咱们的mysqlbin目录下来执行安装服务。

删除服务,能够经过下面的命令来执行

sc delete mysql

mysqld –remove mysql

 

   而后在MySQLbin目录下执行安装服务命令,能够发现一样的命令只是换了一个目录执行就成功了。

               

15 启动MySQL服务成功

3、编码配置

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

show variables like ‘char%’

show variables like ‘char%’

          

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

           

17 配置以后的MySQL编码

 

   若是是安装MySQL服务配置是要在MySQL服务安装以前配置,若是已经安装了想从新配置,关闭服务,删除服务,从新安装就能够了。若是发现数据库中已经有乱码问题了,才从新配置,须要删除数据库从新创建数据库。

4、一些问题的解决方法

   当咱们遇到问题的时候,有时候根本无从下手,由于没有进入程序,因此也得不到应用程序的任何日子,就能够经过Windows的日子中的应用日子来获得一些信息,有时候这些信息是很是有用的。例如,常见的的my.ini编码配置错误的时候出现的错误提示:

18 启动MySQL错误

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

                        

19 启动Windows组件管理器

 

             

20 查看Windows应用系统日志

   经过上面的方法若是对于MySQL熟悉的话,仍是能得到不少有用的信息,好比启动了那些组件,在何时出的错误执行的关闭流程,根据这些信息结合一些MySQL的知识基本就能够知道MySQL出现错误的缘由了。

相关文章
相关标签/搜索