博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
linux复盘:mysql基础
阅读量:6067 次
发布时间:2019-06-20

本文共 3369 字,大约阅读时间需要 11 分钟。

hot3.png

mysql常用命令

修改路径修改密码

/usr/local/mysql/bin/mysql -uroot #进入mysql

vim /etc/profile

PATH=$PATH:/usr/local/mysql/bin #最后加上

source /etc/profile

source命令也称为“点命令”,也就是一个点符号(.),是bash的内部命令。

功能:使Shell读入指定的Shell程序文件并依次执行文件中的所有语句

source命令通常用于重新执行刚修改的初始化文件,使之立即生效,而不必注销并重新登录。

mysql -urootmysqladmin -uroot password '123456' #修改密码mysql -uroot -p'123456' #-p后面不能有空格,密码可以不带单引号,但是如果有特殊字符时会出现问题#忘记密码怎么办,有的是办法vi /etc/my.cnf[mysqld]skip-grant #忽略授权选项,平时生产中不要添加/etc/init.d/mysqld restart #这样就不用进入数据库的授权了,可以修改密码了mysql -urootuse mysql;update user set password=password('aminglinux') where user='root';flush privileges;#修改完mysql库的密码后,再次编辑/etc/my.cnf/把增加的skip-grant删掉#不删掉的话就可以不用密码进入任何库了,非常危险我们需求只是修改mysql库的密码

 连接mysql

mysql -uroot -p123456#此方式只能连接本地数据库localhost,但很多时候都需要连接网络中某一个主机上的mysqlmysql -uroot -p123456 -h127.0.0.1 -P3306#-h指定远程主机的IP,-P(后面的)指定远程主机mysql的绑定端口,默认为3306mysql -uroot -p123456 -S/tmp/mysql.sock#-S:=socket,指定socket。此方法只适用于本地连接,等同于“mysql -uroot -p123456”mysql -uroot -p123456 -e “show databases”#显示所有数据库,适用于shell脚本中

mysql常用命令

库由表组成,表由字段组成查询库 show databases;切换到mysql库 use mysql;以下命令需要切换库之后执行:查看库里的表 show tables;查看表里的字段 desc tb_name;查看建表语句 show create table tb_name\G;查看当前是哪个用户 select user();查看当前使用的数据库 select database();查看所有用户 select * from user\G;创建一个新库 create database db_name;创建一个新表t1 create table t1(`id` int(4),`name` char(40));查看当前数据库版本 select version();查看mysql当前状态 show status;查看所有参数 show variables; 查看某参数 show variables like 'max_connect%';修改参数 set global max_connect_errors=1000;查看mysql进程队列 show processlist; (用的最多的地方)查看队列详细信息show full processlist;删除库 drop database db_name删除表 drop table tb_name#查看服务器队列在日常工作中最为频繁,因为它可以查看当前mysql在干什么,也可以发现是否有锁表

用户授权管理

创建一个普通用户并授权grant all on *.* to 'user1' identified by 'passwd';创建后指定登录IPgrant all on *.* to 'user1'@'127.0.0.1' identified by '123456a';#创建user1用户all表示所有的权限,并授予其所有权限“*.*”(通配符)#第一个*表示db_name(所有的数据库);第二个*表示tb_name(所有的表)#同时指定其来源IP127.0.0.1(即,只可通过此IP登录)#此处可以使用通配符%,代表所有IP(一般不使用)#设定密码:identified by用户登录:使用IP登录mysql -uuser1 -p123456 -h127.0.0.1创建后指定登录socket(这里不太清楚后面注意)grant all on *.* to 'user2'@'localhost' identified by '123456';用户的登录使用socker登录mysql -uuser2 -p'123456'#指定登录主机为localhost,所以该用户默认使用(监听)本地mysql.socket文件,不需要指定IP即可登录。
对具体权限进行授权:create database db1;#创建一个新库db1grant SELECT,UPDATE,INSERT on db1.* to 'user2'@'192.168.133.1' identified by 'passwd';#创建user2用户,并授予其针对db1库SELECT,UPDATE,INSERT权限grant all on db1.* to 'user3'@'%' identified by 'passwd';show grants;#创建user3,并针对所有IP授予其db1库所有权限#用户和主机用@分割,主机IP用%代替表示所有主机show grants;#查询当前用户权限show grants for user2@192.168.133.1;#查看指定用户权限

常用sql语句

select count(*) from mysql.user;#查看指定库的行数,musql.user表示mysql库的user表,count(*)表示共有多少行select * from mysql.db;#查询库的所有内容select db from mysql.db;select db,user from mysql.db;#查看库指定内容,db表的所有内容select * from mysql.db where host like '192.168.%';#查看某些IP对应的库内容,like表示匹配insert into db1.t1 values (1, 'abc');#向表中插入内容update db1.t1 set name='aaa' where id=1;#更改表的某一行truncate table db1.t1;#清空一个表中内容drop table db1.t1;#删除表drop database db1;#删除库

数据备份恢复

当数据库量小的时候用可以,如果量大了就需要用其他的备份方法备份:

备份指定库  mysqldump -uroot -p123456 mysql > /tmp/mysql.sql备份所有库 mysqldump -uroot -p123456 -A > /tmp/mysql.sql恢复库 mysql -uroot -p123456 mysql < /tmp/mysql.sql备份指定表 mysql -uroot -p123456 mysql user > /tmp/user.sql只备份表结构 mysqldump -uroot -p123456 -d mysql > /tmp/mysql.sql恢复表 mysql -uroot -p123456 mysql user < /tmp/user.sql

 

转载于:https://my.oschina.net/u/3655649/blog/1612719

你可能感兴趣的文章
hdu1074 状压DP、栈实现记录路径
查看>>
Jquery trigger 触发不了hover
查看>>
【算法笔记】
查看>>
oracle rda日志
查看>>
C/C++中随机数的获取: 伪随机函数
查看>>
397. 最长上升连续子序列
查看>>
"Ray, Pass me the dishes!" UVALive - 3938 (线段树)
查看>>
有关于key值
查看>>
MyEclipse10中导入的jquery文件报错(出现红叉叉,提示语法错误)
查看>>
离线部署 Cloudera Manager 5 和 CDH 5.12.1 及使用 CDH 部署 Hadoop 集群服务
查看>>
cursor:not-allowed
查看>>
用maven插件自动生成mybatis代码(转载http://blog.csdn.net/yinkgh/article/details/52512983)...
查看>>
TortoiseGit上传代码到GitHub
查看>>
hdu 2462 poj 3696 The Luckiest number fzu 1017 zoj 1537 Playing with Calculator
查看>>
检验函数运行时间
查看>>
【转】Objective-C学习笔记八:类的定义二
查看>>
黑马程序员-基础部分
查看>>
ASP.NET伪静态及静态优越点
查看>>
latin1字符集在navicat下显示乱码(mysql)
查看>>
算法19-----(位运算)找出数组中出现只出现一次的数
查看>>