Centos7下安装MySQL8.0.12

1、安装包准备

去官网下载(MySQL :: Download MySQL Community Server)对应系统以及版本的安装包,

2、卸载旧版

# rpm -qa|grep mariadb

mariadb-libs-5.5.52-1.el7.x86_64

#rpm -e --nodeps mariadb-libs-5.5.52-1.el7.x86_64

3、解压安装包文件

tar xvf mysql-8.0.12-1.el7.x86_64.rpm-bundle.tar

​​​​​​​4、安装数据库

rpm -ivh mysql-community-common-8.0.12-1.el7.x86_64.rpm

rpm -ivh mysql-community-libs-8.0.12-1.el7.x86_64.rpm

rpm -ivh mysql-community-client-8.0.12-1.el7.x86_64.rpm

rpm -ivh mysql-community-server-8.0.12-1.el7.x86_64.rpm

rpm -ivh mysql-community-libs-compat-8.0.12-1.el7.x86_64.rpm

​​​​​​​5、初始化数据库

mysqld --initialize --user=mysql

​​​​​​​6、启动数据库

systemctl start mysqld

​​​​​​​7、设置开机自动启动并查看是否设置成功

systemctl enable mysqld

systemctl is-enabled mysqld

​​​​​​​8、查看密码

grep 'temporary password' /var/log/mysqld.log

​​​​​​​9、登录重置root@localhost密码

利用第8步获取到的MySQL初始密码登录MySQL

set password="gm%nhC5CW7qSEB7W";

10、修改MySQL密码认证插件方式

MySQL 8 采用新的认证插件,使用旧版本的客户端会无法连接

处理方法:

1)升级客户端及驱动

2)修改已有用户的认证方法

alter user root@'%' identified  WITH mysql_native_password by '9C%wke?gjQA*4';

alter user root@'%' identified  WITH  by '6Y*.uVe&l!tY';

3)更改加密模式再建用户

ALTER USER 'root'@'%' IDENTIFIED BY 'Ai%7KP+L$8exgJqi' PASSWORD EXPIRE NEVER;

create user root@'%' identified with mysql_native_password by 'SHqaJqG25J($rRKz';

注:mysql8.0默认使用caching_sha2_password身份验证机制——从原来的 mysql_native_password更改为 caching_sha2_password。

从 5.7 升级 8.0 版本的不会改变现有用户的身份验证方法,但新用户会默认使用新的 caching_sha2_password 。客户端不支持新的加密方式。

方法之一,修改用户的密码和加密方式

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';

方法二:修改 /etc/my.cnf

[mysqld]

default_authentication_plugin=mysql_native_password

​​​​​​​11、修改mysql时区

查看mysql当前时间:select curtime();      或 select now();

查看mysql当前时区:show variables like "%time_zone%";

1.临时修改

#修改mysql全局时区为北京时间,即我们所在的东8区:set global time_zone = '+8:00';

#修改当前会话时区:set time_zone = '+8:00';

#立即生效:flush privileges;

2.通过修改my.cnf配置文件来修改时区

vim /etc/my.cnf

##在[mysqld]区域中加上

default-time_zone = '+8:00'

重启mysql使新时区生效

3.初始化mysql时修改

如果不方便重启mysql,又想临时解决时区问题,可以通过php或其他语言在初始化mysql时初始化mysql时区这里,以php为例,在mysql_connect()下使用:

mysql_query("SET time_zone = '+8:00'")

这句代码的作用是在mysql连接时,就会将时区的参数设置为东8区,也就是北京时间。但需要注意的是,这样只能解决mysql在时间上的问题,但mysql的某些系统函数仍然不能使用,如now()等。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值