当前位置:   article > 正文

mysql delte_MySQL常用操作

ps -ef|grep mysql

MySQL常用操作

更改root密码

首先查看MySQL服务有没有启动:ps aux |grep mysql

没启动把它启动:/etc/init.d/mysqld start

然后用命令登录mysql:mysql -uroot    quit退出来

dbe77bc896cd9cd77cee9cb6c8b71780.png

mysql命令是不能直接在root用户下用的,因为他在/usr/local/mysql/bin/mysql目录下,

需要更改环境变量PATH,增加mysql绝对路径:export PATH=$PATH:/usr/local/mysql/bin/

50d152fd159b067d93927490f3332740.png

要想永久生效需要把它放到:vi /etc/profile 配置文件里,放到最后边

执行:source /etc/profile 环境变量才能生效

命令:mysql -uroot -p -p:指定他的密码,如果密码为空直接回车就进来了

feb3b64de7e02b95ec7499519be21392.png

怎样设置root密码:

mysqladmin -uroot password '123456789' (例如我们设12345789)

设置完密码怎样进入:

方法一:mysql -uroot -p  然后输入设定的密码,例123456789  -p参数意思是指定他的密码

方法二:mysql -uroot -p '123456789' 直接给他指定上密码

75b5b59dce4dbacf9a0e586236be50d8.png

更改密码:

例如我们原来的密码为123456789改成987654321,格式如下

mysqladmin -uroot password '123456789' password '987654321'

密码重置

第一步,更改配置文件:vi /etc/my.cnf//增加skip-grant 意思是忽略授权,就是在操作mysql的时候省略输入密码这一步

f14f3656f9d1d2b06c0d9b903b6b434d.png

第二步,重启mysql服务:/etc/init.d/mysqld restart

97b82caf538b1c1d66ccac6bb74a72d0.png

第三步,登录mysql输命令:mysql -uroot 直接就进来来 不需要密码

第四步,切换到mysql库里边更改一个表:use mysql;

39bc258a14033c39aab646bc77feac21.png

第五步,输入命令:update user set password=password('aminglinux') where user='root'; 里边横线部分aminglinux是你要设置的新密码,更改完quit退出来

7781e07b8a6761d0073f59dae8e224af.png

第六步,在编辑:vi /etc/my.cnf 把skip-grant去掉 因为一直加着它其他用户也不需要密码这样不安全

3b17ef0adc96e67efd1d8d6d168a9bc0.png

第七步,重启:/etc/init.d/mysqld start

连接MySQL

方法有几种:

1.连接本机:mysql -uroot -p123456   //-u用户名;-p密码

2.连接远程

比如用A服务器去链接B服务器的mysql,需要输入远程的的IP、端口。

-h选项,远程mysql的IP。-P选项,意思是指定端口

例如,用本机连3306端口:mysql -uroot -p123456 -h127.0.0.1 -P3306

3.利用socket来链接它,这种方法只适合在本机,因为mysql监听的是3306端口跟socket。-S来指定它的socket

mysql -uroot -p123456 -S/tmp/mysql.sock

fc8157b796f64395853ff5e450178487.png

4.链接mysal之后来操作一些命令

mysql -uroot -p123456 -e “show databases”-e意思是把所有的数据库都列出来,这种情况使用在shell脚本里边

9a462134661df36e620c1756e9cc3a3c.png

MySQL常用命令

运行mysql的命令必须要先连接mysql,在mysql里边运行这些命令,在外边是不能识别的,同样外边的命令在里边也不能识别。

进入mysql命令:mysql -uroot -p123456789

1.查询库:show databasesshow databases;查看都有什么数据库

1f0d44bc7767030dd6452092dfefe204.png

2.切换库:useuse mysql;切换到某一个库下边,例如mysql库

6c6c4de0ea49f796e7cd04e811b3eb39.png

3.查看库里的表:show tables;把所有表全部列出来

4.查看表里的字段:descdesc user;后边跟你要查询的表,如desc user;

5.查看表怎么创建的:show create tableshow create table user\G; 命令后边跟你要查看的表,如user表,\G意思是它的竖排显示

6117319e58f091dfb013afb9d298ed71.png

6.查看当前用户:select user();select user();因为默认登陆的是root

6cd8476915f83bbd830ccde1941cdd1f.png

7.查看当前使用的数据库:select database();select database();

aaa9a4f8dbcab3a0cff804e90c00551d.png

切换一下在查看

dea1c307a44277abb2368822f751e107.png

8.创建库:create database ;create database db1; (db1,是自己起的库名字)

a75372c07e2ad64f9649e46407b0ccab.png

你发现多了一个db1

5aff8c140cdbd344a0c34f3c08070956.png

9.创建表:

先进入到库里边use db1; 在创建表(例如创建一个叫t1的表):create table t1(`id`  int(4), `name` char(40));

创建完表之后要给他定义字段,第一个字段叫id,格式为init最长为4。第二个字段叫name,char字符串,最长为40

7388806826ab7442088440caaececdce.png

还可以定义后边的字段

db05de00df7f8799f5b326badb709537.png

10.删除表:

