操作适合5.1-5.5;当前的环境是5.5的环境;

4.1、mysql启动的原理:

mysqld_safe -> my.cnf ->mysql.sock

http://blog.51cto.com/oldboy/1431161

4.2、登录mysql深入讲解:

1、mysql单实例登录:

2、mysql多实例登录:

3、mysql登录安全设置:

shell脚本加密,shell脚本root、700;

数据库强制不记录敏感字符:

echo 'HISTCONTROL=ignorespace' >>/etc/profile

history -d 2

history -c

> /root/.bash_history

>/root/.mysql_history

区分测试环境和生产环境(防止操作错误):

PS1="\[\e[32;1m\][\u@\h \W]\\$\[\e[0m\]" #绿色用于生产环境;

PS1="\[\e[31;1m\][\u@\h \W]\\$\[\e[0m\]" #红色用于测试环境;

以上是临时生效,要永久生效,加入到/etc/profile中即可;

4、mysql退出:

4.3、使用mysql的帮助命令help:

mysql> help show grants;

4.4、修改mysql密码多种方法:

1、安全策略:

2、未登录mysql修改密码:

1、单实例:

(1)创建密码:

mysqladmin -uroot password '123456'

(2)修改密码:

mysqladmin -uroot -p123456 password '123'

2、多实例:

(1)创建密码:

mysqladmin -uroot password '123456' -S /data/3306/mysql.sock

(2)修改密码:

mysqladmin -uroot -p123456 password '123' -S /data/3306/mysql.sock

3、登录mysql后修改密码:

mysql> select user,host,password from mysql.user;

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

| user | host | password |

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

| root | localhost | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |

| root | backup | |

| root | 127.0.0.1 | |

| root | ::1 | |

| | localhost | |

| | backup | |

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

6 rows in set (0.00 sec)

1、set方法(适合普通修改用户密码):

#只修改当前登录用户的密码;

mysql> set password=password('123456');

#将数据从内存刷新到mysql.user表中;

mysql> flush privileges;

2、update方法(适合--skip-grant-tables方式找回mysql密码):

mysql> update mysql.user set password=password('123456') where user='root';

#password(123456):表示对密码进行加密,否则不能用,如果不指定用户会导致更改所有用户的密码;

mysql> flush privileges;

4.5、找回丢失的mysql root密码:

1、单实例:

(1)首先停止mysql服务:

[root@db01 ~]# /etc/init.d/mysqld stop

Shutting down MySQL. SUCCESS!

(2)使用--skip-grant-tables启动mysql,忽略授权登录验证;

[root@db01 ~]# mysqld_safe --skip-grant-tables --user=mysql &

[1] 1652

[root@db01 ~]# 190218 10:14:13 mysqld_safe Logging to '/application/mysql/data/db01.err'.

190218 10:14:13 mysqld_safe Starting mysqld daemon with databases from /application/mysql/data

[root@db01 ~]# mysql #登录mysql不需要密码;

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 1

Server version: 5.5.62 MySQL Community Server (GPL)

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

(3)修改密码:

使用update方法修改密码,不能够使用system mysqladmin的方法,因为需要旧密码,而此时已经

忽略了mysql用户授权表,不能够使用;

mysql> update mysql.user set password=password('123456') where user='root' and host='localhost';

mysql> flush privileges;

mysql> exit;

(4)停止mysql服务:

不能够使用/etc/init.d/mysqld stop 因为使用的--skip-grant-tables启动的mysql服务,脚本找不到pid文件;

[root@db01 ~]# mysqladmin -uroot -p123456 shutdown

[root@db01 ~]# n190218 10:27:03 mysqld_safe mysqld from pid file /application/mysql/data/db01.pid ended

[1]+ Done mysqld_safe --skip-grant-tables --user=mysql

(5)重新启动并登录mysql服务:

/etc/init.d/mysqld start

mysql -uroot -p123456

2、多实例:

(1)关闭mysql:

killall mysqld

(2)跳过授权表登录:

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

(3)mysql登录:

mysql -S /data/3306/mysql.sock

(4)update方法更改密码;

mysql> update mysql.user set password=password('123456') where user='root' and host='localhost';

mysql> flush privileges;

mysql> exit;

(5)停止mysql服务:

mysqladmin -uroot -p123456 -S /data/3306/mysql.sock shutdown

(6)启动mysql服务并用新的密码登录:

/data/3306/mysql start

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

3、报错解决:

1、安装二进制mysql时没有替换mysql安装路径/bin/mysqld_safe文件中/usr/local/mysql:

2、多实例没有指定sock地址:

4.6、企业安装mysql常使用的方法:

