本文主要是介绍mysql 在 VS2005上面单步调试,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
http://www.xianfen.net/Article137.aspx http://database.ctocio.com.cn/tips/114/8305614.shtml http://forge.mysql.com/wiki/Building_MySQL_on_Windows
环境准备: 将sql 中的 mysqld.cc 中的函数 test_lc_time_sz()中的 (*loc)->max_month_name_length = max_month_len; 编码总计算错误,先这么改,找到问题再说
在mysqld的属性页设置命令参数为: --no-defaults --basedir=D:/mysql-5.1.45/sql --datadir=D:/mysql-5.1.45/win/data --character-sets-dir=D:/mysql-5.1.45/sql/share/charsets --log-bin-trust-function-creators --character-set-server=latin1 --language=D:/mysql-5.1.45/sql/share/english --console --loose-innodb_data_file_path=ibdata1:10M:autoextend --local-infile --loose-skip-innodb --key_buffer_size=1M --sort_buffer=256K --max_heap_table_size=1M --ssl-ca=D:/mysql-5.1.45/mysql-test/std_data/cacert.pem --ssl-cert=D:/mysql-5.1.45/mysql-test/std_data/server-cert.pem --ssl-key=D:/mysql-5.1.45/mysql-test/std_data/server-key.pem --gdb --skip-log-bin --core-file --open-files-limit=1024 设置断点,比如查询的总入口是sql/sql_select.cc 中的 handle_select 函数。
--no-defaults --basedir=F:/mysql/mysql-5.1.49/sql --datadir=F:/mysql/mysql-5.1.49/win/data --character-sets-dir=F:/mysql/mysql-5.1.49/sql/share/charsets --log-bin-trust-function-creators --character-set-server=latin1 --language=F:/mysql/mysql-5.1.49/sql/share/english --console --local-infile --key_buffer_size=1M --sort_buffer=256K --max_heap_table_size=1M --ssl-ca=F:/mysql/mysql-5.1.49/mysql-test/std_data/cacert.pem --ssl-cert=F:/mysql/mysql-5.1.49/mysql-test/std_data/server-cert.pem --ssl-key=F:/mysql/mysql-5.1.49/mysql-test/std_data/server-key.pem --gdb --skip-log-bin --core-file --open-files-limit=1024
--no-defaults --console --lc-messages-dir=F:/mysql/mysql-5.5.11/sql/share --basedir=F:/mysql/mysql-5.5.11/sql --datadir=F:/mysql/mysql-5.5.11/sql/data --default-storage-engine=innodb --max_allowed_packet=8M --net_buffer_length=16K
建数据库 --no-defaults --console --bootstrap --lc-messages-dir=F:/mysql/mysql-5.5.21/sql/share --basedir=F:/mysql/mysql-5.5.21/sql --datadir=F:/mysql/mysql-5.5.21/sql/data --default-storage-engine=innodb --max_allowed_packet=8M --net_buffer_length=16K
编译mysql项目,将会在mysql-5.1.45-beta/client_debug目录下生成mysql.exe。使用“启动新实例”或者“进入单步执行新实例”进行调试。命令参数为:-u root 在新窗口中输入SQL语句,就可以执行了,mysqld就是后台服务器进程是sql/mysqld.cc中的main函数,sql是输入前端,是mysql/mysql.cc中的main函数 断点位置:sql/sql_parse.cc 中的 mysql_execute_command(THD *thd) 中的 switch (lex->sql_command) 测试语句:SELECT VERSION(), CURRENT_DATE; |
linux下面,root用户启动数据库
./mysqld --defaults-file=/root/mysql/usr/local/mysql/bin/my.cnf --basedir=/root/mysql/usr/local/mysql --datadir=/root/mysql/usr/local/mysql/data --user=root
./mysqladmin -u root -p shutdown
MySQL默认的数据文件存储目录为/var/lib/mysql
把MySQL服务进程停掉:mysqladmin -u root -p shutdown
找到my.cnf配置文件
如果/etc/目录下没有my.cnf配置文件,请到/usr/share/mysql/下找到*.cnf文件,拷贝其中一个到/etc/并改名为my.cnf)中。命令如下:
[root@test1 mysql]# cp /usr/share/mysql/my-medium.cnf /etc/my.cnf
编辑MySQL的配置文件/etc/my.cnf
为保证MySQL能够正常工作,需要指明mysql.sock文件的产生位置。修改socket=/var/lib/mysql/mysql.sock一行中等号右边的值为:/home/mysql/mysql.sock 。
show variables like 'log_slave_updates';
ps -alef |grep mysql
介绍监视的
http://dev.mysql.com/doc/refman/5.5/en/innodb-monitors.html
http://drizzle.org/
http://kb.askmonty.org/
https://launchpad.net/percona-xtradb
http://www.mysqlperformanceblog.com
这篇关于mysql 在 VS2005上面单步调试的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!