非默认安装目录下mysql数据的导出与导入
系统:Centos 6.5
1.首先确定msyql是否安装以及安装目录:
[root@localhost ~]# service mysqld status mysqld (pid 56716) 正在运行...
2.查找mysql安装目录以及sock文件所在目录
ps -ef |grep mysql root 84947 1 0 14:13 pts/0 00:00:00 /bin/sh /usr/bin/mysqld_s /run/mysqld/mysqld.pid --basedir=/usr --user=mysql mysql 85106 84947 0 14:13 pts/0 00:00:00 /usr/libexec/mysqld --bas log --pid-file=/var/run/mysqld/mysqld.pid --socket=/home/mysql/mysql.sock - root 85248 84051 0 14:15 pts/0 00:00:00 grep mysql
usr/bin/mysql 是指:mysql的运行路径
var/lib/mysql 是指:mysql数据库文件的存放路径
usr/lib/mysql 是指:mysql的安装路径
因为是mysql的sock文件不是在默认的/var/log/mysql/mysql.sock下所以会报这样的错
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
所以我们需要手动指定sock文件所在目录
3.指定sock文件目录并进行数据导出
mysql -uroot -p***************** -S /home/mysql/mysql.sock xspeeder >xspeeder.sql
1.导出数据库(sql脚本)
mysqldump -u 用户名 -p 数据库名 > 导出的文件名
mysqldump -u root -p db_name > test_db.sql
2.mysql导出数据库一个表
mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名
mysqldump -u wcnc -p test_db users> test_users.sql (结尾没有分号)
4.导入数据库
命令格式 mysql -u用户名 -p 数据库名 < 数据库名.sql 范例: mysql -uabc_f -p abc < abc.sql (导入数据库abc从abc.sql文件)