4、mysql登录密码修改和找回的更多相关文章

  1. mac下修改mysql登录密码

    mysql版本5.7.9 在mac终端下修改mysql用户登录密码 终端命令如下: update mysql.user set authentication_string=PASSWORD(" ...

  2. 忘记mysql root 密码修改小技巧

    首先我说一下我的情况,我并不是忘记了我的root密码,只不过是我在使用phpmyadmin的时候更改密码的时候选择了如图1 的这个方法将密码加密并更改了,然后就再次登录的时候登录不上,所以对于菜鸟级的 ...

  3. mysql用户密码修改,用户添加、删除及设置权限

    一下的示例所用用户名和密码为:test,111111 Mysql密码修改: Mysql修改密码需要root的权限,先执行mysql -uroot -p(密码); 1)使用set password方式来 ...

  4. 忘记Mysql登录密码

    1,使用安全模式跳过验证: 如果 Mysql在运行,Kill掉. 如果mysqld_safe无法启动,可用管理员权限sudo . 2,本地登录: 启动Mysql 3,修改密码: 5.7之后, 更改密码 ...

  5. mysql登录密码相关

    设置root登录密码 方法一:用root 进入mysql后 mysql>set password =password('你的密码'); mysql>flush privileges; 方法 ...

  6. 更改Mysql登录密码

    版本号49之前的跨域设置 在Windows命令行下修改mysql数据库密码步骤如下: 1.通过dos命令进入mysql的bin目录: 2.输入“mysql -uroot -p”,回车进入mysql命令 ...

  7. mysql忘记密码/修改密码

    关键词:忘记密码,修改密码,mysql忘记密码,mysql修改密码 转自:https://www.cnblogs.com/jdxn/p/6847089.html 方法1: 用SET PASSWORD命 ...

  8. linux下修改mysql登录密码

    一.修改mysql密码 1.停止服务      /etc/init.d/mysqld stop   2.以不检查权限的方式启动     /etc/init.d/mysqld --skip-grant- ...

  9. 修改mysql登录密码

    通过cmd   登录进mysql系统后,输入 : set password for root@localhost = password('admin'); 其中admin  为新密码: 导入外部数据库 ...

随机推荐

  1. 如何对你的Linux系统进行基准测试: 3开源基准测试工具

    如何对你的Linux系统进行基准测试: 3开源基准测试工具   0 赞0 评论 文章标签:SYS  Source  benchmark  tool  开源  基准  系统     linux实用程序的 ...

  2. docker容器中日志文件过大处理方法

    背景 :在日常工作中一个基于centos镜像构建起来的python爬虫程序,日志文件在两个月内到了500G,日志存放在根目录下面,在不扩容的情况下把这个问题给解决掉.通过定时任务和脚本的方法,定期的清 ...

  3. Java中JDK,JRE和JVM之间的关系-(转载)

    初学JAVA很容易被其中的很多概念弄的傻傻分不清楚,首先从概念上理解一下吧,JDK(Java Development Kit)简单理解就是Java开发工具包,JRE(Java Runtime Envi ...

  4. stm32中关于NVIC_SetVectorTable函数使用的疑惑与理解

    [转载]2017年12月4日14:48:29 先描述下这几天碰到的一个奇怪的问题: 一个基于stm32的工程中使用到了IAP编程,其中boot空间预留长度为0x6100,实际boot的bin文件大小为 ...

  5. Java求余%引发的一连串故事

    C1 RCE对%的处理 HotSpot VM的C1有个RCE(Range Check Elimination,范围检查消除)优化,所谓范围检查消除,就是为了正确的抛出数组越界异常,虚拟机需要在数组访问 ...

  6. Idea项目上传到gitlab(以新建项目为例)

    1.首先,需要你自己登录GitLab,并新建一个项目的链接,如下图所示: 图一: 图二: 图三(idea上传时用到此链接): 2.在idea上新建一个demo项目,创建一个Git仓库: 3.点击创建后 ...

  7. Dubbo以及Zookeeper安装

    1.什么是Dubbo? Apache Dubbo 是一款高性能.轻量级的开源 Java 服务框架 提供了六大核心能力:面向接口代理的高性能RPC调用,智能容错和负载均衡,服务自动注册和发现,高度可扩展 ...

  8. [leetcode] 72. 编辑距离(二维动态规划)

    72. 编辑距离 再次验证leetcode的评判机有问题啊!同样的代码,第一次提交超时,第二次提交就通过了! 此题用动态规划解决. 这题一开始还真难到我了,琢磨半天没有思路.于是乎去了网上喵了下题解看 ...

  9. Java中如何将函数名作为参数传递

    采用lambda表达式: import java.util.function.Function; class Test { public static void main(String... args ...

  10. BEP 7:CUDA外部内存管理插件(上)

    BEP 7:CUDA外部内存管理插件(上) 背景和目标 在CUDA阵列接口使得能够共享不同的Python之间的数据库的访问CUDA设备.但是,每个库都与其它库区别对待.例如: Numba在内部管理内存 ...