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';