Mysql5.7的初始化及配置

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 来把临时密码找出来,或者直接一行一行地去看。
Mysql5.7的初始化及配置_第1张图片
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;

Mysql5.7的初始化及配置_第2张图片
方法二,可以 修改字段,但是不会引起 用户密码最后一次修改时间的变化 :

mysql> update  mysql.user  set  authentication_string=password("[email protected]");
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("[email protected]");
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

你可能感兴趣的:(mysql数据库)