1.1.1 开启MySQL服务

/etc/init.d/mysqld start
使用/etc/init.d/mysqld
start命令启动数据库的本质就相当于执行mysqld_safe --user=mysql &命令。

1.1.2 检测端口是否运行

[root@db02 application]# netstat -lntup| grep 3306

tcp       
0      0 :::3306                     :::*                        LISTEN      45675/mysqld

[root@db02 application]#

1.1.3 为MySQL设置密码或者修改密码。

mysqladmin -uroot password ‘123456’设置密码
mysqladmin -u root -p password ‘oldboy123’修改密码

1.1.4 登陆MySQL数据库。

mysql -uroot -poldboy123 -h 127.0.0.1
mysql -uroot -poldboy123 --protocol TCP
mysql -uroot -poldboy123 -S /application/mysql/tmp//mysql.sock

1.1.5 查看当前数据库的字符集

mysql> show character set;
mysql> show charset;

1.1.6 查看当前数据库版本

mysql>
select version();

+-----------+

| version() |

+-----------+

| 5.6.36    |

+-----------+

1 row in set (0.04 sec)

mysql>
select @@version;

+-----------+

| @@version |

+-----------+

| 5.6.36    |

+-----------+

1 row in set (0.18 sec)

mysql>
mysql> status

--------------

mysql  Ver
14.14 Distrib 5.6.36, for linux-glibc2.5 (x86_64) using  EditLine wrapper

Connection id:      11

Current database:   oldboy

Current user:       root@localhost

SSL:            Not
in use

Current pager:      stdout

Using outfile:      ''

Using delimiter:    ;

Server version:     5.6.36
MySQL Community Server (GPL)

Protocol version:   10

Connection:     Localhost
via UNIX socket

Server characterset:    latin1

Db    
characterset:    latin1

Client characterset:    utf8

Conn. 
characterset:    utf8

UNIX socket:        /tmp/mysql.sock

Uptime:         2
hours 44 min 34 sec

Threads: 1 
Questions: 41  Slow queries:
0  Opens: 68  Flush tables: 1  Open tables: 61  Queries per second avg: 0.004

--------------

mysql>
[root@db02 scripts]# mysql -V

mysql  Ver
14.14 Distrib 5.6.36, for linux-glibc2.5 (x86_64) using  EditLine wrapper

[root@db02 scripts]#
[root@db02 scripts]# mysql
--help| grep Distrib

mysql  Ver
14.14 Distrib 5.6.36, for linux-glibc2.5 (x86_64) using  EditLine wrapper

[root@db02 scripts]#
mysql> show variables like
"%version%";
+-------------------------+------------------------------+

| Variable_name           | Value                        |

+-------------------------+------------------------------+

| innodb_version          | 5.6.36                       |

| protocol_version        | 10                           |

| slave_type_conversions  |                              |

| version                 | 5.6.36                       |

| version_comment         | MySQL Community Server (GPL) |

| version_compile_machine | x86_64                       |

| version_compile_os      | linux-glibc2.5               |

+-------------------------+------------------------------+

7 rows in set (0.34 sec)

1.1.7 查看当前登录的用户。

mysql> select user();

1.1.8 查看内存进程线程监控信息;

mysql> show engine innodb status\G

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

mysql> create database oldboy charset gbk;
mysql> show create database oldboy;

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

mysql> create user oldboy@'172.16.1.%'
identified by '123456';
grant all on oldboy.* to oldboy@'172.16.1.%' identified by '123456';

1.1.11 查看创建的用户oldboy拥有哪些权限

show grants for oldboy@'172.16.1.%'\G

1.1.12 查看当前数据库里有哪些用户

select user ,host from mysql.user;

1.1.13 进入oldboy数据库

use oldboy

1.1.14 创建一innodb GBK表test,字段id int(4)和namevarchar(16)

mysql> create table test ( id int(4) not null ,
name varchar(16) default null ) engine=Innodb default charset=gbk;

1.1.15 查看建表结构及表结构的SQL语句

mysql> show create table test;

mysql> desc test;

1.1.16 插入一条数据“1,oldboy”

insert into test(id,name) values(1,'oldboy');

1.1.17 再批量插入2行数据 “2,老男孩”,“3,oldboyedu”

mysql> insert into test values(3,'老男孩'),(4,'olodboyedu');

1.1.18 查询名字为oldboy的记录

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

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

mysql> update test set name='oldgirl' where
name='oldboy';

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

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

1.1.21
不退出数据库,完成备份oldboy数据库

\! mysqldump -uroot -p123456 -S
/tmp/mysql.sock  --events -B oldboy mysql
>/opt/bak_$(date +%F).sql

1.1.22 删除test表中的所有数据,并查看

truncate table test;
delete from test;

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

drop table test;
drop database oldboy;

1.1.24 不退出数据库恢复以上删除的数据

