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

相关推荐
码农阿豪24 分钟前
SQL Server数据迁移完成后,凌晨的数据库告警该怎么查?
数据库·sqlserver
bjzhang7534 分钟前
sqlsugar入门
数据库·sqlsugar
全栈陈序员3 小时前
【Git】从入门到精通(十)—— 撤销与恢复:git checkout与git restore
运维·网络·数据库·git
ss2739 小时前
为什么PostgreSQL适合AI场景?
数据库·人工智能·postgresql
瑞克-桑切斯9 小时前
7、MySQL 慢查询排查与优化实战指南
java·服务器·数据库
z06.10 小时前
MySQL索引
数据库·mysql
考虑考虑10 小时前
Posrgresql恢复.backup文件
数据库·后端·postgresql
云祺vinchin11 小时前
中小企业备份软件选型从恢复需求到总体成本评估
数据库·数据备份·中小企业备份·容灾备份软件
Zenova EdgeOS11 小时前
Go 工业边缘错误处理实战:用 errors 构建可追溯错误链
开发语言·数据库·golang
KKKlucifer11 小时前
国内数据安全服务的产品智能化转型:大模型赋能下的技术能力重构分析
大数据·数据库·重构