zzzyuan

导航

常用MySQL操作

更改mysql数据库密码

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

 

 

给root用户设置密码

 

 

 

 连接数据库

 

# mysql -uroot -p'123456'

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

-h   指定远程主机的IP

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

退出时输入quit或者exit

 

MySQL基本操作的常用命令

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

查询当前库

> show databases;

 

 

 

查询某个库的表

切换到某个库

> use mysql;

 

 

 

列出表

> show tables;

 

 

 

查看某个表的全部字段

> desc db;

 

 

 

想要显示更详细的信息

> show create table db\G;

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

 

 

 

查看当前用户

> select user();

 

 

 

查看当前所使用的数据库

> select database();

 

 

 

创建一个新库

> create database db1;

 

 

 

创建一个新表

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

 

 

 

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

查看当前数据库的版本

> select version();

 

 

 

查看MySQL的当前状态

> show status;

 

 

 .............

 

 

 

查看MySQL的参数

> show variables;

 

 

 

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

修改MySQL的参数

> show variables like 'max_connect%';

符号%表示通配

 

 

 

> set global max_connect_errors=1000;

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

 

 

 

 

 

 > show variables like 'max_connect_errors';

 

 

 

查看当前MySQL服务器的队列

> show processlist;

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

 

 

 

 

创建一个普通用户并授权

> 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可以用%替代,表示所有主机 

 

 

 

常用的SQL语句

查询语句

第一种

> select count(*) from mysql.user;

 

 

 

mysql.user表示MySQL库的user表

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

第二种

> select * from mysql.db;

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

 

 

 

> select db from mysql.db;

查询单个字段

 

 

 

> select db,user from mysql.db;

查询多个字段

 

 

 

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

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

 

 

 

插入一行

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

 

 

 

 

更改表的某一行

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

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

 

 

 

清空某个表的数据

> truncate table db1.t1;

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

 

 

删除表

> drop table db1.t1;

直接删除表和表内数据

 

 

删除数据库

> drop database db1;

 

 

MySQL数据库的备份与恢复

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

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

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

恢复,和备份相反

 

posted on 2020-03-02 17:03  思远道  阅读(173)  评论(0编辑  收藏  举报