1.备份数据库
导出所有数据库:输入:mysqldump -u [数据库用户名] -p -A>[备份文件的保存路径]
导出数据和数据结构:输入:mysqldump -u [数据库用户名] -p [要备份的数据库名称]>[备份文件的保存路径]
例子:mysqldump -u root -p test>d:\test.sql
注意:此备份只备份数据和数据结构,没有备份存储过程和触发
2.导出数据库中的Events
输入:mysqldump -u [数据库用户名] -p -E [数据库用户名]>[备份文件的保存路径]
3.导出数据库中的存储过程和函数
mysqldump -u [数据库用户名] -p -R [数据库用户名]>[备份文件的保存路径]
4.导入数据库
进入MYSQL Command Line Client
先创建数据库:create database test 注:test是创建数据库的名称
再切换到当前数据库:use test
再输入:\. d:/test.sql 或 souce d:/test.sql
5.授权
grant all privileges on *.* to root@192.168.0.104 identified by '123456';
6.修改表字段
修改表expert_info中的字段birth,允许其为空
alter table expert_info change birth birth varchar(20) null;
添加字段
alter table cert_entity add body blob not null;
7.修改mysql密码
除了使用mysqladmin命令外还可以采用如下方法
修改MySQL的登录设置:
# vi /etc/my.cnf
在[mysqld]的段中加上一句:skip-grant-tables
例如:
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
skip-grant-tables
保存并且退出vi
service mysql stop
service mysql start
mysql
mysql> use mysql
mysql> UPDATE user SET Password = password ( 'new-password' ) WHERE User = 'root' ;
Query OK, 0 rows affected (0.00 sec)
Rows matched: 2 Changed: 0 Warnings: 0
mysql> flush privileges ;
Query OK, 0 rows affected (0.01 sec)
mysql> quit
Bye
将MySQL的登录设置修改回来
# vi /etc/my.cnf
将刚才在[mysqld]的段中加上的skip-grant-tables删除
保存并且退出vi。
重新启动mysql
# service mysql restart
USE information_schema;
查询所有数据的大小
SELECT CONCAT(ROUND(SUM(DATA_LENGTH/1024/1024), 2), 'MB') AS DATA FROM TABLES;
查看指定数据库实例的大小,比如说数据库 test
SELECT CONCAT(ROUND(SUM(DATA_LENGTH/1024/1024), 2), 'MB') AS DATA FROM TABLES WHERE table_schema='test';
查看指定数据库的表的大小,比如说数据库 test 中的 test 、uuidTest表
SELECT CONCAT(ROUND(SUM(DATA_LENGTH/1024/1024),2),'MB') AS DATA FROM TABLES WHERE table_schema='test' AND table_name='test';
SELECT CONCAT(ROUND(SUM(DATA_LENGTH/1024/1024),2),'MB') AS DATA FROM TABLES WHERE table_schema='test' AND table_name='uuIdTest';