mysql有关运维的面试题_mysql数据库运维面试题「建议收藏」

mysql有关运维的面试题_mysql数据库运维面试题「建议收藏」1.登陆数据库(1)单实例mysql-uroot-poldboy(2)多实例mysql-uroot-poldboy-S/data/3306/mysql.sock2.查看数据库版本及当前登录用户是什么mysql>selectversion();查看版本+————+|version()|+————+|5.5.22-log|+——-…

大家好,又见面了,我是你们的朋友全栈君。

1.登陆数据

(1)单实例

mysql -uroot -poldboy

(2)多实例

mysql -uroot -poldboy -S /data/3306/mysql.sock

2.查看数据库版本及当前登录用户是什么

mysql> select version(); 查看版本

+————+

| version() |

+————+

| 5.5.22-log |

+————+

1 row in set (0.00 sec)

mysql> select user(); 查看用户

+——–+

| user() |

+——–+

| root@ |

+——–+

1 row in set (0.00 sec)

3.创建GBK字符集的数据库oldboy,并查看已建库的完整语句

mysql> create database oldboy character set gbk collate gbk_chinese_ci;

mysql> show create database oldboyG

4.创建用户oldboy,使之可以管理数据库oldboy

第一种方法:

mysql> grant all on oldboy.* to oldboy@’localhost’ identified by ‘123456’;

mysql> select user,host from mysql.user;

第二种方法:

mysql> grant all on oldboy.* to oldboy@’192.168.1.%/255.255.255.0’ identified by ‘123456’;

mysql> select user,host from mysql.user;

第三种方法:

mysql> create user ‘abc’@’localhost’ identified by ‘123456’;

mysql> grant all on oldboy.* to ‘abc’@’localhost’;

6.查看当前数据库里有哪些用户。

mysql> select user,host from mysql.user;

7.进入oldboy数据库

mysql> use oldboy

8.创建一innodb引擎字符集为GBK表test,字段为id和namevarchar(16),查看建表结构及SQL语句

mysql> create table test(

-> id int(4),

-> name varchar(16)

-> )ENGINE=innodb default charset=gbk;

Query OK, 0 rows affected (0.02 sec)

第一种方法:

mysql> desc test;

第二种方法:

mysql> show columns from test;

查看表权限

mysql> show create table test;

9.插入一条数据 1,oldboy

mysql> insert into test values(1,’oldboy’);

mysql> select * from test;

10.批量插入数据 2,老男孩,3,etiantian。要求中文不能乱码

mysql> insert into test values(2,’老男孩’),(3,’etiantian’);

Query OK, 2 rows affected (0.07 sec)

Records: 2 Duplicates: 0 Warnings: 0

查看创建情况

mysql> select * from test;

11.查询插入的所有记录,查询名字为oldboy的记录。查询id大于1的记录。

(1)第一种方法

mysql> select * from test;

(2)第二种方法

mysql> select * from test where name=’oldboy’;

(3)第三种方法

mysql> select * from test where id>1;

12.把数据id等于1的名字oldboy更改为oldgirl

mysql> update test set name=’oldgirl’ where id=1;

Query OK, 1 row affected (0.00 sec)

Rows matched: 1 Changed: 1 Warnings: 0

查看修改情况

mysql> select * from test;

13.在字段name前插入age字段,类型tinyint(2)

mysql> alter table test add age tinyint(2) after id;

Query OK, 3 rows affected (0.04 sec)

Records: 3 Duplicates: 0 Warnings: 0

mysql> desc test;

14.备份oldboy库及MySQL库

mysqldump -uroot -poldboy -S /data/3306/mysql.sock –events -B oldboy mysql >/opt/mysql_back.sql

cat /opt/mysql_back.sql

15.删除表中的所有数据,并查看

第一种mysql> delete from test;

第二种mysql> truncate table test;

mysql> select * from test;

Empty set (0.00 sec)

16.删除表test和oldboy数据库并查看

mysql> drop table test; 删除表

mysql> drop database test; 删除库

17.Linux命令行恢复以上删除的数据

mysql -uroot -poldboy -S /data/3306/mysql.sock

18.把GBK字符集修改为UTF8(可选,注意,此题有陷阱)

mysql> show variables like ‘character_set_%’;

解决方法思想:

1、停止MySQL,单例可以使用/etc/init.d/mysqld(编译的话需要设置,yum安装就会出现) 多实例:/data/3306/mysql shutdown或者是/data/3306/mysql stop 这个需要我们自己写脚本。

官方有参考

2、cp /etc/my.cnf /etc/my.cnf.bak,修改前做备份,这是个好习惯。 修改my.cnf vi /etc/my.cnf 在[client]下添加,client为控制客户端的,没试过,没有的可以不需要加。 default-character-set=utf8 在[mysqld]下添加,mysqld为控制服务器端的,改过了,OK。 default-character-set=utf8

3.重启:yum安装可以使用/etc/init.d/mysqld start 多实例要使用/data/3306/mysql restart(多实例详细介绍见下一篇文章)

4.show variables like ‘%char%’;查看

19.MySQL密码丢了,如何找回实战?

单实例

/etc/init.d/mysqld stop

mysqld_safe –skip-grant-tables –user=mysql &

mysql

修改完密码重启/etc/init.d/mysqld restart

多实例

/data/3306/mysql stop 无法停止

killall mysqld

mysqld_safe –defaults-file=/data/3306/my.cnf –skip-grant-tables –user=mysql &

update mysql.user set password=password(‘oldboy456′) where user=’root’ and host=’local

host’;

flush privileges;

mysql 登录

mysqladmin -uroot -poldboy shutdown/

etc/init.d/mysqld start

MySQL内中文数据乱码的原理及如何防止乱码?(可选)

