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

mysql有关运维的面试题_mysql数据库运维面试题相关推荐

  1. mysql数据库优化器_mysql数据库运维利器-一键生成MySQL数据库优化建议-【安基网】...

    概述MySQLTuner is a script written in Perl that allows you to review a MySQL installation quickly and ...

  2. mysql数据库的笔试题_MySQL数据库常见面试题

    SQL基础 1.MySQL的数据类型 2.MySQL的SQL语句分类 DDL(Data Definition Language)语句:数据定义语言,这些语句定义了不同的数据段.表.列.索引等数据库对象 ...

  3. mysql常见函数面试题_MySql三到常见面试题,整理总结一下

    最近一个项目数据库在用MySql,于是,关于MySql的相关知识,最近也是恶补了一下.今天,我整理了3道关于MySql通常被面试官问道的问题. 1.MySql查询字段区不区分大小写? 2.MySql ...

  4. mysql数据库查询试题_mysql数据库查询练习45题

    #建学生信息表studentcreate table student ( sno varchar(20) not null primary key, sname varchar(20) not nul ...

  5. 数据库mysql数据库笔试题_MySql数据库笔试题总结

    1,设有关系EMP(ENO,ENAME,SALARY,DNO),其中各属性的含义依次为职工号.姓名.工资和所在部门号,以及关系DEPT(DNO,DNAME,MANAGER),其中各属性含义依次为部门号 ...

  6. mysql 过程和函数 变量的值_MySQL数据库提升篇-----存储过程和函数

    day06 MySQL数据库存储过程和函数 一.存储过程和函数的概述: 数据库的存储过程和存储函数是指在数据库中定义的一些sql语句的集合,直接调用这些存储过程的名字或存储函数的名字就可以直接使用这些 ...

  7. mysql计算1000天后的日期_mysql,数据库_mysql 计算某个时间,多少天后,多少个月后时间戳,mysql,数据库,数据库设计 - phpStudy...

    mysql 计算某个时间,多少天后,多少个月后时间戳 id start_time period_ytpe period_value 1 1461427200 day 3 2 1461427200 mo ...

  8. mysql 异常关机后 无法查数据_MySQL数据库非法关机造成数据表损坏怎么排查 | 学步园...

    该篇文章我们介绍由于非法硬件关机,造成了MySQL数据库的数据表损坏,数据库不能正常运行的一个实例.下面学步园小编来讲解下MySQL数据库非法关机造成数据表损坏怎么排查? MySQL数据库非法关机造成 ...

  9. mysql将查到的数据删除_MySQL数据库的基本操作——增、删、改、查

    一.数据库查询SELECT SELECT语句查询数据表中的一列或多列数据.使用集合函数显示查询结果.连接查询.子查询以及使用正则表达式查询等. SELECT语句的基本格式是: SELECT id,na ...

最新文章

  1. SDP 协议分析 http://www.cnblogs.com/qingquan/archive/2011/08/02/2125585.html
  2. mysql中enum类型
  3. HTML5语义化标签综合基础案例,HTML5语义化标签综合案例
  4. Elasticsearch线程池介绍
  5. oracle 查看监听命令_linux下使用Oracle常用命令
  6. 【软件工程】--软工文档总结
  7. 开发Google Material Design风格的WPF程序
  8. CentOS 7 安装OpenOffice并实现WordToPDF(Java调用)
  9. PuTTY 'modmul()' 函数缓冲区下溢漏洞(CVE-2013-4206)
  10. Flightgear 编译
  11. 作品展作品延伸——代码
  12. Python3使用BFS实现湖北省到全国省级行政区
  13. Matlab Astar算法简单对比分析
  14. Hamcrest 断言
  15. API拦截的应用,网址劫持
  16. 计算机英语课堂活动总结,英语活动总结(精选8篇)
  17. 数字经济时代,企业的核心竞争力究竟是什么?
  18. python变量贡献率排序_103,每个特征的贡献率是多少?
  19. 计算机英语背诵发音,英语26个字母的标准发音 26个字母背诵顺口溜
  20. 微星RTX 4090和RTX 4080 SUPRIM参数对比评测

热门文章

  1. 怎么培养自己的人格魅力
  2. 斐波那契(Fibonacci)数列
  3. 【渝粤教育】国家开放大学2018年春季 0632-21T老年保健按摩 参考试题
  4. 光电信息科学与工程算计算机类吗,光电信息科学与工程专业属于什么大类
  5. Linux 程序编译过程
  6. vs C# 怎么设置窗口属性? 显示没有边框新窗口
  7. IBM Tivoli NetView常用技巧
  8. c++定义圆类、点类,通过求两点距离判断两圆的位置关系
  9. Pycharm中使用TabNine
  10. mongodb remove.deletemany批量删除效率比较