CentOS7上安装MySQL8

 

1、检查是否已安装:rpm -qa|grep -i mysql,如果已安装,需要卸载:rpm -ev mysql80-community-****

CentOS7上安装MySQL8_第1张图片

2、yum仓库下载MySQL: yum localinstall https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm

CentOS7上安装MySQL8_第2张图片

CentOS7上安装MySQL8_第3张图片

3、yum安装MySQL:yum install mysql-community-server

CentOS7上安装MySQL8_第4张图片

CentOS7上安装MySQL8_第5张图片

4、检查是否已安装:rpm -qa|grep -i mysql

CentOS7上安装MySQL8_第6张图片

5、启动MySQL服务:service mysqld start(或者是systemctl start  mysqld.service),

并查看服务状态:systemctl status  mysqld.service

CentOS7上安装MySQL8_第7张图片

6、查看初始化密码:grep 'temporary password' /var/log/mysqld.log ,

7、登陆: mysql -u root -p ,输入上面密码(HBPnFtugo3,;),如果没有,直接回车,然后输入命令  flush privileges

CentOS7上安装MySQL8_第8张图片

8、修改root登录密码:ALTER USER 'root'@'localhost' IDENTIFIED BY '密码';(注意要切换到mysql数据库,使用use mysql)

注意:开始遇到问题是不输入密码或输错密码都能连接MySQL server,后来在修改允许阿里CentOS7允许远程操作MySQL数据库时,

才发现需要去调整 /etc/my.cnf文件,注释掉skip-grant-tables,重启MySQL服务(sudo service mysqld restart),quit退出连接,重新连接就需要输入密码了

后期如果忘记密码,可以通过skip-grant-tables配置跳过输入密码登录MySQL,执行7、8步进行修改,如果‘root’@'localhost'变为'root'@'%',那么alter语句中的也要修改

9、配置MySQL允许外部访问:

   1)首先设置阿里云安全组规则入方向,支持MySQL端口3306可访问(协议类型下拉菜单中有MySQL端口)

   2)服务端登录MySQL,use mysql;然后执行select user,host from user可查看用户及对应允许访问主机

  然后执行update user set host = '%' where user ='root';允许任何外部可访问;再执行上一步查看命令,可比较结果

10、如此即可连接

注:show global variables like 'port';可查看MySQL服务端口,如果看到的value为0,则说明没有使用密码登录,需要去修改my.cnf文件;

my.cnf文件也可以通过port=3306来指定MySQL服务端口,重启MySQL服务即可

11、java连接8.0及以上MySQL数据库使用新驱动

这个问题是在我用本地工具可以连同阿里云服务器上的MySQL,而本地用java怎么也连不上,偶然间点开工具测试连接的详细信息发现新的驱动,更改java对应驱动后,连接成功

12、注意:在第7部输入密码登陆是报如下的错,

查看日志:cat /var/log/mysqld.log,有如下的错误信息:

  [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use –explicit_defaults_for_timestamp server option (see documentation for more details). 
 [ERROR] –initialize specified but the data directory has files in it. Aborting. 
 [ERROR] Aborting
解决方案:红色字体里面说明,mysql中的data目录已经有数据了,

A、停止服务:systemctl stop mysqld.service

B、删除日志文件(存放了临时密码):rm -rf /var/log/mysqld.log

C、通过vim /etc/my.cnf找到data目录:datadir=/var/lib/mysql;进入/var/lib/mysql后,查看到确实有数据

CentOS7上安装MySQL8_第9张图片

将/var/lib/mysql备份,然后重新启动,systemctl start mysqld.service

参考:https://www.cnblogs.com/hujiapeng/p/9124298.html

          https://blog.csdn.net/liyf155/article/details/61420126

 

 

 

 

你可能感兴趣的:(Mysql)