Linux Mysql操作命令
第一篇随笔,暂水平有限,仅作学习记录。如果能帮助到你那就更好了!
登陆mysql服务
mysql -u root -p ...
一、基础命令
(命令以' ; '号结束)
数据库列表
show databases;
切换/使用某个库
use 库名;
查看数据表列表 (需切换至某个库使用,否则会报错error 1046 (3d000): no database selected)
show tables;
查看表结构
describe 表名;
新建数据库 (并指定字符集和排序规则)
create database 库名 default character set utf8mb4 collate utf8mb4_general_ci;
新建表
create table 表名(字段设定列表);
重命名表名
alter table 原表名 rename 新表名;
删除数据库/表
drop database 库名;
drop table 表名;
二、数据导出
mysqldump命令 (linux系统命令,无需登陆mysql服务使用)
参数(常用部分)
-u (user 后面紧跟用户名)
-p (password 后面紧跟密码,当然也可以暂时先不填写密码,随后再隐秘输入)
-a (all-databases 备份所有数据库)
-f (force 强制备份即出现错误仍继续备份)
-d (no-data 只导出表结构)
-t (no-create-info 只导出表数据,而不添加create table 语句)
-q (quick 不缓存查询 快速导出)
-x (xml 导出为xml文件)
例
1备份所有库的表数据和结构
mysqldump -uroot -p123456 -a > all_bak.sql
2备份所有库的表结构
mysqldump -urooot -p123456 -a -d > all_struct_bak.sql
3备份所有库的表数据
mysqldump -uroot -p123456 -a -t > all_data_bak.sql
(关于仅结构/仅数据后面追加-d / -t就可以了,下面的操作就不赘述了)
4备份单个库的表数据和结构
mysqldump -uroot -p123456 库名 > all_bak.sql
5备份单个库多个表数据和结构
mysqldump -uroot -p456852 库名 表名1 表名2... > db_bak.sql
6备份多个库
mysqldump -uroot -p123456 --databases 库名1 库名2... > dbs_bak.sql
三、数据导入
运行sql方式
1登录mysql服务
source xxx.sql
2linux系统命令行(格式不是死的,根据sql文件内容调整是否需要选择库)
mysql -uroot -p123456 库名 < xxx.sql