drop table 后边跟表的名字

275c5859003f73f4a521853d888ef541.png

11.查看当前数据库版本:select version();

19c92265410da6bbedb74bcc828f6ff9.png

12.查看数据库状态:show status;

13.查看各参数:show variables;

14.查看指定的参数

例如你想查看但记不清了,只知道前边,那就可以采用通配来匹配%,例如:show variables like 'max_connect%';

fb2b2a6641224e8cfb9354ebca85491b.png

例如slow相关的

0509a0f746237d283d5bbd58f85a6778.png

15.修改参数:

set global max_connect_errors=1000;例如修改max_connect_errors为1000

e8ae7cf45f58629ae3516d43fdbf02fd.png

16.查看队列:

show processlist; 相当于在linux里边用ps或者top来查看进程,可以看到哪些用户在连它,用户都在进行什么操作,很重要

9f1ddd37e5471bd599027bb2c80b1837.png

更完整的查看:show full processlist;

512c9f6a27f58f06b56283750ab29346.png

MySQL创建用户以及授权

怎样设置新用户以及密码grant all on *.* to 'user1' identified by 'passwd'; user1是用户;passwd意思是你自己设置的密码

495290b951a12c268e36b6a40d32971c.png

创建:grant all on *.* to 'user1'@'127.0.0.1' identified by 'passwd';

登录:mysql -uuser1 -ppasswd -h127.0.0.1 因为他默认使用的socket,所以要指定-h

给他授权localhost这样就不用-h指定IP了

grant all on *.* to 'user1'@'localhost' identified by 'passwd';

mysql -uuser1 -ppasswd

根据具体的权限去授权:grant SELECT,UPDATE,INSERT on db1.* to 'user2'@'192.168.133.1' identified by 'passwd';

针对所有的IP去授权:grant all on db1.* to 'user3'@'%' identified by 'passwd';

查看所有的授权:show grants;  默认查看的是root,因为root没有授权所以是空的

查看指定用户的授权

需要指定用户加IP:show grants for user2@192.168.133.1;

常用SQL语句

怎么查看其它库里的表:select count(*) from mysql.user; 比如查看mysql库里的user表

eea93dc42affac51db9e2d6a6f7fabb7.png

查看库里所有的内容:select * from mysql.db; 这个*一般不要用,因为库里的东西有很多,耗费时间

查看一个字段:select db from mysql.db;

91708dd30579e7b77b9e2760a1460bc1.png

查看两个字段:select db,user from mysql.db;

521e33c566c6df4e1b2c08595929a0ed.png

模糊查询:select * from mysql.db where host like '192.168.%'\G;比如查询以192.168.开头的ip字段

插入内容数据:insert into db1.t1 values (1, 'abc');

f784ffc63a3b31a86c11296f53c186b3.png

name是个字符串尽量要加的上单引号'',数字可以不加

56118762106849bab1ab744cd6c1081a.png

ad3d26c5a42fd1f00b6d592b48945320.png

三行都生效:update db1.t1 set name='aaa' where id=1;

cf4621a87c7350746c7ace134096a2af.png

删除指定id的表:delte from db1.t1 where id=1;

清空一个表:truncate table db1.t1; 只清空表里的内容,而表里的结构还留着。后边跟表的名字例如db1库里的t1表

e6ecf1d6fcb1b6421850481ccf5c4933.png

直接删除表:drop table db1.t1;

3ef1957e80beba5850fa27532ae7e5de.png

把数据库也删了:drop database db1;

6036401ab2a0ff839d1482f861fec59b.png

注意:删除表和清空表的操作尽量不要做!!!!!!!!!!!!!!!!!!

MySQL数据库的备份与恢复

备份库:mysqldump -uroot -p123456 mysql > /tmp/mysql.sql     -u指定用户;-p指定密码;后边跟你要备份的库(如mysql),然后把内容重定向到一个文件里,这个文件就我们备份的库文件

0495bfc41780ca77d5f7426d89426bbc.png

恢复库 mysql -uroot -p123456 mysql < /tmp/mysql.sql

还可以恢复到其他的库,比如mysql2,我们先创建一个mysql2库,命令:

mysql -uroot -paminglinux -e "create database mysql2"

2f826bbd09fec8ce5f7a442aa7411177.png

然后再把它恢复过去

b64a4b860f254bb3598edbc8daf9a63a.png

备份表 mysqldump -uroot -p123456 mysql user > /tmp/user.sql 在库后边加上表名字就行,先库在表,例如mysql库里的user表

de9522d9b205310e4a5d2f44c0482ceb.png

恢复表 mysql -uroot -p123456 mysql < /tmp/user.sql 只需要写一个库的名字就可以,不需要跟表的名字

2d8e15c6ed72cb2138ac978ebe472bf5.png

备份所有库 mysqldump -uroot -p -A >/tmp/123.sql   -A表示所有

01520ac368a841095f8aa1a549d29dcb.png

只备份表结构 mysqldump -uroot -p123456 -d mysql > /tmp/mysql.sql

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/115195
推荐阅读
相关标签
  

闽ICP备14008679号