1.忘记root密码,解决办法
/usr/local/mysql/share/mysql/mysql.server stop (mysql4)
/usr/local/mysql/support-files/mysql.server stop (mysql5)
/usr/local/mysql/bin/mysqld_safe --skip-grant-tables &
/usr/local/mysql/bin/mysql -h localhost -u root
>>/u mysql ;
>>update user set password=password('密码') where user='root';
>>flush privileges;
>>exit;
kill -9 mysqld 进程
/usr/local/mysql/share/mysql/mysql.server start
2.mysqldump 远程备份脚本










3.mysqldump 导出数据库test 的数据表product中指定proid=14数据到文本文件
mysqldump -uroot -p123456 --compatible=mysql323 -n --where=proid=10 test product>>tw.txt
MySQL里一共有如下几种变量
1 系统变量
有全局变量和会话变量之分,这些变量用于系统运行,一般能通过my.ini改变启动时的默认值
引用的时候用 select @@foo ,这些变量名一般都是mysql固定好的,不能自己改名
2 用户自定义变量
表示方式 @abc
set @abc:=20
只对当前会话有效,一段断开连接就会全部丢失
3 存储过程和函数中的变量
这类变量可以直接用abc,不用代@。在存储过程中局部变量,想要把局部变量的值传递出来,可以把局部变量赋给@abc(用户变量),等存储过程执行完就可以通过select @abc;得到值
所有的变量不能存储result set(结果集)。
客户端,工具,经验,稳定性
1 客户端版本,php连接mysql的模块版本比较低,导致查询不能使用,特别是存储过程里面多个语句的情况
目前的解决办法是使用mysqli来处理处理连接问题;能一次连接查询多个月语句,能返回多个结果集,能返回存储过程的结果集
2 phpmyadmin管理数据库的问题,到目前为止phpmyadmin还没有管理mysql存储过程等新功能的可视工具,要用命令打进去,但是遇到begin ... end;里面有;的语句会出错,所以目前这也是一大障碍
3 有时候一个功能可以用视图实现也能通过触发器或存储过程实现,这些实现方法之间的比较是个问题,在没经验的基础上使用,可能无从选择,也可能会因为数据量的增加导致速度变慢,新技术的经验积累是一大问题
4 对mysql新功能的稳定性还不是很确定,如果匆忙用于生产,可能存在未知的风险,目前来说这几个新功能还有一些限制,还未完全开发完毕,应该在5.1或更高6.0才会比较完善。目前能作的就是在一些小型不是很重要的项目上多试验这些新功能,积累经验
sql (insert into table values(),(),(),(),()) 过大,在通过mysql_query 的时候,导致 MySQL server has gone away 后来找了一些资料后发现修改一下my.ini 中的这个配置就ok了
max_allowed_packet=5M