mysql安装_改密码_找回密码

2024-06-11 22:12

本文主要是介绍mysql安装_改密码_找回密码,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

mysql

1.mysql安装

安装包准备好,删除cos7自带的 mysql

rpm -qa | grep -i -E mysql\|mariadb | xargs -n1 sudo rpm -e --nodeps

2)将安装包和JDBC驱动上传到/opt/module/mysql,共计**6 **个

01_mysql-community-common-5.7.16-1.el7.x86_64.rpm02_mysql-community-libs-5.7.16-1.el7.x86_64.rpm03_mysql-community-libs-compat-5.7.16-1.el7.x86_64.rpm04_mysql-community-client-5.7.16-1.el7.x86_64.rpm05_mysql-community-server-5.7.16-1.el7.x86_64.rpmmysql-connector-java-5.1.27-bin.jar

安装 MySQL

(1)安装依赖

[itwise@node2 mysql]$ sudo rpm -ivh 01_mysql-community-common-5.7.16-1.el7.x86_64.rpm
sudo rpm -ivh 02_mysql-community-libs-5.7.16-1.el7.x86_64.rpmsudo rpm -ivh 03_mysql-community-libs-compat-5.7.16-1.el7.x86_64.rpm

2)安装mysql-client

sudo rpm -ivh 04_mysql-community-client-5.7.16-1.el7.x86_64.rpm

3)安装mysql-server

[itwise@node2 mysql]$ sudo yum install -y libaio
[itwise@node2 mysql]$ sudo rpm -ivh 05_mysql-community-server-5.7.16-1.el7.x86_64.rpm
5072e1f5:

4)启动mysql

sudo systemctl start mysqld

5)查看 mysql 密码

[itwise@node2 mysql]$ sudo cat /var/log/mysqld.log |grep password

2配置mysql

配置只要是 root 用户+密码,在任何主机上都能登录 MySQL 数据库。

1)用刚刚查到的密码进入mysql如果报错,给密码加单引号)

[itwise@node2 mysql]$ mysql -uroot -p 

3*)更改mysq*密码策略

mysql> set global validate_password_length=4;
mysql> set global validate_password_policy=0;

4)设置简单好记的密码

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

5**)进入** msyql

mysql> use mysql

6)查询user

mysql> select user, host from user;

7)修改user 表,把 Host 表内容修改为**%**

mysql> update user set host="%" where user="root";

8)刷新

mysql> flush privileges;

9)退出

mysql> quit;

10)重启数据库

[itwise@node2 mysql]$ sudo systemctl restart mysqld;

2.mysql卸载

rpm -qa|grep -i mysql

显示之前安装了:

MySQL-client-xxxxx
MySQL-server-xxxx

2、停止mysql服务、删除之前安装的mysql
删除命令:rpm -e –nodeps 包名

rpm -ev MySQL-xxxxx 
rpm -ev MySQL-xxxx

如果提示依赖包错误,则使用以下命令尝试

rpm -ev MySQL-xxxxx   --nodeps

如果提示错误:error: %preun(xxxxxx) scriptlet failed, exit status 1

则用以下命令尝试:

rpm -e --noscripts MySQL-xxxxxxxxxx

3、查找之前老版本mysql的目录、并且删除老版本mysql的文件和库

find / -name mysql

查找结果如下:

find / -name mysql  /var/lib/mysql
/var/lib/mysql/mysql
/usr/lib64/mysql

删除对应的mysql目录

rm -rf /var/lib/mysql
rm -rf /var/lib/mysql
rm -rf /usr/lib64/mysql

注意:卸载后/etc/my.cnf不会删除,需要进行手工删除

rm -rf /etc/my.cnf

4、再次查找机器是否安装mysql

rpm -qa|grep -i mysql

2)将安装包和JDBC驱动上传到/opt/module/mysql 目录中

3.mysql密码忘记(重设密码)

1.先将[MySQL]停止、

命令:

systemctl stop mysqld    #停掉MySQL

命令:

systemctl status mysqld     #查看状态

2.然后跳过授权表启动MySQL服务程序

主要利用mysqld的

--skip-grant-tables  选项修改my.cnf配置,添加 skip_grant_tables=1启动设置:

打开/etc/my.cnf配置文件

添加skip_grant_tables 一行,然后保存退出

[itwise@had ~] mysqld --console --skip-grant-tables --shared-memory 

3.然后启动MySQL并查看状态(看见active (running))

[itwise@had ~]systemctl start  mysqld 

4.使用mysql命令连接到MySQL服务,重设root的密码

由于前一步启动的MySQL服务跳过了授权表,所以可以root从本机直接登录

在命令行内直接输入

[itwise@had ~]mysql

5.进入 mysql> 环境后,通过修改mysql库中user表的相关记录,重设root用户从本机登录的密码:

update mysql.user set authentication_string=password('123qqq...A')   where user='root' and host='localhost';  #重新设置密码
命令:FLUSH PRIVILEGES;          #刷新授权列表
然后输入  exit  退出mysql

注意:通过执行“FLUSH PRIVILEGES;”可使授权表立即生效,对于正常运行的MySQL服务,也可以用上述方法来修改密码,不用重启服务。本例中因为是恢复密码,最好重启MySQL服务程序,所以上述“FLUSH PRIVILEGES;”操作可跳过。

6.重新以正常方式启动MySQL服务程序,验证新密码

