在Windows上手动安装MySql数据库

不多说什么了,直接上步骤。

注:本文所使用MySql版本为:5.7.17-winx64

1、本文将mysql数据库程序解压在D:\wnmp\mysql目录下;

2、在D:\wnmp\mysql目录下找到my-default.ini文件,复制一份并重新命名为my.ini;

3、用记事本打开my.ini,并修改basedir和datadir两项。

basedir是mysql的安装目录,也就是刚才的解压出来的目录。

datadir顾名思义,是mysql数据存放的位置。注:这个目录在basedir下没有,但是不需要手动创建。

例如:

basedir = D:/wnmp/mysql
datadir = D:/wnmp/mysql/data

4、安装mysql服务

在有管理员权限的命令提示符下,将当前路径切换到mysql安装目录的bin目录下(或者mysqld命令使用全路径名),然后运行:

mysqld --install

如果提示服务安装成功,那就是服务安装完成了。不过现在还不能启动服务,看下面。

说明:当未指定mysql启动加载的配置文件my.ini时,mysql会到这些目录里面去找,先后顺序如下:

C:\ProgramData\MySQL\MySQL Server 5.7\my.ini
C:\windows\my.ini
C:\my.ini
D:\wnmp\mysql\my.ini

5、初始化mysql

运行

mysqld --initialize

来初始化mysql数据库。

6、启动mysql服务

net start mysql

执行这个命令后,如果显示”MySQL 服务正在启动 .MySQL 服务已经启动成功。“那就是成功了。可是root的密码是什么呢?我也不知道,不过我能修改它。

如果提示:系统找不到指定的文件。请查看mysql服务的属性,确认“常规--可执行文件的路径”的路径地址是否正确。一般是没有将当前路径切换到mysql\bin下造成的。

如果提示:MySQL服务无法启动,服务没有报告任何错误。一般来说是安装完服务,并没有初始化。

7、修改root密码

执行

net stop mysql

停掉mysql服务。然后执行

mysqld --skip-grant-tables

这个命令。新开一个命令行窗口,使用

mysql -u root

登录mysql之后运行下列sql命令:

use mysql;
select host,user,authentication_string,password_expired,password_last_changed from user;
update user set authentication_string=password('123456'),password_expired='N',password_last_changed=now() where user='root';
flush privileges;

退出mysql后,在进程管理器杀掉mysqld进程。OK!密码修改完成。

8、后序

重新启动mysql服务,通过验证密码登录。登录之后可以使用下面命令修改密码。

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

另,第7步修改密码的方法亦适用忘记mysql密码后的密码。

9、修改字符集

经过上面的操作,MySql5.7一般是可以使用的,但是你很可能会遇到一个乱码的问题。这个问题是mysql现在使用的字符集的问题。登录mysql后,使用show variables like "%char%";查看字符集也许是下面这个样子。

mysql> show variables like "%char%";
+--------------------------+----------------------------------------+
| Variable_name            | Value                                  |
+--------------------------+----------------------------------------+
| character_set_client     | gbk                                    |
| character_set_connection | gbk                                    |
| character_set_database   | latin1                                 |
| character_set_filesystem | binary                                 |
| character_set_results    | gbk                                    |
| character_set_server     | latin1                                 |
| character_set_system     | utf8                                   |
| character_sets_dir       | D:\Program Files\mysql\share\charsets\ |
+--------------------------+----------------------------------------+

修改字符集需要修改my.ini文件。打开my.ini,在里面加入下面的内容。

# 配置客户端的字符集
default-character-set=utf8

# 配置服务的字符集
character-set-server=utf8

如果my.ini文件中没有客户端的部分,即没有”[mysql]“部分,那么需要在客户端的配置的前面加上[mysql],就像下面一样。

[mysql]
default-character-set=utf8  # 配置客户端字符集

[mysqld]
basedir = "D:\Program Files\mysql"
datadir = "D:\Program Files\mysql\data"
port = 3306
default-storage-engine=INNODB
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 
character-set-server=utf8   # 配置服务端字符集

好了,现在重新启动mysql服务,然后再查看字符集试试。

mysql> show variables like "%char%";
+--------------------------+----------------------------------------+
| Variable_name            | Value                                  |
+--------------------------+----------------------------------------+
| character_set_client     | utf8                                   |
| character_set_connection | utf8                                   |
| character_set_database   | utf8                                   |
| character_set_filesystem | binary                                 |
| character_set_results    | utf8                                   |
| character_set_server     | utf8                                   |
| character_set_system     | utf8                                   |
| character_sets_dir       | D:\Program Files\mysql\share\charsets\ |
+--------------------------+----------------------------------------+

现在再去看看还有没有乱码吧。

转载于:https://my.oschina.net/u/931493/blog/812370

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值