总结一下吧
其中失败之后
卸载参考https://blog.csdn.net/dabao87/article/details/80571098里面的安装有点意思,虽然不是很懂
但我试过一次但后面我一些问题又重装
参考https://www.cnblogs.com/wangshen31/p/9556804.html写的很详细,不够我遇到一些其他问题所以稍微有点不同
首先要在阿里云上开启3306的安全策略
然后安装mysql
1.安装MySQL官方的yum repository
wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
2.下载rpm包
yum -y install mysql57-community-release-el7-10.noarch.rpm
3.安装MySQL服务
yum -y install mysql-community-server
4.启动MySQL服务
systemctl start mysqld.service
查看状态:systemctl status mysqld.service
看到绿色的active(running)就成功了
我直接停止服务:
systemctl stop mysqld.service
修改mMySQL的配置文件:
vi /etc/my.cnf
最后加上
skip-grant-tables
启动服务
systemctl start mysqld.service
跳过密码登录
mysql -u root
修改密码
use mysql;
update mysql.user set authentication_string=password('密码') where user='root';
提示:密码默认有要求的,一般是
可以修改用 set global validate_password_policy=LOW 后,就只验证密码长度
打住,可以先不改,按要求设置密码,问题一个一个来
设置好密码,就可退出exit,vi /etc/my.cnf 删掉加上的配置,也可以删掉后加上
character_set_server=utf8
init_connect='SET NAMES utf8'
用于设置编码
之后用密码登录mysql
SET PASSWORD = PASSWORD('密码');
设置一下,不然重启服务后会报错
刷新一下
flush privileges
退出重启服务器
systemctl restart mysqld.service
在登录配置远程登录
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '密码' WITH GRANT OPTION;
ALL PRIVILEGES 表示用户全部权限
to 后面是你要远程登录的用户名,目前只有root,后面可以自己添加
%是全部ip地址,也可以指定
by 后面是密码
数据名称.表名称,如果用*.*表示,说明赋予用户服务器上所有数据库所有表的权限。
flush privileges一下
后面还是连不上的话,可以
show databases
use mysql
select Host,User from user
如果是这样的话
update user set Host='%' where User='root';
再flush privileges
怎么打开数据库端口
查看端口是否打开
netstat -an|grep 3306
没打开可以网上搜一搜怎么打开
之后就打开防火墙
centos7默认有firewall(安装firewalld 防火墙yum install firewalld)
firewall-cmd --zone=public --add-port=3306/tcp --permanent;
firewall-cmd --reload
检查设定是否生效
iptables -L -n|grep 3306
失败经历:
当时我好像用不了就
systemctl stop firewalld
systemctl mask firewalld
安装了yum install iptables-services
开放某个端口 在/etc/sysconfig/iptables里添加
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
后面我也一脸懵逼不行
之后又乖乖恢复
systemctl unmask firewalld
开启服务systemctl start firewalld.service
开机自动启动systemctl enable firewalld.service
再
firewall-cmd --zone=public --add-port=3306/tcp --permanent;
firewall-cmd --reload
作为一个小白,我实际操作差点淹死在bug中,如果有错请见谅,有大佬指出会改正,其实我现在感觉迷迷糊糊就成功或失败,所以写个文章总结一下,如有转载请标明。