windows下安装一般分为文件/msi安装文件
本章我们说的是文件行的mysql server 安装
下载地址:https://dev.mysql.com/downloads/mysql/
下载完后,我们将 zip 包解压到相应的目录,这里我将解压后的文件夹放在 C:webmysql-8.0.11 下。
接下来我们需要配置下 MySQL 的配置文件
打开刚刚解压的文件夹 C:webmysql-8.0.11 ,在该文件夹下创建 my.ini 配置文件,编辑 my.ini 配置以下基本信息:
[mysql] # 设置mysql客户端默认字符集 default-character-set=utf8 [mysqld] # 设置3306端口 port=3306 # 设置mysql的安装目录 basedir=C:\Program Files\mysql-8.0.11 # 设置 mysql数据库的数据的存放目录,MySQL 8+ 不需要以下配置,系统自己生成即可,否则有可能报错 # datadir=C:\Program Filesmysql-8.0.11\sqldata # 允许最大连接数 max_connections=20 # 服务端使用的字符集默认为8比特编码的latin1字符集 character-set-server=utf8 # 创建新表时将使用的默认存储引擎 default-storage-engine=INNODB
接下来我们来启动下 MySQL 数据库:
以管理员身份打开 cmd 命令行工具,切换目录:
cd C:webmysql-8.0.11in
初始化数据库
mysqld --initialize --console
此时可能会出现The program can’t start because MSVCP140.dll is missing from your computer (缺少软件导致的)
解决方案https://www.microsoft.com/zh-cn/download/details.aspx?id=48145 下载对应版本安装即可
执行完成后,会输出 root 用户的初始默认密码,如:
... 2018-04-20T02:35:05.464644Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: APWCY5ws&hjQ ...
APWCY5ws&hjQ 就是初始密码,后续登录需要用到,你也可以在登陆后修改密码。
输入以下安装命令:
mysqld install
启动输入以下命令即可:
net start mysql
注意: 在 5.7 需要初始化 data 目录:
cd C:webmysql-8.0.11in mysqld --initialize-insecure
初始化后再运行 net start mysql 即可启动 mysql。
登录 MySQL
当 MySQL 服务已经运行时, 我们可以通过 MySQL 自带的客户端工具登录到 MySQL 数据库中, 首先打开命令提示符, 输入以下格式的命名:
mysql -h 主机名 -u 用户名 -p
参数说明:
- -h : 指定客户端所要登录的 MySQL 主机名, 登录本机(localhost 或 127.0.0.1)该参数可以省略;
- -u : 登录的用户名;
- -p : 告诉服务器将会使用一个密码来登录, 如果所要登录的用户名密码为空, 可以忽略此选项。
如果我们要登录本机的 MySQL 数据库,只需要输入以下命令即可:
mysql -u root -p
按回车确认, 如果安装正确且 MySQL 正在运行, 会得到以下响应:
Enter password:
若密码存在, 输入密码登录, 不存在则直接按回车登录。登录成功后你将会看到 Welcome to the MySQL monitor... 的提示语。
然后命令提示符会一直以 mysq> 加一个闪烁的光标等待命令的输入, 输入 exit 或 quit 退出登录
数据库创建完毕
首次登录后会出如下问题:
show databases;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
需要修改密码:
alter user 'root'@'localhost' identified by '123456789!';
mysql8 授权远程登陆
常规授权方式对mysql8不起作用原因是:新版本将创建账户和赋权分开操作了
创建账户:create user '用户名'@'访问主机' identified by '密码';
create user 'test'@'%' identified by '123456789';
赋予权限:grant 权限列表 on 数据库 to '用户名'@'访问主机' ;(修改权限时在后面加with grant option)
grant all privileges on *.* to 'test'@'%' with grant option;
FLUSH PRIVILEGES;
以上远程授权成功
navicate连接MySQL出现报错client does not support authentication protocol requested by server consider ...
ALTER USER 'test'@'%' IDENTIFIED WITH mysql_native_password BY 'test'; FLUSH PRIVILEGES;
其中password需要改成你自己的密码,大概原因是MySQL8.0的加密方式改变了,但是比较老版本的navicate没有来得及支持,因此需要将mysql设置为支持传统的那种密码加密,如果用比较低版本的MySQL,比如MySQL57应该就不会出现这种问题
参考资料:
mysql安装:http://www.runoob.com/mysql/mysql-install.html
mysql授权登陆:https://blog.csdn.net/li_0891/article/details/80915780
mysql客户端链接:https://blog.csdn.net/m_amazing/article/details/84313789