mysql -uroot -p123456 -S /tmp/mysql.sock
</opt/bak_2017-11-20.sql

1.1.25 把库表的GBK字符集修改为UTF8。

1.先导出表中数据

mysqldump -uroot -poldboy123 -S
/data/3306/mysql.sock -B oldboy >/opt/test.sql

egrep -v "^$|--|\/" /opt/test.sql #<==可以看到这一行:ENGINE=MyISAM DEFAULT CHARSET=gbk;

2.修改字符集

sed -i 's#CHARSET=gbk#CHARSET=utf8#g' /opt/test.sql

egrep -v "^$|--|\/" /opt/test.sql #<==验证:) ENGINE=MyISAM DEFAULT CHARSET=utf8;

3.恢复数据

在sql文件中添加一条 set names utf8;并恢复

mysql -uroot -poldboy123 -S
/data/3306/mysql.sock  oldboy
</opt/test.sql

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

alter table test add primary key (id);

alter table test add index index_name (name);

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

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

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

mysql> insert into test
values(5,'12','ll','123456'),(6,'13','kaka','5236');

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

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

1.1.30 查看创建的索引及索引类型等信息。

mysql> desc test;

mysql> show create table test\G

mysql> show index from test\G

mysql>

1.1.31 删除Name,shouji列的索引。

mysql> alter table test drop index index_shouji;
mysql> alter table test drop index index_name;

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

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

1.1.33 查询手机号以135开头的,名字为oldboy的记录(提前插入)。

mysql> select * from test where name='oldboy'
and shouji like '135%';

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

mysql> explain select * from test where
name='oldboy' and shouji like '135%'\G

1.1.35 把test表的引擎改成MyISAM。

mysql> alter table test engine=myisam;

1.1.36 收回oldboy用户的select权限。

revoke select 
on oldboy.* from oldboy@'172.16.1.%';

1.1.37 删除oldboy用户。

drop user oldboy@'172.16.1.%';

1.1.38 删除oldboy数据库。

drop database oldboy

1.1.39 使用mysqladmin关闭数据库。

mysqladmin -uroot -poldboy123 shutdown

1.1.40 MySQL密码丢了,请找回?

[root@db01 ~]# netstat -tunlp|grep 3306 #<==先查看服务是否正常

tcp       
0      0 0.0.0.0:3306            0.0.0.0:*          LISTEN      62358/mysqld

[root@db01 ~]# kill 62358 #<==kill掉进程的pid

[root@db01 ~]# netstat -tunlp|grep 3306
#<==mysql进程已关闭

[root@db01 ~]# mysqld_safe --help #<==利用mysqld_safe命令指定配置文件,跳过授权表来破密码

[root@db01 ~]# mysqld_safe
--defaults-file=/data/3306/my.cnf --skip-grant-tables 2>&1 >/dev/null
&

[root@db01 ~]# mysql -S /data/3306/mysql.sock
#<==无密码登录进多实例3306

mysql> select user,host,password from mysql.user
where user='root' and host='localhost';

+------+-----------+-------------------------------------------+

| user | host     
| password                                  |

+------+-----------+-------------------------------------------+

| root | localhost |
*FE28814B4A8B3309DAC6ED7D3237ADED6DA1E515 |

+------+-----------+-------------------------------------------+

1 row in set (0.00 sec)#<==先看下mysql库,user表里的字段内容

mysql> update mysql.user set
password=PASSWORD("123456") where user='root' and host='localhost';
#<==利用update命令来更新root@localhost用户的密码

mysql> flush privileges; #<==记得刷新授权表,否则不会立马生效的

Query OK, 0 rows affected (0.00 sec)

[root@db01 ~]# sed -i
's#mysql_pwd="oldboy456"#mysql_pwd="oldboy123"#g'
/data/3306/mysql

[root@db01 ~]# grep mysql_pwd= /data/3306/mysql
#<==修改启动脚本的密码,才能利用命令来停止服务

mysql_pwd="oldboy123"

[root@db01 ~]# /data/3306/mysql stop #<==先停掉服务,因为有跳过授权表的参数在

Stoping MySQL...

[1]+ 
Done   mysqld_safe
--defaults-file=/data/3306/my.cnf --skip-grant-tables 2>&1 >
/dev/null

[root@db01 ~]# /data/3306/mysql start #<==启动

Starting MySQL...

[root@db01 ~]# ss -tunlp|grep 3306 #<==侦听正常

tcp   
LISTEN     0      600          *:3306        *:*     
users:(("mysqld",66695,12))

[root@db01 ~]# mysql -uroot -poldboy123 -S
/data/3306/mysql.sock #<==成功登录

