首先说明,mysql 8的安装不同与mysql5.x。
做程序的朋友都知道,程序好做,客户难伺候,因为限于用户的情况,如何能让用户把程序运行起来很关键,比如日前我在做 山东高中信息技术 学考 考前练习 系统时,就遇到如何让老师随时找台机器就能用的问题。实质上就是Blazor 程序的免安装版问题。此处先写数据库的解决方法。
所以我们需要准备一个随意迁移到别的机器的mysql程序(含数据库)。
系统的是用Blazor写的,数据库是Mysql,咱们都知道mysql 的安装包都成了英文,所以根本不能指望老师们使用前 自己安装。所以mysql免安装版成了我的救命稻草。
1、下载社区版:下载地址:MySQL :: Download MySQL Community Server
2、解压到MysqlInstall文件夹 mysql的文件见改为“Mysql80” ,我们就获得了一个包含空数据库的mysql 程序,我们需要进行相应的初始化
为了方便移植到别的机器,我们让数据库文件放在“Mysql80” 的data文件夹中
下面是我们准备 方便移植的MySQL数据库的过程
1)执行下面代码 重写mysql 的配置文件my.ini,并一控制台模式启动数据库(--console参数的作用)安装程序
@echo off
del %~dp0\mysql80\my.ini
(
echo [mysql]
echo default-character-set=utf8mb4
echo [mysqld]
echo basedir=%~dp0\mysql80
echo datadir=%~dp0\mysql80\data
echo port=3306
echo max_connections=200
echo character-set-server=utf8mb4
echo default-storage-engine=INNODB
) > %~dp0\mysql80\my.ini
%mysql_path%\bin\mysqld.exe --initialize --user=mysql --console
2、此时进入控制台安装模式,之所以用控制台模式,是因为 mysql8的安全型要求提高了,在安装的时候是系统强制自动生成一个随机密码作为初始密码,控制台下更方便继续下面的步骤,并要求用户登录
3、修改root 密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
4、创建数据库并导入sql文件
-- 创建数据库
CREATE DATABASE InfoExam;
-- 打开数据库
Use InfoExam;
-- 导入sql文件
source result.sql ;
5、这样数据库就创建好了,可以把它随意拷贝到其他机器上使用了
6、当我们把MySqlInstall 文件夹复制到其他机器上时,要想启用数据库就执行下面脚本,保存为bat文件
@echo off
del %~dp0\mysql80\my.ini
(
echo [mysql]
echo default-character-set=utf8mb4
echo [mysqld]
echo basedir=%~dp0\mysql80
echo datadir=%~dp0\mysql80\data
echo port=3306
echo max_connections=200
echo character-set-server=utf8mb4
echo default-storage-engine=INNODB
) > %~dp0\mysql80\my.ini
rem 进入 MySQL 的 bin 目录并启动 MySQL 服务
cd /d %~dp0\mysql80\bin
mysqld --console
这样mysql 就会被以控制台方式运行