博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
第十三章、MYSQL常用操作
阅读量:4578 次
发布时间:2019-06-08

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

13.1 设置更改root密码
13.2 连接mysql
13.3 mysql常用命令
13.4 mysql用户管理
13.5 常用sql语句
13.6 mysql数据库备份恢复
 
 
13.1 设置更改root密码
/usr/local/mysql/bin/mysql -uroot
• #更改环境变量PATH,增加mysql绝对路径,就可直接
mysql -uroot
export PATH=$PATH:/usr/local/mysql/bin/
#让该命令永久生效,将上面添加PATH的命令放到/etc/prefile文件里面,然后source  /etc/prefile,让配置立即生效
 
 mysql -uroot -p123456     #-p输入密码 ,密码正确进入mysql
 
#密码最好加上单引号,因为如果密码含有特殊字符便识别不了
 
 mysqladmin -uroot password '123456'    
#设置mysql的root用户密码
 
 mysqladmin -uroot -p '123456'  password '1234'            #更改root密码
 
密码重置(
不知道密码
1、编辑mysql配置文件
 vi /etc/my.cnf   
#增加一行内容  
skip-grant
#skip-grant 表示忽略授权,即不用用户名密码可以直接登录
 
2、 重启mysql服务,让前面的配置生效
/etc/init.d/mysqld restart
 
3、登录mysql,更改mysql库的用户密码表,达到重新设置密码的目的
mysql -uroot                  #登录mysql
use mysql;                    #切换到mysql库
update user set 
password=password('123456') where user='root';            #修改root密码为123456
 
4、编辑mysql配置文件,将增加的skip-grant删掉,然后重启mysqld服务
 
 
13.2 连接mysql
连接mysql的命令
mysql -uroot -p123456
#连接本机mysql
 
mysql -uroot -p123456 -h127.0.0.1 -P3306
#连接远程mysql,需要-h输入ip,还有-P指定端口
 
mysql -uroot -p123456 -S/tmp/mysql.sock

 

#通过-S指定socket文件进行链接
(只适用于本机)
 
mysql -uroot -p123456 -e “show databases”
#-e选项,不进入mysql对数据库的内容进行操作( 一般使用在shell脚本里面)
#不进入mysql将所有的数据库列出来
 
 
13.3 mysql常用命令
1、查询库
      show databases;
 
2、切换库     
 use mysql;
 
3、 查看库里的表     
show tables;
 
4、查看表里的字段 
 desc tb_name;
 
5、 查看建表语句   
 
show create table tb_name\G;           
 #\G的作用是使数据排列整齐
 
 
6、 查看当前用户
    select user();
#会将ip反解析成主机名,跟在用户名后面
 
7、查看当前使用的数据库 
 select databsase();
 
8、创建库   
create database db1;
 
9、创建表   
use db1;
 create table t1(`id` int(4), `name` char(40));
 
10、查看查看创建表的语句
show create  tables  t1\G;
 
#mysql默认的字符集是latin1,可以修改,只需要在创建表的语句指定字符集,比如:
create table t1(`id` int(4), `name` char(40)) ENGINE=InnoDB DEFAULT  CHARSET=utf8
 
#在不想执行的语句开头加上#号,语句便不执行
 
11、删除表     
drop  table t1;
 
12、查看当前数据库版本   
select version();
 
13、 查看数据库状态     
show status;
 
14、查看各参数    
show variables;            #查看所有参数
show variables like 'max_connect%';
#查看指定参数包含max_connect,
%表示通配
 
15、修改参数   
 set global max_connect_errors=1000;
 
16、查看队列  
show processlist;             #最后一列不完整
show full processlist;   #加上full,最后一列完整列出
 
#使用mysql数据库后会在root目录下生成.mysql_history的文件,可以查看mysql命令历史
 
 
13.4 mysql用户管理
#grant语句是不会记录到命令历史里面的,因为不安全
 
grant语句说明:
#grant指定权限,@后面指定用户只能通过来源ip进行登录或者localhost,identified by指定用户密码
#@指定localhost时,对应的是socket文件
 
grant all on *.* to 'user1'@'127.0.0.1   identified by 'passwd';
#创建mysql用户user1,设定密码为passwd,授于所有权限,限定只能通过127.0.0.1进行登录
 
grant SELECT,UPDATE,INSERT on db1.* to 'user2'@'192.168.233.1' identified by 'passwd';
#创建用户user2,密码为passwd,授予允许在db1库查,改,增的权限,限定只能192.168.233.1进行登录
 
grant all on db1.* to 'user3'@'%' identified by 'passwd'
#%表示通配,这里指的是所有的ip
#创建user3,密码为passwd,授于所有权限,允许所有ip进行登录
 
show grants;         #查看当前用户的权限语句
 
show grants for user2@192.168.233.1;
#查看指定用户的授权语句
 
 
退出mysql的三种方式:
1、quit
2、exit
3、CTRL+D
 
 
13.5 常用sql语句
1、select查看语句
select count(*) from mysql.user;
#count指的是行数,库和表之间用"."点进行隔开
#查看mysql库中user表的行数
 
当使用select * from的操作时,(
建议少用这个*操作)
mysql库里面所有的表默认使用的引擎是MyISAM,该引擎会自动统计表的行数,所以就算用*操作时查询会快一点;
但是
其他库里面所有的表默认使用的引擎是InnoDB,用*操作时会很慢,很消耗内存。
 
select * from mysql.db; 
#这里的*指的是所有内容
#查看mysql库的db表的所有内容
 
select db from mysql.db;
#查看mysql库的db表的db字段
 
select db,user from mysql.db;
#查看mysql库的db表的db字段和user字段
#多个字段查询用逗号隔开即可","
 
select * from mysql.db where host like '192.168.%';
#模糊查询,查看mysql库的db表中与192.168.%有关的内容
 
2、insert插入语句
insert into db1.t1 values (1, 'abc');
#在db1库的t1表内插入数据(1,'abc')
 
desc db1.t1;
insert into db1.t1 values (1, 'abc');
select * from  db1.t1;
 
3、update更改语句
update db1.t1 set name='aaa' where id=1;
#更改db1库t1表内id=1的行的name字段为aaa
#where前面的条件是查找,后面的条件是替换
 
4、delete删除表内容
delete  from  db1.t1 where  id=2;
#删除db1库t1表内id=2的行
 
5、truncate清空表内容
truncate table db1.t1;
#将db1库t1表的内容清空
 
6、drop删除表或库
drop table db1.t1;
#删除db1.t1表
 
drop database db1;
#删除db1库
 
delete、truncate、drop的区别
1、delete、truncate只是删除表的内容,表结构没有变化
2、drop直接删除表,表结构发生变化
 
 
13.6 mysql数据库备份恢复
#备份用mysqldump,恢复用mysql
1、备份库 
语法:
mysqldump  -uroot -p密码  备份的库名 
 
 mysqldump -uroot -p123456 mysql > /tmp/mysql.sql
#将备份的mysql库重定向到/tmp/mysql.sql文件内
 
2、恢复库 
mysql -uroot -p123456 mysql < /tmp/mysql.sql
 
演示:创建一个新的库mysql2,然后将备份的mysql库数据传到mysql2库
mysql -uroot -p123456 -e "create database mysql2"       #创建mysql2库
 
mysql -uroot -p123456 mysql < /tmp/mysql.sql        
将备份的/tmp/mysql.sql 文件反向重定向到mysql2库
 
3、备份表 
mysqldump -uroot -p123456 mysql user > /tmp/user.sql文件
#备份mysql库的user表到/tmp/user.sql
 
4、恢复表 
mysql -uroot -p123456 mysql < /tmp/user.sql
#要恢复表只需要写表所在的库名即可
 
5、备份所有库-A 
mysqldump -uroot -p123456  -A >/tmp/123.sql
#-A表示所有all的意思
#备份所以库到/tmp/123.sql文件
 
6、只备份表结构-d
mysqldump -uroot -p123456 -d mysql > /tmp/mysql.sql
#备份mysql库中的表结构
 
 
扩展
mysql5.7 root密码更改
 
myisam 和innodb引擎对比
 
mysql 配置详解:
 
mysql调优:
 
同学分享的亲身mysql调优经历:
 
SQL语句教程
 
什么是事务?事务的特性有哪些?
 
根据binlog恢复指定时间段的数据
 
mysql字符集调整
13.1 设置更改root密码
13.2 连接mysql
13.3 mysql常用命令
13.4 mysql用户管理
13.5 常用sql语句
13.6 mysql数据库备份恢复
 
 
13.1 设置更改root密码
/usr/local/mysql/bin/mysql -uroot
• #更改环境变量PATH,增加mysql绝对路径,就可直接
mysql -uroot
export PATH=$PATH:/usr/local/mysql/bin/
#让该命令永久生效,将上面添加PATH的命令放到/etc/prefile文件里面,然后source  /etc/prefile,让配置立即生效
 
 mysql -uroot -p123456     #-p输入密码 ,密码正确进入mysql
 
#密码最好加上单引号,因为如果密码含有特殊字符便识别不了
 
 mysqladmin -uroot password '123456'    
#设置mysql的root用户密码
 
 mysqladmin -uroot -p '123456'  password '1234'            #更改root密码
 
密码重置(
不知道密码
1、编辑mysql配置文件
 vi /etc/my.cnf   
#增加一行内容  
skip-grant
#skip-grant 表示忽略授权,即不用用户名密码可以直接登录
 
2、 重启mysql服务,让前面的配置生效
/etc/init.d/mysqld restart
 
3、登录mysql,更改mysql库的用户密码表,达到重新设置密码的目的
mysql -uroot                  #登录mysql
use mysql;                    #切换到mysql库
update user set 
password=password('123456') where user='root';            #修改root密码为123456
 
4、编辑mysql配置文件,将增加的skip-grant删掉,然后重启mysqld服务
 
 
13.2 连接mysql
连接mysql的命令
mysql -uroot -p123456
#连接本机mysql
 
mysql -uroot -p123456 -h127.0.0.1 -P3306
#连接远程mysql,需要-h输入ip,还有-P指定端口
 
mysql -uroot -p123456 -S/tmp/mysql.sock
#通过-S指定socket文件进行链接
(只适用于本机)
 
mysql -uroot -p123456 -e “show databases”
#-e选项,不进入mysql对数据库的内容进行操作( 一般使用在shell脚本里面)
#不进入mysql将所有的数据库列出来
 
 
13.3 mysql常用命令
1、查询库
      show databases;
 
2、切换库     
 use mysql;
 
3、 查看库里的表     
show tables;
 
4、查看表里的字段 
 desc tb_name;
 
5、 查看建表语句   
 
show create table tb_name\G;           
 #\G的作用是使数据排列整齐
 
 
6、 查看当前用户
    select user();
#会将ip反解析成主机名,跟在用户名后面
 
7、查看当前使用的数据库 
 select databsase();
 
8、创建库   
create database db1;
 
9、创建表   
use db1;
 create table t1(`id` int(4), `name` char(40));
 
10、查看查看创建表的语句
show create  tables  t1\G;
 
#mysql默认的字符集是latin1,可以修改,只需要在创建表的语句指定字符集,比如:
create table t1(`id` int(4), `name` char(40)) ENGINE=InnoDB DEFAULT  CHARSET=utf8
 
#在不想执行的语句开头加上#号,语句便不执行
 
11、删除表     
drop  table t1;

 

转载于:https://www.cnblogs.com/Lucky-LGX/p/9724334.html

你可能感兴趣的文章
yii2.0 报错Cookievalidationkey Must Be Configured With A Secret Key
查看>>
JQ在线引用地址
查看>>
TCP协议
查看>>
高级IO-锁与进程和文件
查看>>
对象在内存中的布局-对象的创建
查看>>
FZU 1077 铁皮容器 【枚举/二分】
查看>>
uva 11795 Mega Man's Mission(动态规划-状态压缩DP)
查看>>
MATLAB实现曲线拟合
查看>>
html总结
查看>>
WPF RichTextBox,关键字搜索,样式改变,超链接替换,图文混排
查看>>
gc日志分析
查看>>
数据结构--栈的思想与数组实现
查看>>
javascript的构造函数和原型
查看>>
ES数据迁移之elasticdump
查看>>
详解C#break ,continue, return
查看>>
Python如何发布程序
查看>>
java中使用session的一些细节
查看>>
浏览器输入服务器端口号来访问html网页
查看>>
hdu 6435 CSGO(最大曼哈顿距离)
查看>>
GridControl详解(四)分组排序汇总 .
查看>>