重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
1、在MySQL数据库安装时选择过MySQL服务器随系统启动,但如果没有选择,也没关系,可以在可以在Windows服务管理器启动,具体在开始菜单搜索services.msc,
创新互联建站制作网站网页找三站合一网站制作公司,专注于网页设计,做网站、成都网站制作,网站设计,企业网站搭建,网站开发,建网站业务,680元做网站,已为成百上千家服务,创新互联建站网站建设将一如既往的为我们的客户提供最优质的网站建设、网络营销推广服务!
2、单击出现如下图窗口,下滑鼠标找到MySQL57:
3、右击后点击启动,MySQL57旁边状态列显示“已启动”字样,说明启动成功。如下图:
二、 登录MySQL数据库
4、 用系统命令行工具登录,点击开始菜单,找到附件,点击命令提示符。
5、在命令行中输入cd加空格然后粘贴bin路径:cd c:\Program Files (x86)\MySQL\MySQL Server 5.7\bin 回车命令行定位到c:\Program Files (x86)\MySQL\MySQL Server 5.7\bin,在后面输入mysql –h localhost –u root –p(这些都是安装时设置好的)敲回车,
6、出现Enter password:在后面输入安装时设置的登录密码,按回车后出现Welcome to the MySQL monitor.说明登陆成功。如下图:
7、用安装时配置好的命令行工具登录,在开始菜单,点击MySQL 5.7 Command Line Client 或下面搜索程序框中输入comm选择MySQL 5.7 Command Line Client启动DOS命令窗口。如下图:
8、在窗口Enter password:处输入安装时设置的MySQL数据库客户端登陆密码,回车,如果出现Welcom to the MySQL monitor.等字眼表示登陆服务器成功,可以在闪烁光标处输入SQL可执行语言:如下图:
前几天看到姜老师的旧文 用 VSCode 编译和调试 MySQL,每个 DBA 都应 get 的小技能[1] , 文末留了一个思考题,如何修改源码,自定义版本,使得 select version() 输出自定义内容
调试过程参考 macOS VSCode 编译调试 MySQL 5.7[2]
内部 Item 对象参考 从SQL语句到MySQL内部对象[3]
源码面前没有秘密,建义对 DB 感兴趣的尝试 debug 调试。本文环境为 mac + vscode + lldb
vscode 插件:
mysql 源码:
补丁: MySQL = 8.0.21 需要对 cmake/mysql_version.cmake 文件打补丁 (没有严格测试所有版本)
创建 cmake-build-debug 目录,后续 mysql 编译结果,以及启动后生成的文件都在这里
在 mysql 工程目录下面创建 .vscode/settings.json 文件
内容没啥好说的,都是指定目录及 boost 配置,其中 WITH_DEBUG 打开 debug 模式,会在 /tmp/debug.trace 生成 debug 信息
View - Command Palette - CMake: Configure 执行后生成 cmake 配置
View - Command Palette - CMake: Build 编译生成最终 mysql 相关命令
发现老版本编译很麻烦,各种报错,mysql 5.7 代码量远超过 5.5, 只能硬着头皮看 5.7
首先初始化 my.cnf 配置,简单的就可以,共它均默认
初始化数据文件,非安全模式,调试用
由于用 vscode 接管 mysql, 所以需要配置 .vscode/launch.json
然后点击 run and debug mysqld
mysql 启动,看到输出日志无异常,此时可以用 mysql-client 连接
首先在 sql_parser.cc:5435 处打断点
mysql_parse 是 sql 处理的入口,至于 tcp connection 连接先可以忽略
执行上述 sql 自动跳转到断点处, Step Into , Step Over , Step Out 这些调试熟悉下即可
接下来分别调用主要函数: mysql_execute_command , execute_sqlcom_select , handle_query , select-join-exec() , Query_result_send::send_data , Item::send , Item_string:val_str , Protocol_text::store , net_send_ok
启动 mysql 时 init_common_variables 会初始化一堆变量,其中会调用 set_server_version 生成版本信息,修改这个就可以
看好条件编译的是哪块,修改即可, 重新 CMake: Build 编译再运行
这里不做过深分析,简单讲
sql_yacc.cc 函数 PTI_function_call_generic_ident_sys 解析 sql, 识别出 version() 是一个函数调用
find_native_function_builder 查找 hash 表,找到对应 version 函数注册的单例工厂函数
mysql 启动时调用 item_create_init 将这些函数 builder 注册到 hash 表 native_functions_hash
MySQL 代码太庞大,5.1 大约 100w 行,5.5 130w 行,5.7 以后 330w 行,只能挑重点读源码。最近很多群里的人在背八股,没必要,有那时间学着调试下源码,读读多好
原文出处:
1、在命令行中启动mysql: 首先点击选择【开始】菜单栏中的【运行】,
2、接下来需要在打开的运行对话框中,输入cmd,按下enter键确定,打开DOS窗口。
3、在DOS窗口中的命令提示符中输入net start mysql 按回车键,这样就可以启动mysql应用程序了。
解决方案:
运行
Cd C:\Program Files\MySQL\MySQL Server 5.1\bin\
C:\Program Files\MySQL\MySQL Server 5.1\bin mysqld –remove
Service successfully removed
现将其删除重启安装一下
C:\Program Files\MySQL\MySQL Server 5.1\bin mysqld –install
Service successfully installed.
C:\Program Files\MySQL\MySQL Server 5.1\bin net start mysql
MySQL 服务正在启动 .
MySQL 服务已经启动成功。
打开mysql的方法:
1、使用MySql自带的命令行工具打开mysql
2、使用cmd命令行打开
先把mysql bin目录路径添加到系统环境变量path中,之后在cmd中输入mysql -h 127.0.0.1 -u root -p 然后输入密码即可连接mysql。
你试着再终端输入:sudo /etc/init.d/mysql start
要是你说的只是解压就运行的话,主要还得看你的安装目录,再在终端输入上面类似的命令,比如改下文件夹(/etc/init.d/),就是该成你在哪里解压的文件夹。