1. 网站程序字符集

2. 客户端的字符集

3. 服务器端字符集

4. linux客户端字符集

5. 以上都要统一,否则会出现中文乱码

如果编译的时候指定了特定的字符集,则以后创建对应字符集的数据库就不需要指定字符集

-DDEFAULT_CHARSET=utf8

-DDEFAULT_COLLATION=utf8_general_ci

-DEXTRA_CHARSETS=gbk,gb2312,utf8,ascii

提示:二进制软件包,安装的数据库字符集默认latinl

21.在把id列设置为主键,在Name字段上创建普通索引

mysql> alter table test add primary key(id);

mysql> desc test;

添加索引步骤

mysql> alter table test add index index_name(name);create index index_name on test(name);

22.在字段name后插入手机号字段(shouji),类型char(11)

mysql> alter table test add shouji char(11) after name;

23.所有字段上插入2条记录(自行设定数据)

mysql> insert into test values(4,24,’cyh’,’604419314′),(5,38,’oldboy’,’123456′);

24.在手机字段上对前8个字符创建普通索引

mysql> alter table test add index index_shouji(shouji(8));

25.查看创建的索引及索引类型等信息

mysql> show index from testG

26.删除Name,shouji列的索引

alter table test drop index index_name;

drop index index_shouji on test;

ysql> drop index index_shouji on test;

27.对Name列的前6个字符以及手机列的前8个字符组建联合索引

mysql> alter table test add index index_name_shouji(name(6),shouji(8));

28.查询手机号以135开头的,名字为oldboy的记录(此记录要提前插入)

mysql> select * from test where name=’cyh’ and shouji like ‘6044%’;

29.查询上述语句的执行计划(是否使用联合索引等)

mysql> explain select * from test where name=’cyh’ and shouji like ‘6044%’G

30.把test表的引擎改成MyISAM

mysql> SHOW CREATE TABLE TESTG

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/133552.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • spring espect XX but YY

    spring espect XX but YY注入和查找问题HSFConsumerbean,注入的是beanName=’实际接口名’,type=’HSFSpringConsumerBean’,造成Autowire时查询出来的类型不匹配MybatisMapper的autowire为什么没有类型不匹配的问题,注入时是Mapper的代理类,查询出来却直接是Mapper实现类?@autowiredpr…

    2022年10月21日
    0
  • rocketmq的原理_dns原理及其解析过程

    rocketmq的原理_dns原理及其解析过程1如何保证消息的可靠性传输生产者丢失数据:生产者设置同步提交消息,并且手动提交,将消息同步刷盘到从节点后在返回成功,broker:主从复制,同步刷盘消费端:消费重试,只有返回consume_success才算消费完成,保证消息的可靠性,最终还是消费16次还是失败的会进死信队列2.如何保证消息不被重复消费消费端消费消息的幂等1服务端代码根据messageId设置分布式锁,获取锁再做业务操作2更新数据库时校验业务的状态3或者设置唯一索引3.如何保证消息的顺序性…

    2022年10月29日
    0
  • linux下java的环境配置

    linux下java的环境配置linux下java的环境配置文章目录linux下java的环境配置1.删除原有的java环境2.去官网下载相应的Java环境3.在Linux上进行解压4.修改~/.bashrc参考链接之前在大数据配置hadoop开发环境的时候,进行了相关的配置,所以还有印象,接下来对虚拟机ubuntu进行java的环境配置1.删除原有的java环境2.去官网下载相应的Java环境我用的是java8的环境,比较经典,另外还有java11也是比较稳定的,相较于java8做了一些改进3.在Linux上进行解

    2022年5月16日
    43
  • 程序世界,平凡的我

    做一个积极的人编码、改bug、提升自己我有一个乐园,面向编程,春暖花开!昨天是2019年4月23日,这是一个什么日子呢? 如果我没有看日历的提醒,我其实也不忘记了这是什么日子。每一年的4月23日是世界读书日,世界读书日你读书了吗?昨天我是没有真正读书的,昨天下班比较晚,回到家吃饭洗漱完快十二点了,想着第二天还要上班,就睡觉了。今天刷CSDN看到征文活动: “征文|@程序员 你读过的书,…

    2022年2月28日
    38
  • 【金融市场基础知识】——中国的金融体系(一)[通俗易懂]

    【金融市场基础知识】——中国的金融体系(一)[通俗易懂]阅读之前看这里????:博主是一名正在学习证券知识的学生,在每个领域我们都应当是学生的心态,也不应该拥有身份标签来限制自己学习的范围,所以博客记录的是在学习过程中一些总结,也希望和大家一起进步,在记录之时,未免存在很多疏漏和不全,如有问题,还请私聊博主指正。博客地址:天阑之蓝的博客,学习过程中不免有困难和迷茫,希望大家都能在这学习的过程中肯定自己,超越自己,最终创造自己。目录中国的金融体系(一)一、中国金融市场的历史、现状及影响因素1、新中国成立以来我国金融市场的发展历史★2、我国金融市场的发展现状

    2022年5月27日
    68
  • CUDA—使用GPU暴力激活成功教程密码

    CUDA—使用GPU暴力激活成功教程密码GPU支持大规模的并行加速运算,胜在量上,CPU处理大量的并行运算显得力不从心,它是胜在逻辑上。利用显卡加速的应用越来越多,但如果说GPU即将或最终将替代CPU还有点言过其实,二者最终将优势互补,各尽所能。使用显卡的无脑并行运算激活成功教程密码是一个不错的选择。这里选择一种简单的情况,限定密码是6位纯数字,并且不限定输入次数,这种情况下可以使用GPU暴力激活成功教程,当然…

    2022年8月22日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号