Mysql_8.0.19安装

一、环境

Linux环境:centos7_x64
Mysql版本:8.0.19

二、安装包(包括驱动包)

链接:https://pan.baidu.com/s/1eTvD4agWspBn2L0Dr5fA6A
提取码:pmrp

三、解压安装

解压第一个tar文件,并依次安装:

安装mysql-community-libs包之前,需把linux自带的mariadb-libs包卸载掉,否则会失败
rpm -qa | grep mariadb-libs*
rpm -e --nodeps mariadb-libs*

安装:

mysql-community-common-8.0.19-1.el7.x86_64.rpm
mysql-community-libs-8.0.19-1.el7.x86_64.rpm
mysql-community-client-8.0.19-1.el7.x86_64.rpm
mysql-community-server-8.0.19-1.el7.x86_64.rpm
安装命令: rpm -ivh rpm包名

Mysql_8.0.19安装

四、启动登录及连接问题

systemctl start mysqld.service

ERROR 1045 (28000): Access denied for user ‘root’@’localhost’ (using password: NO)

  • 跳过密码验证,再修改密码:

关闭mysql
vi /etc/my.cnf 尾部加上:skip-grant-tables
启动mysql
登录 mysql -uroot -p(enter进入mysql)
使用mysql数据库:use mysql;
更新root密码为空字符串:update user set authentication_string=’’ where user=‘root’;
删除之前步骤加上的“skip-grant-tables”
然后重启mysql:
登录mysql:mysql -uroot
修改密码:ALTER user ‘root’@‘localhost’ IDENTIFIED BY ‘你的密码’;

  • 查询密码,登录再修改密码

cat /var/log/mysqld.log | grep password
依次尝试查询出来的密码,登录root用户
修改密码:ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘password’;

  1. 连接不上
    is blocked because of many connection errors ;unblock with ‘mysqladmin flush-hosts’

进入mysql
刷新hosts:flush hosts;

  1. navicat连接报错
    1130:HOST xxx is not allowed to connect to this MySQL Server

改变mysql用户连接权限
use mysql;
select host, user from user; update user set host = ‘%’ where user = ‘root’;
flush privileges;

Mysql_8.0.19安装

还原密码验证插件,将MySQL8的密码认证插件由caching_sha2_password更换成mysql_native_password:
执行:ALTER USER ‘root’@’%’ IDENTIFIED WITH mysql_native_password BY ‘passowrd’;

防火墙

  • centos6:
    // 临时关闭
    service iptables stop
    // 禁止开机启动
    chkconfig iptables off
  • centos7:
    // 临时关闭
    systemctl stop firewalld
    // 禁止开机启动
    systemctl disable firewalld

防火墙放行3306端口,设置MySQL开机自启:
firewall-cmd --zone=public --add-port=3306/tcp --permanent systemctl enable mysqld

使用root开机启动报错:Failed to execute operation: Access denied

没有关闭selinux,好像是如果对一个文件没有正确安全上下文配置, 甚至你是root用户,你也不能启动某服务 执行:setenforce 0
再开机启动:systemctl enable mysqld

五、初始化

Linux 环境下默认是区分大小写的,在数据库初始化时需要设定不区分大小写
若直接修改/ect/my.cnf文件,直接添加lower_case_table_names=1,无法重新再启动mysql,so…

初始化时执行:/usr/sbin/mysqld --initialize --user=mysql --lower-case-table-names=1

如果数据库初始化时未设置,并且还有了数据:

1、删掉mysql重装,初始化时重新设置
或者
2、删掉mysql数据:rm -rf /var/lib/mysql,修改文件设置一个大小写问题

六、卸载
卸载

yum remove mysql mysql-server mysql-libs compat-mysql51
rm -rf /var/lib/mysql

检查是否还有其它mysql,如有yum remove + 【名字】删除

rpm -qa|grep mysql

检查删除其它相关文件

find / -name mysql

删除

rm -rf /usr/lib/mysql

查看卸载情况(空则卸载完成)

rpm -qa|grep -i mysql

七、连接驱动

使用8.0的驱动包 方言:database-platform: org.hibernate.dialect.MySQL5Dialect
地址:url:
jdbc:mysql://192.168.56.101:3306/esb8?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true
驱动:driver-class-name: com.mysql.cj.jdbc.Driver

  • Unable to create requested service
    [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment]

注意检查连接的账号密码url及驱动链接是否拼写错误,以及方言设置
org.hibernate.dialect.MySQL5Dialect:新版本的mysql方言
org.hibernate.dialect.MySQLDialect :老版本的mysql方言

写的很棒的一篇文章:https://blog.csdn.net/qq_37880968/article/details/80476324

PickMe!!!!!PickMe!!!!PickMe!!!!!PickMe!!!!PickMe!!!!