这篇文章整合了许多大佬踩得坑,加上我个人踩得坑。
因为是弄到一半才想起来写个笔记啥的,所以可能有些地方漏写了,如果遇到问题可在评论区指出,我会及时纠正的 感谢!!
使用的资源
服务器:阿里云ECS云服务器(2核2G)
系统:CentOS 8.X
工具:XShell、Navicat for MySQL等
第一步:安装MySQL
在root用户下输入以下命令
wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
yum module disable mysql
yum install mysql-community-server
完成下载和安装后启动MySQL并查看状态
//启动MySQL
service mysqld start
//查看MySQL状态
service mysqld status
查看MySQL的默认密码
grep 'temporary password' /var/log/mysqld.log
会得到类似于如下截图的内容
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5NIpmAMB-1635244684010)(C:\Users\Lynn\AppData\Roaming\Typora\typora-user-images\image-20211026153020969.png)]
最后的一串字符串即为默认密码,记得先复制到一个地方之后容易调用
第二步:修改MySQL的密码
在修改密码前我们需要对配置文件进行一些修改
vi /etc/my.cnf
进入后我们需要在[mysqld]下方添加两端
(提示:在vim中如需添加文字可先移动到需要添加处,并单击键盘字母 i 即可进入插入;修改完成后按Esc 即可退出插入功能,如需保存当前修改可按 Esc 后输入 :wq! 即可保存,不需要保存则输入 :q! )
plugin-load-add=validate_password.so
validate-password=FORCE_PLUS_PERMANENT
进入MySQL的DOS中
mysql -u root -p
输入后会要求你输入密码,此时粘贴之前的默认密码,回车即可(linux输入密码时默认不显示)。
先设置一个临时密码,此时的密码必须要有大小写字母、数字、两种符号
alter user 'root'@'localhost' identified by '123456aA>=';
//刷新权限
flush privileges;
然后我们再修改参数
set global validate_password.policy=0;
//非8.0使用 :set global validate_password_policy=0;
set global validate_password.length=1;
//非8.0使用 :set global validate_password_length=1;
最后我们再改成一个自己容易记得密码即可
alter user 'root'@'localhost' identified by '容易记的密码';
//刷新权限
flush privileges;
第三步:开放主机和端口
进入MySQL的DOS中
更改可连接的主机
update user set host = '%' where user = 'root';
//刷新权限
flush privileges;
设置root权限
GRANT ALL ON *.* TO 'root'@'%' ;
//刷新权限
flush privileges;
查看MySQL的端口
show variables like '%port%';
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-y8WGR0Oh-1635244684012)(C:\Users\Lynn\AppData\Roaming\Typora\typora-user-images\image-20211026174530892.png)]
port就是MySQL的访问端口
到阿里云控制台开放服务器的访问端口
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2tGhcH2q-1635244684014)(C:\Users\Lynn\AppData\Roaming\Typora\typora-user-images\image-20211026174819475.png)]
做完全部后我发现还是不行,查看了大量博主的帖子后终于找到了原因!!!
在MySQL的DOS中先查看用户信息
use mysql;
//查看信息
select host,user,plugin,authentication_string from mysql.user;
我得到了如下信息
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MNQpGHRe-1635244684017)(C:\Users\Lynn\AppData\Roaming\Typora\typora-user-images\image-20211026182010249.png)]
原来是plugin如果不适mysql_native_password的话就需要再修改一下配置!!!!!
//远程访问可如下设置(新密码需要至少一个大写一个小写、两种符号和数字的组合)
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '新密码';
输入成功未报错后再次查看(这个过程应该是不会报错的,我试了两次)
select host,user,plugin,authentication_string from mysql.user;
成功了!!!!!!!!!!!!
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-B6AIifGS-1635244684019)(C:\Users\Lynn\AppData\Roaming\Typora\typora-user-images\image-20211026182426145.png)]
最后记得刷新一下
flush privileges
下一步按部就班就行了,也没什么太大的坑
第四步:开放防火墙
走到这里我们还需要解决服务器内防火墙等问题
防火墙开放3306端口
//在root用户下输入以下命令查看开放的端口
firewall-cmd --list-ports
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5PWGSmIP-1635244684020)(C:\Users\Lynn\AppData\Roaming\Typora\typora-user-images\image-20211026180939144.png)]
如果没有任何显示或报错(应该不会报错)则继续,否则可跳转下一步
在开放端口前最好查看以下防火墙状态
查看防火墙状态
//输入以下命令后看到dead则防火墙未开启
systemctl status firewalld
开启防火墙
systemctl start firewalld
再次查看
//显示running或者activate则已经正常开启
systemctl status firewalld
(如果需要关闭防火墙可输入以下命令)
systemctl stop firewalld
添加3306端口
//永久开放3306端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
最后链接成功了!
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Wk7yd4gI-1635244684021)(C:\Users\Lynn\AppData\Roaming\Typora\typora-user-images\image-20211026182641753.png)]
参考文章:{
https://blog.csdn.net/qq_44792624/article/details/107426590
https://www.cnblogs.com/joker-ma/p/14925474.html
https://blog.csdn.net/weixin_39214481/article/details/80725400?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522163524255916780271518555%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=163524255916780271518555&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allbaidu_landing_v2~default-1-80725400.first_rank_v2_pc_rank_v29&utm_term=%E8%BF%9C%E7%A8%8B%E8%BF%9E%E6%8E%A5MySQL%E6%8A%A51251&spm=1018.2226.3001.4187
https://blog.csdn.net/weixin_30500289/article/details/97665107
}