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

相关推荐
御控工业物联网8 分钟前
御控网关如何实现MQTT、MODBUS、OPCUA、SQL、HTTP之间协议转换
数据库·sql·http
GJCTYU2 小时前
spring中@Transactional注解和事务的实战理解附代码
数据库·spring boot·后端·spring·oracle·mybatis
MicroTech20252 小时前
微算法科技(NASDAQ: MLGO)探索Grover量子搜索算法,利用量子叠加和干涉原理,实现在无序数据库中快速定位目标信息的效果。
数据库·科技·算法
Code季风2 小时前
SQL关键字快速入门:CASE 实现条件逻辑
javascript·数据库·sql
weixin_478689762 小时前
操作系统【2】【内存管理】【虚拟内存】【参考小林code】
数据库·nosql
九皇叔叔3 小时前
【7】PostgreSQL 事务
数据库·postgresql
kk在加油3 小时前
Mysql锁机制与优化实践以及MVCC底层原理剖析
数据库·sql·mysql
合作小小程序员小小店3 小时前
web网页开发,在线%ctf管理%系统,基于html,css,webform,asp.net mvc, sqlserver, mysql
mysql·sqlserver·性能优化·asp.net·mvc
Kookoos3 小时前
ABP VNext + Cosmos DB Change Feed:搭建实时数据变更流服务
数据库·分布式·后端·abp vnext·azure cosmos
JosieBook3 小时前
【Java编程动手学】Java常用工具类
java·python·mysql