MySQL基本运维命令

1年前未命名200
MySQL基本运维命令 Onemorelight95 于2023-01-13 22:45:00发布 3194 收藏 84 分类专栏: mysql 文章标签: mysql 运维 mysql 专栏收录该内容 34 篇文章 1 订阅 订阅专栏

文章目录 1. 导出test_db数据库2. 导出一个表3. 导出一个数据库结构4. 导入数据库5. mysql进入与退出6. 数据库操作7. 数据表操作8. 修改密码9. 增加用户10. 删除用户11. 数据库授权12. 锁表13. 查看当前用户14. MYSQL密码破解方法15. 存储引擎、系统版本、端口

1. 导出test_db数据库

命令:mysqldump -u 用户名 -p 数据库名 > 导出的文件名

mysqldump -u root -p test_db > test_db.sql # 导出所有数据库 mysqldump -u root -p –all-databases > mysql_all.sql 2. 导出一个表

命令:mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名

mysqldump -u root -p test_db test1 > test_test1.sql 3. 导出一个数据库结构 mysqldump -u root -p -d --add-drop-table test_db > test.sql 4. 导入数据库

1.常用source命令

进入mysql数据库控制台:

mysql -u root -p

然后使用source命令,后面参数为脚本文件(如这里用到的.sql))

mysql>source wcnc_db.sql

2.使用mysqldump命令

mysqldump -u username -p dbname < filename.sql

3.使用mysql命令

mysql -u username -p -D dbname < filename.sql 5. mysql进入与退出

进入

mysql -uroot -p //进入mysql控制台 mysql -uroot -p password //进入mysql控制台 mysql -p //进入mysql控制台

退出

# 第一种 quit # 第二种 exit 6. 数据库操作

1.创教数据库

命令:create database <数据库名>

mysql> create database [数据库名];

2.显示所有数据库

mysql> show databases;

3.删除数据库

mysql> drop database [数据库名];

4.连接数据库

mysql> use [数据库名];

5.查看当前使用的数据库

mysql> select database();

6.当前数据库包含的表信息

mysql> show tables;

7.查看数据库字符集

mysql> show variables like '%char%'; 7. 数据表操作

1.建表

mysql> create table [表名] ( id varchar(20), name varchar(20) );

2.查看表结构

命令:desc 表名,或者show columns from 表名

mysql> desc test; mysql> show columns from test; mysql> describe test; mysql> show create table test;

3.删除表

mysql> drop table [表名];

4.插入数据

mysql> insert into [表名] values ("001","张三");

5.查询表数据

MySQL的单表查询比较简单,比如最基本的一些操作:

# 查看表test中所有数据 mysql> select * from test; # 查找test表中id=001内容 mysql > select * from test where id=001; # 查找test表中已id为0开头的内容 mysql > select * from test where id like "0%"; # 查看表test中前2行数据 mysql> select * from test order by id limit 0,2; # 或者 mysql> select * from test limit 0,2;

但是实际的场景中我们常常需要进行多表查询,复杂的业务需求也会造成连接查询也变得非常复杂,常用的多表查询方式有连接查询和子查询,但是连接查询的效率一般会比子查询高,关于连接查询可以参考下面这篇文章:

mysql连接查询

不过也有地方不建议使用连接查询,因为连接查询属于重查询,数据量大容易造成阻塞,比如阿里就明文规定禁止用三个表以上的join。做项目的时候应该遵循重业务,轻数据库的原则,能在业务层聚合,就不要用跨表查询。

6.删除表数据

命令:delete from 表名 where 表达式

mysql> delete from test where id=001;

7.修改表数据

命令:update 表名 set 字段=新值 where 表达式

mysql> update test set name='admin' where id=002;

修改表结构:

# 修改test表中name字段的长度 mysql> alter table test modify column name varchar(30);

8.在表中增加字段

命令:alter table 表名 add字段 类型 其他;

# 在表test中添加了一个字段passtest,类型为int(4),默认值为0 mysql> alter table test add passtest int(4) default '0';

9.更改表名

命令:rename table 原表名 to 新表名;

# 在表test名字更改为test1 mysql> rename table test to test1; 8. 修改密码

命令:mysqladmin -uroot -p旧密码 password 新密码

mysql> use mysql; mysql> update mysql.user set password='新密码' where user='用户名'; mysql> flush privileges; mysql> set password for 用户名@localhost=password('你的密码'); mysql> flush privileges; 9. 增加用户 # 增加一个test用户,密码为1234 mysql> insert into mysql.user(Host,User,Password) values("localhost","test",password("1234")); mysql> flush privileges; 10. 删除用户 # 删除test用户 mysql> delete from user where user='test' and host='localhost'; mysql> flush privileges; 11. 数据库授权

命令:grant 权限 on 数据库名.* to 用户名@localhost identified by ‘密码’;

# 授权test用户拥有test_db库的所有权限 grant all on test_db.* to test@localhost identified by '123456'; # 授权test用户拥有test_db库的select,update权限 grant select,update on test_db.* to test@localhost; 12. 锁表 # 加读锁 mysql> flush tables with read lock; # 解锁 mysql> unlock tables; 13. 查看当前用户 mysql > select user(); 14. MYSQL密码破解方法

先停止Mysql服务,以跳过权限方式启动,命令如下

service mysqld stop /usr/local/mysql/bin/mysqld_safe –user=mysql –skip-grant-tables &

在shell终端输入mysql并按Enter键,进入mysql命令行,由于MYSQL用户及密码认证信息存放在mysql库中的user表,需进入mysql库:

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

MYSQL root密码修改完,需停止以Mysql跳过权限表的启动进程,再以正常方式启动MYSQL,再次以新的密码登陆即可进入Mysql数据库

15. 存储引擎、系统版本、端口 # 查看当前使用的存储引擎 mysql > show engines; # 查看mysql默认存储引擎 mysql> show variables like '%storage_engine%'; # 查看mysql系统版本 mysql> select version(); # 查看mysql库里所有表 mysql>show tables from mysql; # 查看Mysql端口 mysql>show variables like 'port'; # 查看mysql库user表中user、host信息 mysql> select user,host from mysql.user;

参考资料:

https://www.51cto.com/article/595574.html

标签: [db:标签TAG]

相关文章

OpenAI ChatGPT 人工智能机器人注册使用,能以中文对答如流的机器人

OpenAI ChatGPT 人工智能机器人注册使用,能以中文对答如流的机器人...

又发现一个ChatGPT国内镜像站,无次数限制也无广告

又发现一个ChatGPT国内镜像站,无次数限制也无广告...

Linux文件系统及磁盘命名

Linux文件系统及磁盘命名...

ChatGPT 的工作原理:机器人背后的模型

ChatGPT 的工作原理:机器人背后的模型...

TCP协议原理一

TCP协议原理一...

MATLAB | 如何绘制github同款日历热力图

MATLAB | 如何绘制github同款日历热力图...