mysql 运维常用命令收录

时间:2022-12-10 12:31:20

1、数据库的登录与退出

mysql -u root -p -- 使用root身份登陆当前的数据库
mysql -u root -p -h server0 -- 使用root身份登陆到server0的数据库
quit --退出数据库

2、数据库

2.1、创建

create databse db1; -- 创建一个数据库create database db1 character set utf8; -- 创建并定义字符集

注:数据库名在linux下大小写敏感(跟系统有关系)

2.2、选中

use db1; -- 选中一张表

2.3、查看

show databases; -- 显示数据库show create database db1 -- 显式数据库创建语句

2.4、删除

drop database db1; -- 删除数据库

2.5、数据权限设置

grant privileges on db1.tablename to user1@10.168.0.8 identified by "password"; -- 按数据库授所有权限grant select,insert,update,delete,create temporary tables,execute,show view on `db1`.* to 'user1'@'10.168.0.8'; -- 按数据库授特定权限revoke select,insert,update,delete,create temporary tables,execute,show view on `db1`.* from 'user1'@'10.168.0.8'; -- 按数据库取消特定权限drop user 'user1'@'10.168.0.8'; -- 删除特定的用户fluse privileges; -- 刷新权限表

2.6、数据库的备份与还原

mysqldump -u username -p database > /backup/file.dump -- 备份数据库mysqldump -uroot -p --all-databases | gzip -9 > file.gz -- 备份并压缩数据库mysqldump -u username -p <./file.dump -- 还原数据库

2.7 密码变更

方法一

mysql -uroot -pset password for root@localhost = password('123456');

方法二

mysqladmin -uroot -p password "123456"

方法三

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

方法四

service mysqld stopmysqld_safe --skip-grant-tables &mysql -u rootuse mysql;update user set password=password('123456') where user='root' and host='localhost';flush privileges;quit;service mysqld restart

3、表

3.1、创建

3.1.1、创建1

create tabale tb1 (  id int not null,  name varchar(10)); -- 创建一张表

3.1.2、创建2

create tabale tb1 (  id int not null,  name varchar(10))engine=MYISAM default charset=utf8; -- 创建一张表

注:表名在linux下大小写敏感(跟系统有关系)

3.2、查看

show tables; -- 显示当前库中的表show create table tb1; --显式创建表的语句describe tb1; -- 查看表结构show create table tb1; -- 查看见表命令show index from tb2; -- 查看表包含的索引show table status like '%tb3%'; -- 查看当前表的状态

3.3、删除

drop table tb1drop table if exists tab1

3.4、修改

alter table tb1 engine=myisam;

4、表的列操作

4.1、增加字段

alter table Persons add column `City` varchar(255) DEFAULT NULL;

4.2、修改字段

alter table Persons modify column `City` varchar(255) DEFAULT NULL comment '城市';

4.3、删除字段

alter table `Persons` drop column `City`;

5、表的行操作

5.1、查询

select email from user group by email having count(email) > 1; -- 查询重复的列select * from user where email in (  select email from user group by email having count(u_email) > 1  ); -- 查询重复数据列的行

5.2、插入

5.2.1、单行插入

insert into tablename set column1 = value1 , coumn2 = values2...;

5.2.2、多行插入

insert into tablename (column1,column2...) values (value1,value2....);insert into tablename (column1,column2...) values (value1,value2....),(value1,value2....)...;

5.2.3、简写

insert into tablename values (value1,value2....);

注:当满足表中所有列都插入数据时才可简写

5.2.4、插入查询结果

insert into tablename (column1,column2...) select (column1,column2...) from tablename2 [where condition];

简写

insert into tablename select (column1,column2...) from tablename2 [where condition];

5.3、更新

update tablename set column1 = valuesl,column2 = values2... [where condition];

注:不写where会修改整张表数据(危险操作)

5.4、删除

delete from tablename [where condition];

注:不写where会清空整张表数据(危险操作)

6、事务

begin; -- 开启事务(必选)-- 这里做引起数据变更的操作(可选)rollback; -- 回滚事务(可选)commit; -- 提交事务(必选)

注:数据InnoDB引擎支持表事务性操作

show variables like '%commit'; -- 查询事务自动提交设置set autocommit=0; -- 自动提交关闭(需要手动键入commit,执行前所有操作当一个事务处理)set autocommit=1; -- 自动提交打开(每个操作一个事务)

7、版本信息查看

7.1、登录信息查看

mysql -uroot -p

7.2、函数方式查看

mysql -uroot -p>select @@version;

7.3、状态信息查看

mysql -uroot -p>status

7.4、命令行方式查看

mysql -V

7.5 帮助方式查看

mysql --help | grep Distrib

7.6、环境变量方式查看

show variables like 'version';

8、其他查询或命令

show engines;  -- 查看引擎show variables like '%storage_engine%'; -- 数据库默认引擎show create table tabName; -- 查询某表的引擎show warnings; -- 查询警告信息show variables; -- 查询变量环境show variables like '%query_cache%'; -- 查询基于特定关键字环境变量show variables like "max_connections"; -- 查询最大连接数show processlist; -- 查询进程列表kill processID -- 结束查询的进程

9、QEP

explan select user,host from user\G

10、MySQLAdmin

mysqladmin -u root -p -P 3306  --socket=/tmp/mysql.sock shutdown

不详尽请参阅:

http://www.w3school.com.cn/sql/index.asp

本文出自 “老谭linux集群博客” 博客,请务必保留此出处http://cmdschool.blog.51cto.com/2420395/1697305