mysql系统服务初始化_MySql服务初始化、安装、启动
///
///安装并开启服务///
public static bool InitAndStartService(string serviceName, string mysqliniPath, string mysqlPath, string mysqlBinPath, stringmysqlDataPath)
{try{
A_InitDataBase(mysqlBinPath);
B_ResetMySqlConfig(mysqliniPath, mysqlPath, mysqlDataPath);
C_InstallService(mysqlBinPath, serviceName, mysqliniPath);
D_StartService(serviceName);
E_SetDefaultPassword(mysqliniPath, api.MySqlPassword);
}catch (Exception ex) { api.logger.addToLog(ex, "InitAndStartService方法出错!"); return false; }return true;
}///
///初始化数据库,如果已经发生过初始化,则不会再初始化,注意,初始化完成后是空密码。///
///
///
public static void A_InitDataBase(stringmysqlBinPath)
{if (!Directory.Exists(api.MysqlDataPath))
{try { Directory.CreateDirectory(api.MysqlDataPath); } catch{ }
}//新建初始数据库
var log = exec.RunCmd(mysqlBinPath, "mysqld --initialize-insecure --console").Trim();//--user=mysql
api.logger.addToLog("A_InitDataBase方法日志:\r\n" +log);
}///
///配置数据库ini文件,在初始化之后,启动服务之前调用。///
public static void B_ResetMySqlConfig(string mysqlIniPath, string mysqlPath, stringmysqlDataPath)
{
IniHelper ini= newIniHelper(mysqlIniPath);
ini.Write("mysqld", "basedir", (mysqlPath + "").TrimEnd('\\'));
ini.Write("mysqld", "datadir", (mysqlDataPath + "").TrimEnd('\\'));
}///
///安装服务,会执行卸载再装。///
public static void C_InstallService(string mysqlBinPath, string serviceName, stringmysqliniPath)
{
exec.RunCmd(mysqlBinPath,string.Format("mysqld.exe -remove {0}", serviceName));var log = exec.RunCmd(mysqlBinPath, string.Format("mysqld.exe -install {0} --defaults-file=\"{1}\"", serviceName, mysqliniPath));
api.logger.addToLog("C_InstallService方法日志:\r\n" +log);
}///
///启动服务///
public static bool D_StartService(stringserviceName)
{//return Cocon90.Lib.Util.Window.Service.ServiceHelper.StartService(serviceName, TimeSpan.FromSeconds(10));//开启服务
try{
ServiceController[] services=ServiceController.GetServices();
ServiceController service= services.Where(p => p.ServiceName ==serviceName).FirstOrDefault();if (service == null) return false;
service.Start();
service.WaitForStatus(ServiceControllerStatus.Running, TimeSpan.FromSeconds(10));return service.Status ==ServiceControllerStatus.Running;
}catch (Exception ex) { api.logger.addToLog(ex, "D_StartService方法出错:"); return false; }
}///
///设置初始密码。将空密码修改为指定密码。///
public static bool E_SetDefaultPassword(string mysqliniPath, stringnewPassword)
{var port =GetDbPort(mysqliniPath);return sql.SetDefaultPassword(port, "", newPassword);
}///
///检测数据库是否存在(或者已初始化过)///
public static bool GetIsDbFileExisted(stringmysqlDataPath)
{return !(!Directory.Exists(mysqlDataPath) || Directory.GetFiles(mysqlDataPath).Length == 0 || !Directory.Exists(Path.Combine(mysqlDataPath, "mysql"))); //检查目录下有无文件,或数据目录下有无mysql文件夹//if (ifNotExistIsInit)//{// //新建初始数据库//string log = exec.RunCmd(mysqlBinPath, "mysqld --initialize-insecure --user=mysql --console").Trim();//if (log.Length > 12)//{// //获得初始密码//initPassword = log.Substring(log.Length - 12, 12);//}//}
}///
///获取当前端口///
public static string GetDbPort(stringmysqlIniPath)
{
IniHelper ini= newIniHelper(mysqlIniPath);return ini.Read("mysqld", "port");
}
mysql系统服务初始化_MySql服务初始化、安装、启动相关推荐
- mysql多实例安装启动_MySQL多实例安装启动
Tips:之前我们的一个实例是mysql3306,我们现在再安装一个mysql3307 1.和之前一样,创建需要的目录文件夹 mkdir -p /data/mysql/mysql3307/{data, ...
- mysql数据库二进制_Mysql数据库简单安装(二进制)
二进制安装: [root@lufengcentos ~]# mkdir /home/lufeng/tools -p [root@lufengcentos ~]# cd /home/lufeng/too ...
- mysql压缩包删除_mysql解压缩方式安装和彻底删除的方法图文详解
一.安装mysql (1)将下载下来的mysql压缩文件解压缩到需要安装mysql的目录中 (2)打开解压后的文件夹,复制default.ini文件并重命名为my.ini,此文件的相关配置为: (3) ...
- mysql 1060指定的服务未安装_Process Exit Code: (1060) 指定的服务未安装
今天一客户说他的SQL 2000无法远程调用.看了半天没找到原因,于是决定重新装下,结果就出了1060,百度了下解决方法贴出来下,呵呵 SQL Server 2000 安装错误,解决方法~ Proc ...
- mysql 1060指定的服务未安装_SQL安装错误 Process Exit Code: (1060) 指定的服务未安装...
错误描述 12:32:50 Process Exit Code: (-1)12:32:53 安装程序配置服务器失败.参考服务器错误日志和 C:\WINDOWS\sqlstp.log 了解更多信息.12 ...
- mysql+在服务中无法启动_MySQL服务初始化后无法启动
添加系统服务 [root@localhost mysql]# cp support-files/mysql.server /etc/rc.d/init.d/mysqld [root@localhost ...
- palapaweb的mysql无法运行_Mysql 服务无法启动 服务没有报告任何错误
今天以zip模式在windows10 64位环境下安装mysql5.7,到最后一步提示mysql服务无法启动. 安装步骤如下: 1.配置环境变量 我的电脑->属性->高级->环境变量 ...
- mysql 初始化_mysql时间初始化
DATE_FORMA T(date, format) 根据格式串format 格式化日期或日期和时间值date,返回结果串. 可用DATE_FORMAT( ) 来格式化DATE 或DATETIME 值 ...
- mysql压缩配置_MySQL压缩版安装配置
mysql-5.7.11默认的配置文件是在mysql/my-default.ini,或者自己建立一个my.ini文件 ----------------------------------------- ...
最新文章
- tradingview Vue
- 密度聚类 DBSCAN python实现
- JAVA中的反射()
- java 登录下线_java web中Listener的实现(实现用户在线统计数量和强制用户下线)...
- 34、JAVA_WEB开发基础之EL表达式和标签
- c语言课程笔记格式,C语言课程学习笔记.docx
- LeetCode 563. 二叉树的坡度(DFS)
- 数字图像处理--引入齐次坐标
- js java用var_Java基础———JavaScript基础知识
- sqlerror.java 1074_java.sql.SQLException: Before start of result set异常
- 3d 自动生成物体_相芯科技首秀SIGGRAPH,3D形象自动生成火了
- cocos2dx标准容器_cocos2dx基础篇(5)——浅析几个重要类
- 【报错】android.database.sqlite.SQLiteException: no such column: id (code 1): , while compiling: select
- ERROR 1045 (28000): Access denied for user ‘root’@’localhost’ (using password: YES) 的解决方案
- 2021创新创业基础(李家华)100分期末考试答案
- pdf签名无效解决办法_我花了一整天测试了20+款PDF工具,进来评评谁是MVP
- Win10电脑时间无法同步解决方法
- 国内外物联网平台大全
- 最新emoji表情代码大全_中老年表情包:微信朋友圈早晨问候语带图片 最新早上好问候语动态图片大全...
- [转]WIN7服务一些优化方法