ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

Mysql5.7的初始化及配置

2019-07-14 09:39:29  阅读:703  来源: 互联网

标签:初始化 local Mysql5.7 配置 密码 usr mysql mysql57 root


1.yum remove mariadb 卸载原先的 mariadb

#把 mariadb 卸载,以免与编译的 mysql 产生冲突

2.chown -R mysql:mysql /usr/local/mysql57

#重新修改权限,目的是在初始化数据库时,确保 /data/mysql 目录是mysql 用户可读写的。

3.提供配置文件, my.cnf 默认配置详情如下,可以自己建立

[root@mysql-80 /usr/local/mysql57/bin]# cat /etc/my.cnf

[client]
port=3306
socket=/data/mysql/mysql.sock

[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci

skip-name-resolve
user=mysql
port=3306
basedir=/usr/local/mysql57
datadir=/data/mysql
tmpdir=/tmp
socket=/data/mysql/mysql.sock

log-error=/data/mysql/mysqld.log
pid-file=/data/mysql/mysqld.pid 

4.将编译好的 mysql57/bin 里面的命令,加入到 $ PATH 变量中
PATH=$PATH:/usr/local/mysql57/bin >> /etc/profile 中,永久生效source /etc/profile 重新读取生效

5.初始化数据库

[root@mysql-80 mysql]# /usr/local/mysql57/bin/mysqld  --defaults-file=/etc/my.cnf   --initialize  --user=mysql 

#命令参数解释:
- -defaults-file : 指定MySQL配置文件路径,也就是 my.cnf,这里面有我们刚才配置好的参数
- -initialize : 初始化随机密码,注意,初始化的密码是一个过期密码,登录后需要立刻修改密码
–user: 指定运行用户

6.根据提示,找到生成的初始密码, 在自己的mysqld.log 的 日志文件中。我们可以grep password 来把临时密码找出来,或者直接一行一行地去看。
在这里插入图片描述
7.Mysql的启动以及登录
启动:

[root@mysql-80 mysql]# /usr/local/mysql57/support-files/mysql.server   start  
#启动mysql 服务器
[root@mysql-80 ~]# /usr/local/mysql57/support-files/mysql.server reload
#重载
[root@mysql-80 mysql]# /usr/local/mysql57/support-files/mysql.server   stop
#停止数据库

登录:
注意这个是你的数据库初始化生成的密码,不要直接复制我的

 [root@mysql-80 mysql]# /usr/local/mysql57/bin/mysql -uroot -p"FQfvVm0zfa;1" 
 #注意这个是你的数据库初始化生成的密码,不要直接复制我的

登录后,会提示你必须修改密码,还提示了用什么方法修改。如下图所示:
在这里插入图片描述
按照提示来:(注意分号结尾)
方法一:

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123123';          
#成功后修改新密码。
mysql> flush privileges;

在这里插入图片描述
方法二,可以 修改字段,但是不会引起 用户密码最后一次修改时间的变化 :

mysql> update  mysql.user  set  authentication_string=password("123123@qq.com");
mysql> flush privileges;

8.忘记Mysql密码
进入配置文件,进行如下修改:

[root@mysql1 ~]# vim /etc/my.cnf	

[mysqld]
skip-grant-tables
#跳过授权表

#[mysqld] 加载服务器标签
使用 skip-grant-tables 进入 mysql服务器,
可以不需要 root 密码,但是同时, 不能做 授权修改。

[root@mysql1 ~]#  /usr/local/mysql57/support-files/mysql.server  restart
[root@mysql1 ~]# /usr/local/mysql57/bin/mysql   
#无密码进入 ,使用update语句,更新自己的root密码

因为在不加载grant - tables的情况下,grant 语句, alter user 语句,都无法使用。如果使用的话会报错,如下图:
说你的数据库运行在skip-grant-tables选项下,所以它不能。
在这里插入图片描述
在这里插入图片描述

mysql> update  mysql.user  set  authentication_string=password("123123@qq.com");
mysql> flush privileges;
mysql> exit

千万记得,修改完密码,退出后,立刻去掉配置文件中的 skip-grant-tables 选项,并重载配置文件

[root@mysql1 ~]# vim /etc/my.cnf						 
[mysqld]
#skip-grant-table
#注释掉这个选项
[root@mysql1 ~]# /usr/local/mysql57/support-files/mysql.server reload

这次的分享到此结束,感谢您的阅读!如有问题,可以一起探讨,我的QQ:2072326799

标签:初始化,local,Mysql5.7,配置,密码,usr,mysql,mysql57,root
来源: https://blog.csdn.net/weixin_42480689/article/details/95853144

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有