分类目录归档:数据库

用mysqldump导出数据库数据进行备份

导出整个数据库(包括创建数据库的语句,权限不够时登录mysql/root并退出即可):

mysqldump -u root -p –opt wddb > wddb_2014_11_21_1.sql

[-opt 参数不是必须的,此处尚未完全弄明白,暂时这样]

复制一份到本地,防止数据丢失:

scp user@xxcx.cn:/wdxt_data/wddb_2014_11_25_1.sql wddb_2014_11_25_1.sql

 

下面这条只导出数据,没带数据库结构:

mysqldump –sock=/usr/local/zend/mysql/tmp/mysql.sock  -u root -t wddb > ~/server/wddb/backup/db_data1137

注意,不加-t只导出数据库的结构

 

本地如果有多个mysql,必须指定sock

./mysqldump -u root –sock=/usr/local/zend/mysql/tmp/mysql.sock zltjx_0 > ~/ps_dev/zltjx/db/zltjx_0_2015_5_11_0.sql

导出带查询条件的某表数据(只有一条insert):
./mysqldump -uroot -p meinv mn_posts –where=”post_status=1″ > ~/dev/meinv/server/meinv_data/1/4.sql

导出带查询条件的某表数据(每条记录一条insert):
./mysqldump -uroot -p meinv mn_posts –skip-extended-insert –where=”post_status=1″ > ~/dev/meinv/server/meinv_data/1/skip.sql

mysqldump导出报2002套接字错误

执行mysqldump命令时候报如下错误:
[root@localhost ~]#  mysqldump -uroot -p -d test> test.sql   
mysqldump: Got error: 2002: Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’ (2) when trying to connect

 

原因: 安装多份mysql, 只开启一个,mysqldump找不到正确的套接字

解决:

[root@localhost ~]# mysqldump –socket=/MysqlData/base/mysql/mysql.sock -uroot -p -d test> test.sql   

查看mysql服务器当前连接数量

显示当前连接情况:

mysqladmin -u root -h 127.0.0.1 status

如果mysqladmin未添加到系统路径,切换到mysql/bin目录下执行:

./mysqladmin -u root -h 127.0.0.1 status

显示出当前每个连接:

./mysqladmin -u root -h 127.0.0.1 processlist

已登录mysql可直接执行 show processlist;