Mysql 5.7.12解压版的安装及配置系统编码

时间:2022-04-14 05:16:40

这篇博文是由于上篇EF+MySql博文引发的,上篇博文中在Seed方法中插入中文数据到Mysql数据库中乱码,后来网上找了N种方法也没解决.
重装了MySql并在安装过程中配置了系统编码,此篇记录一下.

一.下载Mysql对应版本的Zip(我这里是mysql-5.7.12-winx64.zip)文件

a.解压后把文件复制到需要放的安装目录文件下.(ps:我的路径是D:\Program Files\MySql 5.7.12\bin)
  b.复制bin目录下的my-default.ini文件改名为my.ini
  c.在[mysqld]节点下添加:character-set-server=utf8
    在sql_mode..后添加:
    [client]
    default-character-set=utf8
  修改好保存.注意这里是utf8不是utf-8;

二.命令行安装(管理员权限打开CMD窗口)

然后管理员身份打开CMD窗口.
定位到刚才所放的目录下的bin目录:

C:\WINDOWS\system32> D:
D:\> cd D:\"Program Files\MySql 5.7.12" //这种方式一次可以打多个目录 不用""包含的话 可以逐级cd命令进入指定的文件夹
D:\Program Files\MySql 5.7.12\bin>mysqld install //安装命令
Service successfully installed.
D:\Program Files\MySql 5.7.12\bin>mysqld.exe --defaults-file="D:\Program Files\MySql 5.7.12\my.ini" --initialize --explicit_defaults_for_timestamp
//这个命令要注意运行后界面上没有任何状态 可以按下回车回到命令状态 接着启动Mysql
D:\Program Files\MySql 5.7.12\bin>net start mysql
MySQL 服务正在启动 .
MySQL 服务已经启动成功。

三.配置MySql

接着该是登录Mysql了 要注意的是此时已经生成了默认密码 要使用这个默认密码才能登录
这个密码在data目录下(也就是my.ini配置的datadir目录)的日志文件中,文件名为你的计算机名.err.(如我的电脑名为summit,这个文件名为summit.err)
用记事本或vs code或其他编辑器打开 Ctrl+F 搜索关键词password:
找到这行:

[Note] A temporary password is generated for root@localhost: 0WtXF!a(rg*e  

0WtXF!a(rg*e就是默认密码.
接着回到CMD窗口来 在刚才的那个bin目录下执行mysql -u root -p命令,输入刚才的密码:

D:\Program Files\MySql 5.7.12\bin>mysql -u root -p
Enter password: ************
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 5
Server version: 5.7.12

想要修改密码的话接着操作:

mysql> set password=password('123456');
Query OK, 0 rows affected, 1 warning (0.00 sec)

用新设置的密码123456登录成功.这个时候查看下系统编码是不是一开始设置的utf8:

show variables like 'char%';

至此.MySql算是搞定了.当然还有就是把mysql的路径加入Path系统变量没说.
不过你既然能看到我这篇文章我相信你肯定也会加系统变量,这个就不多说了.

四.打开/启动MySql

使用安装版的话安装完了自动创建了快捷方式,解压版的没这个功能.直接打开mysql.exe cmd窗口会一闪而过,并不能打开mysql.
so 我们要自己创建快捷方式.方式如下:
a.找到mysql.exe右键发送到桌面快捷方式
b.在这个快捷方式上右键属性
c.在"目标"/"目标位置"这个地址后加启动参数 -u root -p 保存下即可.
d.双击运行会直接提示输入密码,界面就跟安装版的一毛一样了.
e.如果强迫症犯了看着默认图标不爽怎么办? 很幸运我就强迫症犯了,跑到mysql官网把官网mysql logo扒了下来替换掉了 :)

接着用上篇博文EF code first + Mysql 方式插入了中文数据到数据库中.
数据显示正常了.
NND,终于不乱码了...