• 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.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)安装依赖

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

    [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-WB2模组基于TCP的MQTT连接服务器使用示例
    【python操作Excel的方法】
    充电学习—3、Uevent机制和其在android层的实现
    GoLang HTTP和REST客户端库: resty
    Cesium快速上手7-3dtiles加载
    跨境电商背后的业务逻辑集运+代购系统
    93. 复原 IP 地址
    10种有用的Linux Bash_Completion 命令示例
    我原本写了一个网页并且上线了,后面把内容全部改过,为什么打开网页还是显示旧的内容。(浏览器缓存已清理)
  • 原文地址:https://blog.csdn.net/qq_61809177/article/details/139602206