常用MySQL操作

更改MySQL数据库root的密码

将绝对路径加入环境变量并设置开机启动

# PATH=$PATH:/usr/local/mysql/bin

# echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

# source /etc/profile

给root用户设定密码

# mysqladmin -uroot password '123456'

常用MySQL操作 Linux 第1张

root用户是MySQL自带的管理员账户,默认没有密码

连接数据库

# mysql -uroot -p'123456'

# mysql -uroot -p -h192.168.37.13 -P3306

-h   指定远程主机的IP

-P   指定远程主机MySQL的绑定端口,默认都是3306

退出时输入quit或者exit

MySQL基本操作的常用命令

mysql命令的结尾处需要加一个分号;

查询当前库

> show databases;

常用MySQL操作 Linux 第2张

查询某个库的表

切换到某个库

> use mysql;

常用MySQL操作 Linux 第3张

列出表

> show tables;

常用MySQL操作 Linux 第4张

查看某个表的全部字段

> desc db;

常用MySQL操作 Linux 第5张

想要显示更详细的信息

> show create table db\G;

\G   让列出来的结果竖排显示

常用MySQL操作 Linux 第6张

查看当前用户

> select user();

常用MySQL操作 Linux 第7张

查看当前所使用的数据库

> select database();

常用MySQL操作 Linux 第8张

创建一个新库

> create database db1;

常用MySQL操作 Linux 第9张

创建一个新表

> create table t1 (`id` int(4),`name` char(40));

常用MySQL操作 Linux 第10张

字段名id和name需要用反引号括起来

查看当前数据库的版本

> select version();

常用MySQL操作 Linux 第11张

查看MySQL的当前状态

> show status;

常用MySQL操作 Linux 第12张

 中间省略信息

 常用MySQL操作 Linux 第13张

查看MySQL的参数

> show variables;

常用MySQL操作 Linux 第14张

其中很多参数可以在/etc/my.cnf中定义,有部分参数可以在线编辑

修改MySQL的参数

> show variables like 'max_connect%';

符号%表示通配

常用MySQL操作 Linux 第15张

> set global max_connect_errors=1000;

临时修改某些参数,但是重启服务后修改会失效 

 常用MySQL操作 Linux 第16张

> show variables like 'max_connect_errors';

 常用MySQL操作 Linux 第17张

查看当前MySQL服务器的队列

> show processlist;

查看当前MySQL的进程,查看是否有锁表

常用MySQL操作 Linux 第18张

创建一个普通用户并授权

> grant all on *.* to user1 identified by '123456';

all表示所有的权限(如读、写、查询、删除等操作);两个*,前者表示所有的数据库,后者表示所有的表;identified by后面跟密码,用单引号括起来

> grant all on db1.* to 'user2'@'192.168.37.13' identified by '111222';

给网络其他机器的某个用户授权,用户和主机IP之间有符号@

> grant all on db1.* to 'user3'@'%' identified by '231222';

主机IP可以用%替代,表示所有主机 

常用MySQL操作 Linux 第19张

常用的SQL语句

查询语句

第一种

> select count(*) from mysql.user;

常用MySQL操作 Linux 第20张

 mysql.user表示MySQL库的user表

 count(*)表示表中共有多少行

第二种

> select * from mysql.db;

表示查询MySQL库的db表中的所有数据

常用MySQL操作 Linux 第21张> select db from mysql.db;

查询单个字段

常用MySQL操作 Linux 第22张

> select db,user from mysql.db;

查询多个字段

常用MySQL操作 Linux 第23张

> select * from mysql.db where host like '192.168.%';

在查询语句中可以使用万能匹配符%

常用MySQL操作 Linux 第24张

插入一行

> insert into db1.t1 values (1,'abc');

常用MySQL操作 Linux 第25张

更改表的某一行

> update db1.t1 set name='aaa' where id=1;

MySQL表里存放的数据支持更改某个字段

常用MySQL操作 Linux 第26张

清空某个表的数据

> truncate table db1.t1;

不删除表,只是清空表的数据

常用MySQL操作 Linux 第27张

删除表

> drop table db1.t1;

直接删除表和表内数据

常用MySQL操作 Linux 第28张

删除数据库

> drop database db1;

常用MySQL操作 Linux 第29张

MySQL数据库的备份与恢复

# mysqldump -uroot -p'123456' mysql > /tmp/mysql.sql

备份,重定向到一个文本文档里

# mysql -uroot -p'123456' mysql < /tmp/mysql.sql

恢复,和备份相反

常用MySQL操作 Linux 第30张

 

 

 

 

 

 

 

 

 

 

 

 

 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