Mysql 5.* 数据库备份及导入

 作者:邓聪聪

倒出数据文件

1) 导出数据和表结构:

进入数据库查看表结构

msql -u用户名 -p密码

msql -u用户名 -p密码 -S /var/lib/mysql/mysql.sock   #带sock文件路径登陆

查看数据库的表结构:

show databases;
#mysqldump -u用户名 -p密码 数据库名 > 数据库名.sql
导出的目标路径下:

mysqldump -uroot -p*** abc > abc.sql
敲回车后会提示输入密码

2) 只导出表结构
#mysqldump -u用户名 -p密码 -d 数据库名 > 数据库名.sql
导出的目标路径下:

mysqldump -uroot -p*** abc > abc.sql

导入数据库
1、首先建空数据库
mysql>create database abc;

2、导入数据库
方法一:
1)选择数据库
mysql>use abc;
2)设置数据库编码
mysql>set names utf8;
3)导入数据(注意sql文件的路径)
mysql>source /home/abc/abc.sql;
方法二:

需要在含.sql文件的绝对路径下操作
#mysql -u用户名 -p密码 数据库名 < 数据库名.sql
mysql -uroot -p*** chachong <chachong.sql

linux mysql 忘记root的密码无法登陆进mysql

1:修改MySQL的配置文件/etc/my.conf在[mysqld]下面增加一行skip-grant-table;
2:修改配置文件后重启MySQL service mysqld restart
3:然后使用常规的命令进行登陆mysql mysql -u root -p 在提示输入密码的时候直接点击回车就好
4:登陆进mysql后执行修改密码的语句 update set password=passeord('root') where user ='root';这个时候passeord('root')中root就是最新设置好的root用户的密码
5:在执行第一步,将自己添加的skip-grant-table去掉,然后重启mysql

修改数据库默认密码

mysql>use mysql
mysql>update user set password=password("123456") where user="root";
mysql>flush privileges;
mysql>exit

mysql数据库查询表内条目

查询下备份出来的数据是否相同

进入需要查询的数据库表中

use ***:

select count(*) from unitsbase;

查询某一张表:

select * from  ***

查看正在运行的sql语句;

innotop -u root -p 57Ig9peQN[PMDQsg -h 127.0.0.1 -P 3306 -d 3

结束慢查询测ID号进程

mysqladmin -S /tmp/mysql_3306.sock -uroot -p57Ig9peQN[PMDQsg kill

查看MySQL数据库大小

1.首先进入information_schema 数据库(存放了其他的数据库的信息)

mysql> use information_schema;

2.查看大小

1)查看所有数据库大小

select concat(round(sum(DATA_LENGTH/1024/1024),2),'MB') as data from TABLES;

2)查看指定数据库大小

mysql> select concat(round(sum(DATA_LENGTH/1024/1024),2),'MB') as data from TABLES where table_schema='cacti';

3)查看指定数据库的指定表单的大小

select concat(round(sum(DATA_LENGTH/1024/1024),2),'MB') as data from TABLES where table_schema='CarData' and table_name='user_auth';
原文地址:https://www.cnblogs.com/dengcongcong/p/8251797.html