msyql操作100题的更多相关文章

  1. 数据结构+算法面试100题~~~摘自CSDN

    数据结构+算法面试100题~~~摘自CSDN,作者July 1.把二元查找树转变成排序的双向链表(树) 题目:输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表.要求不能创建任何新的结点,只调 ...

  2. Go面试题精编100题

    Golang精编100题 选择题 1.   [初级]下面属于关键字的是()A. funcB. defC. structD. class 参考答案:AC 2.   [初级]定义一个包内全局字符串变量,下 ...

  3. LeetCode面试常见100题( TOP 100 Liked Questions)

    LeetCode面试常见100题( TOP 100 Liked Questions) 置顶 2018年07月16日 11:25:22 lanyu_01 阅读数 9704更多 分类专栏: 面试编程题真题 ...

  4. 操作实践题 - HTML 列表综合应用

    通过对列表的综合应用,编写如下效果网页: 解答: <html> <head> <title>操作实践题</title> <meta http-eq ...

  5. bzoj 前100题计划

    bzoj前100题计划 xz布置的巨大的坑.. 有空填题解... 1002 轮状病毒 用python手动matrixtree打表. #include<bits/stdc++.h> #def ...

  6. 【C/C++学院】0831-类与对象的异常/面试100题1-100

    类与对象的异常 Cpp异常 #include <iostream> #include <string.h> using namespace std; //标识错误的类型 cla ...

  7. oracle刚開始学习的人经常使用操作100问

    oracle刚開始学习的人经常使用操作100问 1. Oracle安装完毕后的初始口令?   internal/oracle sys/change_on_install system/manager ...

  8. Python练习100题

    Python练习100题 题目:有1.2.3.4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? #Filename:001.py cnt = 0#count the sum of res ...

  9. 【微软100题】定义字符串的左旋转操作:把字符串前面的若干个字符移动到字符串的尾部。 如把字符串abcdef左旋转2位得到字符串cdefab。请实现字符串左旋转的函数。

    package test; /** * 定义字符串的左旋转操作:把字符串前面的若干个字符移动到字符串的尾部. 如把字符串abcdef左旋转2位得到字符串cdefab. 请实现字符串左旋转的函数. * ...

随机推荐

  1. shell直接退出后 后台进程关闭的原因和对处

    在linux上进行测试时发现启动后台进程后,如果使用exit退出登录shell,shell退出后后台进程还是能够正常运行,但如果直接关闭登陆的窗口(如直接关掉xshell),那后台进程就会一起终了.都 ...

  2. [转] php foreach用法和实例

    PHP 4 引入了 foreach 结构,和 Perl 以及其他语言很像.这只是一种遍历数组简便方法.foreach 仅能用于数组,当试图将其用于其它数据类型或者一个未初始化的变量时会产生错误.有两种 ...

  3. SQl Server 表链接查询

    之前漏下了,这里补一偏 select * from student,score ——笛卡尔积 可以想想成c#里面的多维函数的样子,打印时每一张表的每一条数据都会连带着第二张表的所有数据 两个表的连接: ...

  4. 100211D Police Cities

    传送门 分析 看到这个题我们的第一反应自然是Tarjan缩点,在这之后我们可以发现实际只要在缩点之后所有出度或入度为0的点布置警察局就可以达到要求,我们用dpij表示考虑前i个出度或入度为0的点共布置 ...

  5. 前端基础 之 CSS

    浏览目录 CSS介绍 CSS语法 CSS的几种引入方式 CSS选择器 CSS属性相关 一.CSS介绍 CSS(Cascading Style Sheet,层叠样式表)定义如何显示HTML元素. 当浏览 ...

  6. WordCountPro小程序

    WordCountPro小程序 基本任务 1.githu地址 https://github.com/JarrySmith/WordCountPro 2.psp2.1表   PSP2.1 PSP阶段 预 ...

  7. 终极解决傻X阿里钱盾新手开店及老卖家复核身份证照片模糊无法对焦问题

    我小米3阿里钱盾认证拍照无法对焦,后来咨询客服,客服让买新的或借朋友的.然后百度了一下发现模糊现象不是个例,好多比较新的小米5,华为手机什么的也都模糊.真是幸庆,,差点就被客服带坑里去买新手机了. 然 ...

  8. WebGoat系列实验Access Control Flaws

    WebGoat系列实验Access Control Flaws Using an Access Control Matrix 在基于角色的访问控制策略中,每个角色都代表了一个访问权限的集合.一个用户可 ...

  9. 【IMOOC学习笔记】多种多样的App主界面Tab实现方法(四)

    ViewPagerIndicator+ViewPager 要想使用ViewPagerIndicator,要使用到viewPagerlibrary开源库 top.xml <?xml version ...

  10. JDBC 配置环境

    一.配置JDBC环境:先下载驱动jar包 1.配置classpath环境变量  如(E:\jdbc\mysql-connector-java-5.1.7-bin.jar) 2.数据库URL: 2.1 ...