目前的项目涉及到数据库的问题,原先的方案是使用Access数据库,因为数据量不大,界面友好,而且软件使用C#编写,就认为用微软自家的东西会更安全可靠一些。

但是,这几天在学习的过程中才发现Entity Framework竟然不支持Access数据库,而且linq to sql也不支持。但还是希望尽量能用上强大的EF框架。

由于EF6直接支持的是SQL Server数据库,一个是因为收费,另外是感觉大材小用,故而转向MySQL数据库,但是默认情况下是不支持的,但是网上有一些插件可以解决这一问题,下面是解决的简单步骤:

使VS和EF6支持MySQL

1.安装mysql server

进入http://dev.mysql.com/downloads/mysql/下载,可以选择自己需要的版本进行下载

2.安装MySql的VS插件

进入http://dev.mysql.com/downloads/windows/visualstudio/下载mysql数据库的VS插件

3.安装用于.net连接程序

进入http://dev.mysql.com/downloads/connector/下载连接程序,因为我用到的是.net平台,因此选择其中的.net连接程序

4.使用Nuget Packages(Nuget 程序包管理器)安装EF

使用命令 Install-Package EntityFramework

5.可选项安装mySql ef6 支持

Install-Package MySql.Data.Entity.EF6

这个东西在安装connector后就有了。

6.修改app.config(这一步骤在新版本中已经不需要了)

<entityFramework>
    <defaultConnectionFactory type="MySql.Data.Entity.MySqlConnectionFactory, MySql.Data.Entity.EF6" />
    <providers>
      <provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6"></provider> 
      <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
    </providers>
</entityFramework>

MySQL服务的绿色安装

一、MySQL的下载

Mysql官方网站:http://www.mysql.com/,MySQL(GPL版)的下载地址:http://dev.mysql.com/downloads/mysql/。从官方网站可以找到两种文件包,一种是msi安装程序,另一种是zip压缩包。本人喜欢清爽的方式,所以下载的是ZIP压缩包。

二、MySQL的安装

解压出下载的文件mysql-5.6.29-win32.zip(有x86和x64两个版本)到任一目录,防止出现未知问题,最好放在非系统盘的非中文目录下,我的位置C:\Program Files\mysql-5.6.29-win32。打开文件夹复制一份my-default.inimy.ini的配置文件。

打开my.ini文件,相关配置修改如下

# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html
# *** DO NOT EDIT THIS FILE. It's a template which will be copied to the
# *** default location during install, and will be replaced if you
# *** upgrade to a newer version of MySQL.

[mysqld]

# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
 innodb_buffer_pool_size = 128M

# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin

# These are commonly set, remove the # and set as required.
#mysql根目录
 basedir ="C:\Program Files\mysql-5.6.29-win32"
#数据文件存放目录
 datadir ="C:\Program Files\mysql-5.6.29-win32\data"
# port = .....   端口,默认3306
# server_id = .....  服务实例的唯一标识


# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M 

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 
#服务端的编码方式
character-set-server=utf8
[client]
#客户端编码方式,最好和服务端保存一致
loose-default-character-set = utf8

[WinMySQLadmin]  
Server = "C:\Program Files\mysql-5.6.29-win32\bin\mysqld.exe"

上面设置为了保证服务正常运行,根据自己需要调整参数,修改后要重启服务。

三、注册MySQL服务

开始——运行——cmd(以管理员身份运行),然后cd到mysql安装目录的bin下面,我的目录就是C:\Program Files\mysql-5.6.29-win32\bin,然后执行mysqld -install,提示服务安装成功!运行services.msc一看,确实有一个名为MySQL的服务了,启动它。有时启动失败,根据情况调整参数即可。

到这儿mysql安装就算完成了。

四、登录维护MySQL

MySQL的默认用户名是root,密码为空。

怎么登录?还是开始——运行——cmd,cd到bin目录下,然后执行mysql -u root -p,提示输入密码,由于第一次运行,密码为空可以直接回车。

还是给数据库设个密码吧。输入exit退出登录。然后运行C:\Program Files\mysql-5.6.29-win32\bin\mysqladmin -uroot -p password <新密码>,将<新密码>替换为你的自定义密码,然后按回车。这时会提示输入密码,其实是指的原密码,原密码因为是空,所以这里再回车即可完成设置。然后用上面的方法和新密码登入mysql,即可正常工作。

运行show variables like '%version%'查看数据库相关信息

至此,整个数据库的安装完成。

五、开启远程登录

mysql安装完成后默认只能本机(就是localhost)登录, 我们需要开启远程登录才方便使用。开启方法有很多,我说一下其中一个方法:

x:\>mysql -u root -p 密码   //登录系统
mysql> use mysql;       //切换数据库
mysql> update user set host = '%' where user = 'root';  
//上面这句话有时出现一个错误  ERROR 1062 (23000): Duplicate entry '%-root' for key 'PRIMARY'

//不过这时你查询一下user表发现已经更新一条记录了,下面这句话
mysql> select host, user from user;

//直接执行这句,其实就是刷新权限
mysql> flush privileges;

 

 

如果觉得我的文章对你有用,请随意赞赏