安装完 mysql 5.7.31
创建了文件 my.ini文件
[mysqld]
井号 port
port=3306
井号 set basedir to your installation path
basedir=C:\Program Files\mysql-5.7.31-winx64
井号 set datadir to the location of your data directory
datadir=C:\Program Files\mysql-5.7.31-winx64\data
运行mysql 时报错
输入: "C:\Program Files\mysql-5.7.31-winx64\bin\mysqld.exe" --initialize-insecure
我有两台笔记本 都是联想 win系统 第一台win10运行 成功了 然后 运行第二台win11的时候 发生了这个事情
两台电脑 vcredist 和 dirctx 最新补丁都有安装 都是同样的
原因
使用的普通用户权限执行的这个命令,而且普通用户路径带中文
解决方法
使用admin管理员权限在cmd窗口来执行这个命令
1、以管理员权限打开cmd窗口
搜索框输入cmd
,点击命令提示符
,不要点击打开,而是 点击右侧的第二个以管理员方式运行
2、弹出的管理员的cmd窗口路径如下所示
3、cmd窗口执行以下命令
"C:\Program Files\mysql-5.7.31-winx64\bin\mysqld.exe" --initialize-insecure
如有问题及时沟通
直接用Navicat连接mysql不就行了。
权限问题,手动创建一下这个文件夹。
用管理员权限进入
先进入到bin目录
C:\Program Files\mysql-5.7.31-winx64\bin
执行
mysqld --initialize-insecure
```
换个数据盘目录安装呢,在c盘普通用户可能权限不够
以管理员身份运行cmd,然后再进行操作。
basedir=C:\Program Files\mysql-5.7.31-winx64
datadir=C:\Program Files\mysql-5.7.31-winx64\data
建立文件夹的权限不够,楼主可以预先建好文件夹,或者管理员身份登录系统或者管理员身份运行CMD,再执行命令
板本低。代码有问题。从新检查板本和代码。
你这是用的mysql压缩版安装的,比较麻烦。建议使用安装板版的,省事,方便部署。
1、确保CMD命令提示符是用管理员身份运行
2、cd 到mysql所在的bin目录下如:cd mysql-8.0.25-winx64\bin;(8.0.25版本)
3、在mysql-8.0.25-winx64创建一个my.ini配置文件,可以(新建txt方式,将下列代码复制上去再保存,修改文件后缀名为ini)
[client]
port=3306
[mysql]
no-beep
# default-character-set=
[mysqld]
port=3306
# mysql根目录
basedir="C:\mysql-8.0.25-winx64"
# 放所有数据库的data目录
datadir=C:\mysql-8.0.25-winx64\data
# character-set-server=
# 默认存储引擎innoDB
default-storage-engine=INNODB
# Set the SQL mode to strict
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
#日志输出为文件
log-output=FILE
# 是否开启sql执行结果记录,必须要设置general_log_file参数,日志的路径地址
# 即日志跟踪,1为开启,0为关闭
general-log=0
general_log_file="execute_sql_result.log"
# 配置慢查询,5.7版本默认为1
slow-query-log=1
slow_query_log_file="user-slow.log"
long_query_time=10
#默认不开启二进制日志
#log-bin=mysql-log
#错误信息文件设置,会将错误信息放在data/mysql.err文件下
log-error=mysql.err
# Server Id.数据库服务器id,这个id用来在主从服务器中标记唯一mysql服务器
server-id=1
#lower_case_table_names: 此参数不可以动态修改,必须重启数据库
#lower_case_table_names = 1 ?表名存储在磁盘是小写的,但是比较的时候是不区分大小写
#lower_case_table_names=0 ?表名存储为给定的大小和比较是区分大小写的?
#lower_case_table_names=2, 表名存储为给定的大小写但是比较的时候是小写的
lower_case_table_names=1
# 最大连接数
max_connections=200
# 打开表的最大缓存数
table_open_cache=2000
# tmp_table_size 控制内存临时表的最大值,超过限值后就往硬盘写,写的位置由变量 tmpdir 决定
tmp_table_size=16M
# 每建立一个连接,都需要一个线程来与之匹配,此参数用来缓存空闲的线程,以至不被销毁,
# 如果线程缓存中有空闲线程,这时候如果建立新连接,MYSQL就会很快的响应连接请求。
# 最大缓存线程数量
thread_cache_size=10
4、执行mysqld --initialize; (此时不会有任何提示,会生产data文件夹)
5、在执行mysqld --initialize命令后未生成data文件夹,再执行mysqld --no-defaults --initialize; (此时会生产data文件夹)
都是权限的问题,搜一下就好了,win11我也没用过,可能不合适,就跟以前我用win也不行
这是mysql5.7的安装包以及vc库,ndp4.5
链接:https://pan.baidu.com/s/1m2GzCjfW8kjcH6Jkhl6rwA?pwd=425a
这是我写的mysql安装文档。
链接:https://pan.baidu.com/s/1YkxbTGCyV6FwVkHRk1MXhg?pwd=p1fz
你可以照着再做一遍,有可能是你需要获取管理员权限,才能在C盘创建文件夹,
我的文档里都有写怎么获取管理员权限,你可以看看。
你的采纳就是对我最大的动力,谢谢!!!