mysql -uroot -ppassword -e "set passowrd for root = passowrd('passowrd')" mysqladmin -uroot passowrd "NEWPASSWORD" 更改密码
mysqladmin -uroot passowrd oldpassowrd "NEWPASSWORD"use mysql;update user set passowrd = PASSWORD('newpassword') where user = 'root';flush privileges; msyql 5.7以上版本修改默认密码命令
alter user 'root'@'localhost' identified by 'root' 4.登陆MySQL数据库 mysql -uroot -ppassword 5.查看当前数据库的字符集 show create database DB_NAME; 6.查看当前数据库版本 mysql -V mysql -uroot -ppassowrd -e "use mysql;select version();" 7.查看当前登录的用户 select user(); 8.创建GBK字符集的数据库mingongge,并查看已建库完整语句 create database mingongge DEFAULT CHARSET GBK COLLATE gbk_chinese_ci; 9.创建用户mingongge,使之可以管理数据库mingongge grant all on mingongge.* to 'mingongge'@'localhost' identified by 'mingongge'; 10.查看创建的用户mingongge拥有哪些权限 show grants for mingongge@localhost 11.查看当前数据库里有哪些用户 select user from mysql.user; 12.进入mingongge数据库 use mingongge 13.创建一innodb GBK表test,字段id int(4)和name varchar(16) create table test ( id int(4), name varchar(16) )ENGINE=innodb DEFAULT CHARSET=gbk; 14.查看建表结构及表结构的SQL语句 desc test;show create table test/G 15.插入一条数据“1,mingongge” insert into test values('1','mingongge'); 16.再批量插入2行数据 “2,民工哥”,“3,mingonggeedu” insert into test values('2','民工哥'),('3','mingonggeedu'); 17.查询名字为mingongge的记录 select * from test where name = 'mingongge'; 18.把数据id等于1的名字mingongge更改为mgg update test set name = 'mgg' where id = '1'; 19.在字段name前插入age字段,类型tinyint(2) alter table test add age tinyint(2) after id; 20.不退出数据库,完成备份mingongge数据库 system mysqldump -uroot -pMgg123.0. -B mingongge >/root/mingongge_bak.sql 21.删除test表中的所有数据,并查看 delete from test;select * from test; 22.删除表test和mingongge数据库并查看 drop table test;show tables;drop database mingongge;show databases; 23.不退出数据库恢复以上删除的数据 system mysql -uroot -pMgg123.0. </root/mingongge_bak.sql 24.把库表的GBK字符集修改为UTF8 alter database mingongge default character set utf8;alter table test default character set utf8; 25.把id列设置为主键,在Name字段上创建普通索引 alter table test add primary key(id);create index mggindex on test(name(16)); 26.在字段name后插入手机号字段(shouji),类型char(11) alter table test add shouji char(11);#默认就是在最后一列后面插入新增列 27.所有字段上插入2条记录(自行设定数据) insert into test values('4','23','li','13700000001'),('5','26','zhao','13710000001'); 28.在手机字段上对前8个字符创建普通索引 create index SJ on test(shouji(8)); 29.查看创建的索引及索引类型等信息 show index from test;show create table test/G #下面的命令也可以查看索引类型 show keys from test/G 30.删除Name,shouji列的索引 drop index SJ on test;drop index mggindex on test; 31.对Name列的前6个字符以及手机列的前8个字符组建联合索引 create index lianhe on test(name(6),shouji(8)); 32.查询手机号以137开头的,名字为zhao的记录(提前插入) select * from test where shouji like '137%' and name = 'zhao'; 33.查询上述语句的执行计划(是否使用联合索引等) explain select * from test where name = 'zhao' and shouji like '137%'/G 34.把test表的引擎改成MyISAM alter table test engine=MyISAM; 35.收回mingongge用户的select权限 revoke select on mingongge.* from mingongge@localhost; 36.删除mingongge用户 drop user migongge@localhost; 37.删除mingongge数据库 drop database mingongge 38.使用mysqladmin关闭数据库 mysqladmin -uroot -pMgg123.0. shutdownlsof -i :3306 39.MySQL密码丢了,请找回? mysqld_safe --skip-grant-tables & #启动数据库服务mysql -uroot -ppassowrd -e "use mysql;update user set passowrd = PASSWORD('newpassword') where user = 'root';flush privileges;" (2)MySQL运维基础知识面试问答题 面试题001:请解释关系型数据库概念及主要特点? 关系型数据库模型是把复杂的数据结构归结为简单的二元关系,对数据的操作都是建立一个或多个关系表格上,最大的特点就是二维的表格,通过SQL结构查询语句存取数据,保持数据一致性方面很强大
面试题007:如何创建一个utf8字符集的数据库mingongge? create database mingongge default character utf8 collate utf8_general_ci; 面试题008:如何授权mingongge用户从172.16.1.0/24访问数据库。 grant all on *.* to mingongge@'172.16.1.0/24' identified by '123456'; 面试题009:什么是MySQL多实例,如何配置MySQL多实例? mysql多实例就是在同一台服务器上启用多个mysql服务,它们监听不同的端口,运行多个服务进程,它们相互独立,互不影响的对外提供服务,便于节约服务器资源与后期架构扩展 多实例的配置方法有两种: 1、一个实例一个配置文件,不同端口 2、同一配置文件(my.cnf)下配置不同实例,基于mysqld_multi工具
[mysqld] wait_timeout = 600interactive_timeout=30#如果生产服务器不可随便重启可以使用下面的方法解决set global wait_timeout=600set global interactive_timeout=30; 面试题014:sort_buffer_size参数作用?如何在线修改生效? 在每个connection(session)第一次连接时需要使用到,来提访问性能 set global sort_buffer_size = 2M 面试题015:如何在线正确清理MySQL binlog? MySQL中的binlog日志记录了数据中的数据变动,便于对数据的基于时间点和基于位置的恢复 但日志文件的大小会越来越大,点用大量的磁盘空间,因此需要定时清理一部分日志信息 手工删除:
首先查看主从库正在使用的binlog文件名称 show master(slave) status/G 删除之前一定要备份 purge master logs before'2017-09-01 00:00:00'; #删除指定时间前的日志 purge master logs to'mysql-bin.000001'; #删除指定的日志文件 自动删除: 通过设置binlog的过期时间让系统自动删除日志 show variables like 'expire_logs_days'; et global expire_logs_days = 30; #查看过期时间与设置过期时间