话说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输入新连接的主机名,用户,密码,连接测试,成功。
若遇到其他问题则继续度娘咯
来源:https://www.cnblogs.com/syui-terra/p/9498554.html