mysql8非安装zip包在windows10无管理员权限下的配置与桌面运行

mysql8非安装zip包在windows10无管理员权限下的配置与桌面运行

mysql8手工配置步骤

1-从官网下载zip包
https://dev.mysql.com/downloads/mysql/
选择Windows (x86, 64-bit), ZIP Archive,得到:mysql-8.0.??-winx64.zip
版本MySQL Community Server - GPL.

2-解压到某目录,如:D:\MySQL\mysql8x64
win10以下版本系统,需要网上查找下载vcruntime140_1.dll ,并复制到\bin目录。

3-在安装目录下,建立my.ini:
########################################################################
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8

[mysqld]
#skip-name-resolve
skip-log-bin
#user=mysql
default_authentication_plugin=mysql_native_password
# 设置3306端口
port = 3306 
# 设置mysql的安装目录
# 桌面用户以console方式启动可以用相对路径,service方式因为用system账号启动,它的起点目录是c:\system32,又没有执行cd XXX,需要用下行绝对路径。
basedir=..
#basedir=D:\MySQL\mysql8x64
# 设置mysql数据库的数据的存放目录
# 桌面用户以console方式启动可以用相对路径,service方式因为用system账号启动,它的起点目录是c:\system32,又没有执行cd XXX,需要用下行绝对路径。
datadir=..\data
#datadir=D:\MySQL\mysql8x64\data
# 允许最大连接数
max_connections=1500
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
innodb_buffer_pool_size=3072M
wait_timeout=100
interactive_timeout=300
thread_cache_size=100
default-time_zone = '+8:00'
long_query_time = 40
slow_query_log = 'ON'
#下面这个不要用绝对路径,会存于当前目录且名称变为"data slow.log"
slow_query_log_file = slow.log
##短文件名slow.log是基于data目录的,mysql8会拼出:D:\MySQL\mysql8x64\data\slow.log。
##slow_query_log_file = data\slow.log ##画蛇添足,mysql8会拼出:D:\MySQL\mysql8x64\data\data slow.log。##

[client]
default-character-set=utf8
########################################################################
为了创建以管理员身份运行时的配置,上面这个my.ini文件另存为 my-adm.ini文件,
并将“basedir=..”行前面加注释变成:“#basedir=..”。它的下行去掉注释变成采用绝对路径:
basedir=D:\MySQL\mysql8x64
如果你的目录不同于上,请改成你的目录。
同理将 datadir=.. 行注释,它的下行去掉注释变成采用绝对路径:
datadir=D:\MySQL\mysql8x64\data
如果你的目录不同于上,请改成你的目录。

4-建立启动批处理文件:D:\MySQL\mysql8x64\runmysql.bat
########################################################################
@echo off

set myini=%cd%\my.ini
cd bin
set path=%cd%
mysqld "--defaults-file=%myini%" --console

pause
########################################################################

可以点击runmysql.bat,初步试运行。显示:
=================
2022-01-14T02:14:40.152732Z 0 [System] [MY-010116] [Server] D:\MySQL\mysql8x64\bin\mysqld.exe (mysqld 8.0.20) starting as process 19412
2022-01-14T02:14:40.171580Z 0 [Warning] [MY-013242] [Server] --character-set-server: 'utf8' is currently an alias for the character set UTF8MB3, but will be an alias for UTF8MB4 in a future release. Please consider using UTF8MB4 in order to be unambiguous.
2022-01-14T02:14:40.173204Z 0 [Warning] [MY-010091] [Server] Can't create test file D:\MySQL\mysql8x64\data\mysqld_tmp_file_case_insensitive_test.lower-test
2022-01-14T02:14:40.173362Z 0 [Warning] [MY-010091] [Server] Can't create test file D:\MySQL\mysql8x64\data\mysqld_tmp_file_case_insensitive_test.lower-test
2022-01-14T02:14:40.173693Z 0 [ERROR] [MY-013276] [Server] Failed to set datadir to 'D:\MySQL\mysql8x64\bin\..\data\' (OS errno: 2 - No such file or directory)
2022-01-14T02:14:40.193331Z 0 [ERROR] [MY-010119] [Server] Aborting
2022-01-14T02:14:40.193758Z 0 [System] [MY-010910] [Server] D:\MySQL\mysql8x64\bin\mysqld.exe: Shutdown complete (mysqld 8.0.20)  MySQL Community Server - GPL.
请按任意键继续. . .
=================

是因为没有初始化,没建立 data目录及系统数据。
5-据网上介绍,mysql8需要执行初始化脚本:
dos命令文件:D:\MySQL\mysql8x64\init-mysql.cmd,内容如下:
########################################################################
set myini=%cd%\my.ini
cd bin
set path=%cd%
mysqld "--defaults-file=%myini%" --initialize-insecure
pause
########################################################################

运行init-mysql.cmd,执行初始化没报错,在data目录生成了许多数据相关文件。请注意带“-insecure”参数初始化,root的密码是空白(没有密码),可以在后面服务启动后通过mysql控制台或者数据库管理工具进行更改(请参考网上其它文章)。

6-再运行runmysql.bat,无意外的话将能正常运行

以上为windows10中,无管理员权限的普通用户也能执行的操作。无管理员权限的普通用户只能运行于console模式,即桌面运行模式,通常在开发机工作站上可以这样做。

若要在服务器部署成服务,需要管理员权限。如果你的电脑是私人的电脑(有管理员权限),也可以在自己的电脑上试验。下面的内容讲服务安装与启动。

7-安装服务
dos命令文件:D:\MySQL\mysql8x64\mysql-service-install.cmd,内容如下:
########################################################################
rem CHCP 65001
rem 请以系统管理员身份运行本文件
set myini=D:\MySQL\mysql8x64\my-adm.ini
D:
cd D:\MySQL\mysql8x64\bin
mysqld --install mysqlsvc --defaults-file=%myini%
echo install service done.
pause
########################################################################
注意上面使用的配置文件是my-adm.ini,执行时要以管理员身份来执行此命令。

上面注册的服务名称是“mysqlsvc”,你可以改成自己想要的名称。

8-移除服务
dos命令文件:D:\MySQL\mysql8x64\mysql-service-remove.cmd,内容如下:
########################################################################
rem CHCP 65001
rem 请以系统管理员身份运行本文件
D:
cd D:\MySQL\mysql8x64\bin
mysqld --remove mysqlsvc 
echo remove service done.
pause
########################################################################
第3行“D:",因为管理员的home是c:\system32,所以先改变盘符(假设安装目录是D:\MySQL\mysql8x64,其它目录适当更改)。
第4行 "cd D:\MySQL\mysql8x64\bin",作用是跳到mysql的bin目录。
注意执行时切以管理员身份来执行此命令。

9-通过dos命令启动服务
dos命令文件:D:\MySQL\mysql8x64\start-mysql-service.cmd,内容如下:
########################################################################
rem CHCP 65001
rem 请以系统管理员身份运行本文件
net start mysqlsvc
pause
########################################################################
注意执行时切以管理员身份来执行此命令。当然也可以在服务管理器上执行。

小结:安装服务后,启动时失败的原因,多数是没注意管理员账号的dos起始位置是home,服务中不允许执行一段cd命令跳到安装目录,因此,要在安装服务时要带入mysql的配置文件参数,且要求配置文件中的“basedir”与"datadir"采用绝对路径。至于桌面运行,建议配置文件中这两个变量采用相当路径,这样,复制到其它位置就无需修改了,真正做绿色无公害。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值