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的报错:

相关推荐
小吴编程之路3 小时前
MySQL 索引核心特性深度解析:从底层原理到实操应用
数据库·mysql
~莫子3 小时前
MySQL集群技术
数据库·mysql
凤山老林3 小时前
SpringBoot 使用 H2 文本数据库构建轻量级应用
java·数据库·spring boot·后端
就不掉头发4 小时前
Linux与数据库进阶
数据库
与衫4 小时前
Gudu SQL Omni 技术深度解析
数据库·sql
咖啡の猫4 小时前
Redis桌面客户端
数据库·redis·缓存
oradh4 小时前
Oracle 11g数据库软件和数据库静默安装
数据库·oracle
what丶k4 小时前
如何保证 Redis 与 MySQL 数据一致性?后端必备实践指南
数据库·redis·mysql
_半夏曲4 小时前
PostgreSQL 13、14、15 区别
数据库·postgresql
把你毕设抢过来4 小时前
基于Spring Boot的社区智慧养老监护管理平台(源码+文档)
数据库·spring boot·后端