为了安装MySQL的家人们走弯路,稍微有些啰嗦,讲述我安装的时遇到的问题,如何解决。仔细看看离成功不远。
mysql下载链接
MySQL :: Download MySQL Community Server
windows下安装mysql-8.0.29-winx64,下载安装包后解压到文件夹中。并在解压的目录新建立一个my.ini配置文件和一个data文件夹。
my.ini文件内容如下:
[mysqld]
# 安装目录
basedir = D:\\software\\MySQL\\mysql-8.4.0-winx64
# 数据库保存目录
datadir = D:\\software\\MySQL\\mysql-8.4.0-winx64\\data
# 端口号
port = 3306
#socket=/tmp/mysql.sock
# key缓存
key_buffer_size=16M
# 接受的数据包的大小,在使用客户端备份还原的时候可能用到
max_allowed_packet=128M
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 错误日志,临时密码生成也在这里
log-error=error.log
# 编码
character-set-server = utf8mb4
collation_server = utf8mb4_general_ci
#default_authentication_plugin=mysql_native_password
sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION'
# 下面是默认的sql_mode
#sql_mode='ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION'
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set = utf8mb4
[mysqldump]
quick
[mysqladmin]
force
-----------------------------------------------------------------------------------------------------------------------
保存
以管理员身份打开cmd窗口(提示如果不使用管理员身份,在安装时可能出现拒绝安装提示)
按键盘快捷键"win + R",输入“cmd”,再按快捷键“ctrl+shift+enter”,出来的cmd窗口就已经是管理员身份了
进入到mysql的bin文件,输入 mysqld --initialize,可能会出现This application requires Visual Studio 2019 x64Redistributable, Please install the Redistributable 或者是mysqld.exe 系统错误 丢失CERUNTIME140_1.dll。
解决问题:根据你电脑提示问题去微软下载对应的版本,链接如下:
Latest supported Visual C++ Redistributable downloads | Microsoft Learn
因为我安装时出现的是2019 x64Redistributable缺失问题,去官网找到对应的版本下载,需要登录账号,没有可以免费创建。如果觉得费事,可以去网上找人分享的安装包。
Visual Studio 旧版下载 - 2019、2017、2015
初始化:mysqld --initialize
这下可以初始化了,出现这个问题Can't crate directory'目录'(OS errno 2 - No such file or directory),是因为my.ini文件的目录斜杠问题。当初我写的是basedir = D:\software\MySQL\mysql-8.4.0-winx64,basedir = D:/software/MySQL/mysql-8.4.0-winx64两种会出现上述问题。修改为两个反斜杠就可以解决了。
问题解决后可以初始化mysqld --initialize,初始化后data文件下会有一个errer.log文件,初始密码就在里面。
配置下mysql环境变量
系统变量path配置mysql的安装bin目录
安装MySQL服务
自动:mysqld --install
手动:mysqld --install-manual
移除:mysqld --remove 服务名
这个是我没有使用出现使用管理员身份运行的提示报错,换成管理员后成功安装。
然后启动服务
启动服务 net start mysql
关闭服务 net stop mysql
mysql8就安装完成了,接下来登录并修改密码
使用初始化时生成的临时密码登录
使用命令
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root_password';
出现以下报错
使用命令
alter user root@'localhost' identified by 'root_password';
根据自己的实际情况选用命令。
图形化工具连接数据库
用命令SHOW DATABASES;
列出所有数据库
原来想要连接到MySQL的默认数据库,通常它的名字是mysql
而不是root
。
完成了,有什么问题欢迎到评论区讨论。