Mysql5.7的初始化及配置(linux)

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 

.将编译好的 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

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值