一、使用工具
#可视化工具:Navicat Premium
#命令工具:Xshell 6
二、通过Xshell 6工具访问操作mysql数据库
#查看数据库版本:
mysql --version
#登录数据库
①mysql -u root -p
②mysql -u root@localhost (没有密码的情况)
③mysql -hlocalhost -uroot -p12345 -P3306 -A
-h数据库主机
-u用户
-p密码
-P端口号(大写P)
-A不预读数据库的信息,以获得更快的启动
④mysql -hlocalhost -uroot -p -A
#查看当前是哪个用户
select user();
#查看当前mysql状态
show status;
#查看mysql的参数
show variables;
#查看当前mysql服务器的队列
show processlist;
#创建一个普通用户并授权
grant all on *.* to user1 identified by '123456';
all 表示所有的权限(读、写、查询、删除等等操作)
*.*
前面的 *
表示所有的数据库,后面的 *
表示所有的表
identified by 后面跟密码,用单引号括起来
user1指的是localhost上的user1,如果是给网络上的其他机器上的某个用户授权则这样:
mysql> grant all on db1.* to 'user2'@'10.0.2.100' indentified by '111222';
用户和主机的IP之间有一个@,另外主机IP那里可以用%替代,表示所有主机,例如:
mysql> grant all on db1.* to 'user3'@'%' indentified by '231222';
#查看当前所使用的数据库
select databases();
#创建数据库
create databases db1;
#查看数据库
show databases;
#进入具体数据库
use [dataname]
#查看数据库表
show tables;
#查看具体表的结构
·desc [tablename]
·show create table [tablename]/G;
#创建数据库
create database [dataname]
#删除数据库
drop database [dataname]
#创建表
create table [tablename] (id int primary key auto_increment,name char(20)...);
#删除表
drop table [tablename]
#查找数据
select * from tablename
#插入数据
insert insto [tablename](103,'test');
#修改数据
update [tablename] set name='' and id=103
#删除数据
delete [tablename] where name=''
#添加索引
alter table [tablename] add fulltext index([columnname]);
#查看索引
show index from [tablename] \G
#修复表
查看表状态
show table status like 'tablename' \G;
检测表
check table tablename
修复表
repair table tablename
#压缩表
查看数据文件位置
show global variables like '%datadir%';
压缩文件
myisampack *.MYD
#mysql 备份
冷备份
备份
停掉mysql 服务,在操作基本备份mysql 数据库
重启mysql服务,备份重启以后生产binlog
逻辑恢复
mysql -u root -p [databasename]<[backname].sql
逻辑备份
导出整个数据库
mysqldump -u root -p [databasename] -F >[backname].sql
导出一个表
mysqldump -u root -p [databasename] [tablename]>[table].sql
导出数据库结构
mysqldump -u root -p -d --add-drop-table [databasename]>[database].sql
-d 没有数据 --add-drop-table 在每个create语句之前增加一个drop table