build MYSQL source code Using visual studio 2017

时间:2023-03-08 21:21:27

https://dev.mysql.com/doc/refman/8.0/en/installing-source-distribution.html

xiaai cmake-3.15.6-win64-x64.msi

https://cmake.org/download/

XIAZAI https://slproweb.com/products/Win32OpenSSL.html   WIN64 版本

安装 \OpenSSL-Win64到PATH D:\mysqlsource\mysql-server-8.0_2\mysql-server-8.0\cmake\OpenSSL-Win64

设置环境变量 OPENSSL_ROOT_DIR: D:\mysqlsource\mysql-server-8.0_2\mysql-server-8.0\cmake\OpenSSL-Win64

下载 安装 BISON 安装 路径 C:\GnuWin32 ,C:\GnuWin32\bin 添加至   环境 变量 PATH

https://sourceforge.net/projects/gnuwin32/files/bison/2.4.1/bison-2.4.1-setup.exe/download?use_mirror=nchc

开启 vs 2015 DEVELOPER CMD

CD D:\mysqlsource\mysql-server-8.0_2\mysql-server-8.0\cmake

cmake .. -G "Visual Studio 14 2015 Win64" -DDOWNLOAD_BOOST=1  -DWITH_BOOST=boostdir -DOPENSSL_ROOT_DIR=OpenSSL-Win64 -DOPENSSL_LIBRARIES=OpenSSL-Win64/lib

--defaults-extra-file=D:\mysqlsource\mysql-server-8.0\mysql-server-8.0\bld\sql\my.ini --user=mysql --datadir=D:\mysqlsource\mysql-server-8.0\mysql-server-8.0\bld\sql\data

CD D:\mysqlsource\mysql-server-8.0_2\mysql-server-8.0\cmake\runtime_output_directory\Debug

mysqld --initialize-insecure

mysqld  -u root --port=33066


https://dev.mysql.com/doc/refman/8.0/en/connecting.html

mysql --host=localhost --user=myname --password=password mydb

mysql --host=remote.example.com --port=13306

以特定的port启东MYSQL

mysqld --initialize-insecure

mysqld  -u root --port=33066

D:\mysqlsource\mysql-server-8.0\mysql-server-8.0\bld\runtime_output_directory\Debug\mysql --host=localhost --user=root --password   --port=33066

How can you find out which process is listening on a port on Windows?

netstat -a -b

https://www.cloudinsidr.com/content/how-to-install-the-most-recent-version-of-openssl-on-windows-10-in-64-bit/

https://slproweb.com/products/Win32OpenSSL.html

It is a common misunderstanding: CMake does not need environment variables to know where the library and include dir are but CMake variables.

Since CMake can not find your OpenSSL lib and include directory, you will have to manually tell him where they are with its command line when you call it. Use the option -D to set constants in CMake from the command line. You will need to set the constants OPENSSL_ROOT_DIR and OPENSSL_LIBRARIES since they are the one triggering the error.

cmake -DOPENSSL_ROOT_DIR=/usr/local/ssl -DOPENSSL_LIBRARIES=/usr/local/ssl/lib

如何在本地调试mysqlY源码
1,cd
D:\mysqlsource\mysql-server-8.0\mysql-server-8.0\bld\runtime_output_directory\Debug
2, start command by :mysqld -u root --port=33066 --datadir=D:\mysqlsource\mysql-server-8.0\mysql-server-8.0\bld\sql\data
3 OPEN VS AND ATTACH THE PROCESS mysqld 4,OPEN new COMMAND AND TYPE : mysql --host=localhost --user=root  --port=33066
4,show databases;