如果前面是修改/etc/my.cnf配置的方法来跳过授权表,则重置root密码后,应去除相应的设置以恢复正常:

--skip-grant-tables  选项修改my.cnf配置,

7.重置后的新密码,才能成功登入(试试新鲜出炉的密码吧):

mysql -root -p新密码

4.mysql(root) 修改密码

1.重置管理员root密码

正常的前提是:已知当前MySQL管理用户(root)的密码。方法:在Shell命令行下设置

使用mysqladmin管理工具,需要验证旧的密码。比如,以下操作将会把root的密码设置为A…qqq321 :

 命令:mysqladmin -uroot -p password '新密码'-- ‘原密码’

2.以root登入mysql> 后,使用set password指令设置

这个与新安装MySQL-server后首次修改密码时要求的方式相同,平时也可以用

命令:set

set password for root@localhost=password('1234567');  

扩展一下(如果出现ERROR 3009 (HY000): Column count of mysql.user is wrong. Expected 45, found 42. Created with MySQL 50564, now running 50726. Please use mysql_upgrade to fix this error. 这种报错,是因为没更新数据库里的结构信息导致的,

mysql_upgrade  -uroot  -p'123qqq...A') 输入一行命令即可解决:
输入原密码;

导致的报错,可能 use用户表没更新又重新设置密码才会这样的

3 ,以root登入mysql> 后,使用GRANT授权工具设置

这个是最常见的用户授权方式:

命令: grant all ON *.* TO root@localhost identified by '新密码';

!!!退出前一定要刷新!!!

在上述方法中,需要特别注意:当MySQL服务程序以 skip-grant-tables 选项启动时,如果未执行“FLUSH PRIVILEGES;”操作,是无法通过set password或者grant方式来设置密码的。登录MySQL或者验证这两种方式时,都会看到ERROR 1045的报错:

这篇关于mysql安装_改密码_找回密码的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1052401

相关文章

canal实现mysql数据同步的详细过程

《canal实现mysql数据同步的详细过程》:本文主要介绍canal实现mysql数据同步的详细过程,本文通过实例图文相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的... 目录1、canal下载2、mysql同步用户创建和授权3、canal admin安装和启动4、canal

Nexus安装和启动的实现教程

《Nexus安装和启动的实现教程》:本文主要介绍Nexus安装和启动的实现教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、Nexus下载二、Nexus安装和启动三、关闭Nexus总结一、Nexus下载官方下载链接:DownloadWindows系统根

SQL中JOIN操作的条件使用总结与实践

《SQL中JOIN操作的条件使用总结与实践》在SQL查询中,JOIN操作是多表关联的核心工具,本文将从原理,场景和最佳实践三个方面总结JOIN条件的使用规则,希望可以帮助开发者精准控制查询逻辑... 目录一、ON与WHERE的本质区别二、场景化条件使用规则三、最佳实践建议1.优先使用ON条件2.WHERE用

MySQL存储过程之循环遍历查询的结果集详解

《MySQL存储过程之循环遍历查询的结果集详解》:本文主要介绍MySQL存储过程之循环遍历查询的结果集,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录前言1. 表结构2. 存储过程3. 关于存储过程的SQL补充总结前言近来碰到这样一个问题:在生产上导入的数据发现

MySQL 衍生表(Derived Tables)的使用

《MySQL衍生表(DerivedTables)的使用》本文主要介绍了MySQL衍生表(DerivedTables)的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学... 目录一、衍生表简介1.1 衍生表基本用法1.2 自定义列名1.3 衍生表的局限在SQL的查询语句select

MySQL 横向衍生表(Lateral Derived Tables)的实现

《MySQL横向衍生表(LateralDerivedTables)的实现》横向衍生表适用于在需要通过子查询获取中间结果集的场景,相对于普通衍生表,横向衍生表可以引用在其之前出现过的表名,本文就来... 目录一、横向衍生表用法示例1.1 用法示例1.2 使用建议前面我们介绍过mysql中的衍生表(From子句

六个案例搞懂mysql间隙锁

《六个案例搞懂mysql间隙锁》MySQL中的间隙是指索引中两个索引键之间的空间,间隙锁用于防止范围查询期间的幻读,本文主要介绍了六个案例搞懂mysql间隙锁,具有一定的参考价值,感兴趣的可以了解一下... 目录概念解释间隙锁详解间隙锁触发条件间隙锁加锁规则案例演示案例一:唯一索引等值锁定存在的数据案例二:

MySQL JSON 查询中的对象与数组技巧及查询示例

《MySQLJSON查询中的对象与数组技巧及查询示例》MySQL中JSON对象和JSON数组查询的详细介绍及带有WHERE条件的查询示例,本文给大家介绍的非常详细,mysqljson查询示例相关知... 目录jsON 对象查询1. JSON_CONTAINS2. JSON_EXTRACT3. JSON_TA

MySQL 设置AUTO_INCREMENT 无效的问题解决

《MySQL设置AUTO_INCREMENT无效的问题解决》本文主要介绍了MySQL设置AUTO_INCREMENT无效的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参... 目录快速设置mysql的auto_increment参数一、修改 AUTO_INCREMENT 的值。

MYSQL查询结果实现发送给客户端

《MYSQL查询结果实现发送给客户端》:本文主要介绍MYSQL查询结果实现发送给客户端方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录mysql取数据和发数据的流程(边读边发)Sending to clientSending DataLRU(Least Rec