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 **个

xml 复制代码
01_mysql-community-common-5.7.16-1.el7.x86_64.rpm

02_mysql-community-libs-5.7.16-1.el7.x86_64.rpm

03_mysql-community-libs-compat-5.7.16-1.el7.x86_64.rpm

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

05_mysql-community-server-5.7.16-1.el7.x86_64.rpm

mysql-connector-java-5.1.27-bin.jar

安装 MySQL

(1)安装依赖

api 复制代码
[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.rpm

sudo 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))

mysql 复制代码
[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的报错:

相关推荐
Ai 编码助手2 小时前
MySQL中distinct与group by之间的性能进行比较
数据库·mysql
陈燚_重生之又为程序员2 小时前
基于梧桐数据库的实时数据分析解决方案
数据库·数据挖掘·数据分析
caridle2 小时前
教程:使用 InterBase Express 访问数据库(五):TIBTransaction
java·数据库·express
白云如幻2 小时前
MySQL排序查询
数据库·mysql
萧鼎2 小时前
Python并发编程库:Asyncio的异步编程实战
开发语言·数据库·python·异步
^velpro^2 小时前
数据库连接池的创建
java·开发语言·数据库
苹果醋33 小时前
Java8->Java19的初步探索
java·运维·spring boot·mysql·nginx
荒川之神3 小时前
ORACLE _11G_R2_ASM 常用命令
数据库·oracle
IT培训中心-竺老师3 小时前
Oracle 23AI创建示例库
数据库·oracle
小白学大数据3 小时前
JavaScript重定向对网络爬虫的影响及处理
开发语言·javascript·数据库·爬虫