mysql本地安装(windows)
一、安装包下载
从官网下载安装包,地址:https://dev.mysql.com/downloads/mysql/
二、配置
- 解压到本地,然后在目录下新建my.ini文件,如下:
my.ini中内容如下:
[mysql] # 设置mysql客户端默认字符集 default-character-set=utf8 [mysqld] # 设置3306端口 port = 3306 # 设置mysql的安装目录 basedir=D:webmysql-8.0.11 # 设置 mysql数据库的数据的存放目录,MySQL 8+ 不需要以下配置,系统自己生成即可,否则有可能报错 # datadir=C:\web\sqldata # 允许最大连接数 max_connections=20 # 服务端使用的字符集默认为8比特编码的latin1字符集 character-set-server=utf8 # 创建新表时将使用的默认存储引擎 default-storage-engine=INNODB
- 配置环境变量
- 数据库初始化
mysqld --initialize --console
执行完成后,会输出root 用户的初始化密码,如下:
... 2018-12-20T02:35:05.464644Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: APWCY5ws&hjQ ...
APWCY5ws&hjQ 就是初始密码,后续登录需要用到,你也可以在登录后修改密码。
- 安装数据库
mysqld install
- 修改root用户密码
用初始化root密码登录之后,执行以下命令进行更改root密码:
alter user user() identified by "123456"; --123456为更改之后的root密码
三、启动数据库服务
以上配置完成后,在命令窗口中即可查看mysql版本,通过以下命令:
mysql -V
启动mysql:
net start mysql
停止数据库:
net stop mysql
四、问题处理
1、解决客户端连接mysql报1251错误的问题
原因分析:
mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password;
解决方案:
1、升级客户端驱动;
2、将mysql用户密码的加密规则修改为mysql_native_password。
这里选择第二种:
- 用root账号登录mysql,修改更新用户密码:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
- 刷新权限
FLUSH PRIVILEGES; #刷新权限
2、忘记root 密码以及修改 root 密码解决办法
1)、关闭mysql 服务
net stop mysql
2)、管理员权限打开DOS窗口,转到 mysqlin 目录下;
3)、输入以下命令,跳过权限表认证:
mysqld --console --skip-grant-tables --shared-memory
4)、再打开一个 DOS 窗口,输入 mysql 进入;
5)、输入以下命令,将 authentication_string 置空:
update user set authentication_string='' where user='root';
6)、修改密码:
alter user 'root'@'localhost' identified by 'newpass'; -- newpass 新密码
7)、刷新权限(必须)
flush privileges;
退出,重新用新密码进入。