mysql数据库备份与还原
mysql数据库备份与还原命令:
备份:
如我们需要把 数据库名为:shopping 的数据库备份: 用户名为:root,密码为:12345,那么命令如下:
直接进入dos,如果没有配置mysql的环境变量,那么需要把dos的当前目录切换到mysql的bin目录下,然后敲入一下命令:
mysqldump -uroot -p12345 shopping>e:/shopping.sql
如果数据库没有密码,那么只需:
mysqldump -uroot shopping>e:/shopping.sql
还原:
把上面的shopping数据库备份还原到数据库名为: shoppingBack的数据库中,
那么要敲入一下命令:
第一步,进入mysql客户端:
mysql -uroot -p12345
第二步,选择数据库:
use shoppingBack
第三步,还原数据:
source E:/shopping.sql
ok,这个时候数据就已经还原到shoppingBack这个数据库中了
linux下命令一样,只需把备份文件的路径改一下就ok了!
相关文档:
mysql锁机制
mysql中对表级的存储引擎来说是释放死锁的,避免死锁可以这样做到:在任何查询之前先请求锁,并且按照请求的顺序锁表。
Mysql中用于write(写)的表锁的实现机制如下:
如果表没有加锁,那么就加一个写锁。否则的话,将请求放到写锁队列中。
mysql中用于read(读)的表锁的实现机制如下:
如果表没有加锁,那么 ......
只导创建表的结构:
bin/mysqldump -d --add-drop-database=FALSE --add-drop-table=FALSE -usosodb -p sosodb TEST > /tmp/test.sql
只导单行的INSERT语句:
bin/mysqldump --extended-insert=FALSE --add-drop-database=FALSE --add-drop-table=FALSE --create-options=FALSE -t --add-locks=FALSE -usosodb -p so ......
在工作中碰到一个Mysql字段更新问题
在custom表中有一个tariffurl的值中有如下情况:
uploadfiles ariff2007031172720306698.jpg以及uploadfiles ariff2007031172720306690.jpg;uploadfiles ariff2007031172720306691.jpg形式
要更改成uploadfiles/tariff/200703/1172720306698.jpg及 uploadfiles/tariff/200703/11727 ......
首先需要查看一下创建函数的功能是否开启:
mysql> show variables like '%func%';
+-----------------------------------------+-------+
| Variable_name   ......
(1)以ubuntu的root用户登陆
(2)停止MYSQL服务器:
/etc/init.d/mysql stop
(3)跳过授权表执行MYSQL服务器:
mysqld_safe --skip-grant-tables --skip-networking &
(注:参数--skip-grant-tables为跳过授权表;--sk ......