【记录】Linux环境安装mysql8.0

断了今生、忘了曾经 提交于 2020-03-08 05:21:33

话说mysql8.0版本比5.7版本要快2倍以上,这么看宣传怎么能不装8.0呢,但是新版本和旧版本有不少不同导致若使用以前的一些安装方法会导致安到一半就由于各种找不到文件卡住。

尝试了不少次,只有使用yum源安装的方法成功了,其中还有以boot版本的编译安装方法,结果编译到73%卡住怎么也过不去233

基本按照下面这个博客的教程即可以安装成功,在此感谢正确且完善的良心教程:

https://blog.csdn.net/qq_35098526/article/details/80077683

以下为以防万一的copy,

1. wget https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm

2. sudo rpm -ivh mysql80-community-release-el7-1.noarch.rpm

3. sudo yum install mysql-server

4. mysql -u root (失败)

5. sudo chown -R root:root /var/lib/mysql

6. service mysqld restart

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

7. mysql -u root -p(成功)

8. ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';(密码需要大小写英文加数字)

以下为使用navicat连接Linux上的mysql的方法。

由于存在防火墙,mysql对应的端口未开放的关系,无法从外部网络连接。

最简单的方法是停掉防火墙,但是这样做不安全,若发现Linux未安装防火墙,则可以

先以防万一停止防火墙服务

sudo systemctl stop firewalld.service (service  iptables stop)

sudo systemctl disable firewalld.service

重新安装防火墙

sudo yum install iptables-services  

sudo systemctl enable iptables

sudo systemctl enable ip6tables 

启动防火墙

sudo systemctl start iptables 

sudo systemctl start ip6tables

查看防火墙状态,应该是active

service iptables status

查看开放的端口,这里应该没有mysql的3306端口

netstat -aptn 

打开防火墙设置,输入以下语句并输入i进入编辑模式

vi /etc/sysconfig/iptables

在Commit语句的上一条的上面加入以下语句开放3306端口

-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

-A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT

iptables -I INPUT -p tcp --dport 3306 -j ACCEPT

service iptables save

(firetabled的情况下)

firewall-cmd --zone=public --add-port=3690/tcp --permanent

重启防火墙设置

systemctl restart iptables.service

登录mysql

mysql -u root -p;

切换数据库

use mysql;

创建全环境用root账号

create user 'root'@'%' identified by '密码';

授予root权限

grant all on *.* to root@'%';

使用以下语句解决mysql8.0 authentication plugin 'caching_sha2_password' 的问题

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '新密码';

在navicat输入新连接的主机名,用户,密码,连接测试,成功。

若遇到其他问题则继续度娘咯

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!