【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>
首先从MySQL官方网站下载MySQL,我选择的是5.6的非安装版本,是在Windows系统系,MySQL下载地址。然后解压到你想要的目录,把my-default.ini拷贝一份重命名为my.ini这个是MySQL服务启动时默认读取的配置文件。如下图所示:
图1 MySQL目录
为了方便,把MySQL的bin目录加入到path环境变量中,当在程序在搜索可执行程序的时候会搜索path指定的目录。我们就可以直接像这样mysql –u root –p执行命令,而不用像D:\db\mysql\mysql-5.6.31-winx64\bin\mysql –u root –p这样来执行命令。
一、添加环境变量
1. 右键计算机选择属性
图2 计算机属性
2. 选择高级系统设置
图3 系统高级设置
3. 选择环境变量
图4 系统环境变量
4. 选择Path变量,单击编辑按钮
图5 编辑环境变量
5. 添加MySQL的bin目录
图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服务的。如果启动成功就会看到如下图所示的界面:
图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列表示可以连接的主机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是要安装服务的名字。如果出现像下面的情况那么就恭喜你,你踩到坑了,而且还是天坑。
图11 启动MySQL服务
诶,不是明明提示Service successfully installed吗?就算我这英语渣渣也是知道提示我服务安装成功了啊。下面我们来尝试启动一下MySQL服务,执行命令。
net start mysql
图12 令人崩溃的错误
发生了系统错误2,系统找不到指定文件。那画面太美我不敢看,人与电脑最基本的信任呢?这究竟是道德的沦丧,还是系统的扭曲。嗯,我们还是来看一下我们安装的服务吧。执行services.msc命令打开service服务查看窗口找到我们安装的mysql服务,右键选择属性。
图13 查看服务属性
发现安装的mysql服务的可执行文件根本就不是我们的MySQL的bin目录下的mysqld服务啊,这是什么鬼。
图14 服务属性
怎么解决呢?首先先删除原来的服务,然后在我们的mysql的bin目录下来执行安装服务。
删除服务,可以通过下面的命令来执行
sc delete mysql
mysqld –remove mysql
然后在MySQL的bin目录下执行安装服务命令,可以发现同样的命令只是换了一个目录执行就成功了。
图15 启动MySQL服务成功
三、编码配置
在刚刚开始使用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服务安装之前配置,如果已经安装了想重新配置,关闭服务,删除服务,重新安装就可以了。如果发现数据库中已经有乱码问题了,才重新配置,需要删除数据库重新建立数据库。
四、一些问题的解决方法
当我们遇到问题的时候,有时候根本无从下手,因为没有进入程序,所以也得不到应用程序的任何日子,就可以通过Windows的日子中的应用日子来得到一些信息,有时候这些信息是非常有用的。例如,常见的的my.ini编码配置错误的时候出现的错误提示:
图18 启动MySQL错误
通过一般的信息可能不是很清楚发生了什么,就可以执行win+R 然后输入compmgmt.msc,然后回车确定打开Windows的组件管理器。
图19 启动Windows组件管理器
图20 查看Windows应用系统日志
通过上面的方法如果对于MySQL熟悉的话,还是能获得很多有用的信息,比如启动了那些组件,在什么时候出的错误执行的关闭流程,根据这些信息结合一些MySQL的知识基本就可以知道MySQL出现错误的原因了。
来源:oschina
链接:https://my.oschina.net/u/2474629/blog/713585