centos7安装mysql第一次登录_Linux centOS7 安装MySQL及初始化密码问题

Linux centOS7 安装MySQL及初始化密码问题

发布时间:2018-11-29 10:36,

浏览次数:976

, 标签:

Linux

centOS

MySQL

<>省去一切前言…

<>安装说明

以centos7 为例; centos 默认情况下会自动安装 mariadb,所以安装前请先删除mariadb数据库, 需要了解mariadb请自行查看

mariadb 。

* 执行 yum remove mariadb.x86_64 移除.( remove之前请查看对应需要移除的版本 通过 yum serach mysql

查看内置的 mariadb 版本)

* 现在MySQL数据源 , 在MySQLyum 下载地址

找到对应的链接和版本复制下载链接就行对应下载。 eg:centOS mysql 8

下载链接https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm

* 复制对应的下载链接,进入 centos 进行下载。执行 wget

https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm ;安装时间依赖网速;

一路 yes(y) 进行安装;

* 安装结束后 默认情况下会自动启动MySQL 服务; 使用 ps -ef | grep 'mysql' 查看MySQL启动进程。

<>相关命令

* service mysqld start/resart/stop (启动、重启、关闭 相关服务)

<>链接数据库

安装好数据库后,就是链接数据库。数据库在安装过程中会自动创建一个临时密码。 请在/var /log/mysqld.lod 进行密码查看。类似下面示例; 其中

root@localhost: :9;0>yeDo?pW中的 :9;0>yeDo?pW 即为你的临时密码;这里我操作是可以看见我这个密码很恶心;

我是用这个密码进行登录一直登录失败;我曾使用:9;0>yeDo?pW(:前有空格哦!) 、:9;0>yeDo?pW(:前无空格哦!) 、

9;0>yeDo?pW(没:没空格) 这上个密码进行参数均未成功; 之后就这能想到修改密码进行操作。 在 /etc/my.cnf

文件中添加 skip-grant-tables 保存之后进行数据库重启service mysqld restart; 然后就可以直接登录MySQL; 允许

mysql 进入MySQL数据库; 接下来就是进行密码修改;

划重点

* 进入 mysql 数据库下的 user表进行密码修改 ; 在MySQL中密码是进行加密的;在MySQL5.

版本中用户密码字段对应的是password;而我当时使用的树MySQL 8. 在8.* 这个版本中密码字段已经改为authentication_string

;所以在修改密码时请对应字段进行更新。网上一些帖子的操作是update user set password= password(‘123’) wehere

User =‘root’ and Host='localhost' 类似的执行更新语句,不过你会发现该更新语句未能执行。 会提示在‘()’

周围有错;这里我试了下 使用password(‘123’)加密密码这种语法是不能执行的,其中password的用法请查看MySQL相关说明

;如果不用’()'是可以更新的。 eg:update user set password ='123' where User ='root' ...

是可以更新的;不过MySQL登录密码是加密的所以直接这样更新肯定是不行的虽然密码被跟新了;不过存放的是密文登录是验证不通过的。所以这样是不行的;

[Note] [MY-010454] [Server] A temporary password is generated for

root@localhost: :9;0>yeDo?pW

<>最终解决办法

* 执行 ALTER USER 'root'@'localhost' IDENTIFIED BY 'YourPassword@123;

说明: 如果你设置的密码过于简单是不行的;密码要求会提示你至少输入一个大小写数字和符号组合的密码;所以对于修改即可;如果你先设置简单点执行set

global validate_password_policy=0; 、 set global validate_password_length=1;

后即可设置简单密码。 修改手再次执行你需要设置的密码即可。密码修改成功后 在/etc/my.cnf

文件中删除 skip-grant-tables 保存之后进行数据库重启,既可以正常使用用户名和密码进行连接啦。

<>远程登录

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'yourpassword' WITH

GRANT OPTION; // 设置登录许可 // 修改权限许可后 需要更新权限 或 重启服务 flush privileges // 1更新权限

service mysqld restart //2 退出MySQL 执行 服务重启 两者执行其一即可

如果数据库连接失败 提示1251 。继续执行ALTER USER 'root'@'%' IDENTIFIED WITH

mysql_native_password BY 'yourpassword*123' 后更新 flush privileges ;还需要注意的是

防火墙是否关闭。执行关闭service firewalld stop

说明: 初次学习相关操作;以上均为个人实践操作;如果错误或是模糊的地方欢迎指出和交流。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值