欢迎投稿

今日深度:

windows下编译mariadb,windows编译mariadb

windows下编译mariadb,windows编译mariadb


一、     代码编译方式:

源码下载地址:https://downloads.mariadb.org/

windows下编译源码官方文档:https://mariadb.com/kb/en/Building_MariaDB_on_Windows/

 

1. 下载源码后,利用cmake工具生成sln文件。如果cmake的过程中出错,可能是因为cmake路径或者代码路径中有中文,或者cmake没有用管理员打开

2. 用文本编辑器打开./sql/sql_local.cc文件,将文件以utf-8格式保存,注意不要选择将文件转换为utf-8格式

3. 设置msqld工程为启动项

4. 编译msqld工程,注意不要全部编译所有工程,否则会出错,从错误信息看应该是和sql_local.cc文件一样的错误,碍于文件过多,没有进行更改

 利用该方式同样可以正确编译mysql代码

二、     从代码启动工程:

1.右键mysqld工程,选择debug选项,在命令行中填入如下内

-–console

2.Debug->start debugging即可

从代码启动需要一个数据库的安装路径,下载一个对应版本的安装包安装即可。可能存在兼容问题,所以最好是下载代码对应的版本

三、     my.ini文件导致启动失败:

在安装mariadb前安装过mysql,并在windows的目录下创建了my.ini文件记录了mysqld的根目录和数据目录

安装好mariadb后,启动的时候总是报errmsg错误,并且文件路径指向原来安装mysql的路径,因为好久没弄mysql早就忘记了windowsmy.ini的存在,所以各种找,就是找不到原因

最终细看mariadb的文档,发现系统启动的时候需要搜索my.ini文件,搜索顺序如下:

  • GetSystemWindowsDirectory()
  • GetWindowsDirectory()
  • C:\
  • Directory where the executable is located

于是一个一个的找,终于在windows目录下找到了这个文件,改正目录后重新启动mysqldb,启动成功

四、     VS启动mysql的方式:

mysqld.exe --datadir=..\data --console

l  --console应该是命令行启动,不加的话应该会导致以服务方式启动,这样就看不到后台输出了

l  --datadir=..\data指定的应该是mysqld.exe的当前路径的前一个目录,如果这个目录下的data还没有初始化,则去掉就行,使用my.ini中定义的即可

l  因为在编译的时候改变了sql_local.cc的文件格式,导致启动的时候assert挂掉

这个应该是字符集的问题,与调试无关,注释掉挂掉的函数重试,可以启动

l  同时报错,不支持innodb存储引擎

查看vs工程,没有innodb工程,可能是innodb引擎没编进来,用cmake重新生成一下。(这个需要熟悉cmake的使用,不会的同学看看cmake的帮助文档吧^_^), 当然默认是编进来的

l  Innodb没有编进来的原因是我改了innodb下的makelist文件,当时是为了编译xtradb弄得,将这个文件改回去,重新用cmake生成就好了

然后重新打开工程,debug->start debugging 数据库启动成功 ^_^

五、     mysql.exe连接服务器进行简单的测试

mysql.exe连接数据库命令:mysql.exe –uroot –p

l  -uroot 表示以root用户登录 –p表示使用密码

注:root用户和密码是在安装数据库的时候设置的

连接上后运行use test; 切换到test数据库,这个数据库也是在安装的时候建立的

然后就可以进行简单的建表插入操作了

六、     VS调试的时候能定位到指定代码的可能原因:

可以参考:http://blog.sina.com.cn/s/blog_88cbbb730100vew6.html

这篇博客讲了warning C4819的解决消除方式,同时验证了在有该警告时,vs无法定位调试代码行

因为是警告,所以应该不影响编译,但是如果其影响到调试,就应该努力解除该警告。最好的方式就是将文件的格式转为正确的格式,文章中说了可以通过vs一个一个的转。虽然可行,但是如果文件过多,这应该不是一个好方法

 

www.htsjk.Com true http://www.htsjk.com/mariadb/33579.html NewsArticle windows下编译mariadb,windows编译mariadb 一、       代码编译方式: 源码下载地址: https://downloads.mariadb.org/ windows 下编译源码官方文档: https://mariadb.com/kb/en/Building_MariaDB_on_Windows/   1. ...
相关文章
    暂无相关文章
评论暂时关闭