参考博客:
    
     阿里云 centos7 安装MySQL8.0.13
    
   
    
    
    阿里云 centos7 安装MySQL8.0.22
   
- 
     下载MySQL安装包
 
 首先点击
 
 https://dev.mysql.com/downloads/repo/yum/
 
   
    找到Linux7的版本;
    
    这里会自动下载最新的版本的mysql,我这里是mysql8.0.22
   
    然后去拼接网址:
    
    http://dev.mysql.com/get/ + xxx.rpm
    
    比如说我的是http://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
   
所以命令:
[root@hadoop ~]# rpm -ivh http://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
- 安装mysql
yum install -y mysql-server
或(我是只安装了上一个下一个就自动安装了)
yum install mysql-community-server
    如果显示以下内容说明安装成功
    
    Complete!
   
- 设置MYSQL
- 
     设置开机启动Mysql
 
 [root@localhost ~]# systemctl enable mysqld.service
 
- 
     检查是否已经安装了开机自启动
 
 
 [root@localhost ~]# systemctl list-unit-files | grep mysqld
 
 
 如果显示以下内容说明已经完成自动启动安装
 
 mysqld.service enabled
- 
     设置开启服务
 
 
 [root@localhost ~]# systemctl start mysqld.service
 
    mysql8.0版本和以前版本的修改密码方式不一样:
    
    4.登录修改mysql密码
    
    查看mysql默认密码
    
    
     [root@localhost ~]# grep 'temporary password' /var/log/mysqld.log
    
   
    如图,我的初始密码就是
    
     #XIWpa5A>D)(
    
    第一次登录mysql,输入账号和默认密码
    
    [root@localhost ~]# mysql -uroot -p
    
    修改当前密码
   
#MySQL8.0修改密码需要有大小写字母、数字、特殊字符组合
    
     mysql> alter user 'root'@'localhost' identified by '新密码';
    
    
     这里建议要用强一点的密码,否则还是有风险的!总之密码不要设置得太同意!
    
    但是密码也得自己记好啊啊啊
    注意设置密码的时候:
    
     
   
     
   
可以用密码生成器来直接生成密码
随机密码生成
并且选择特殊字符
    5. 命令立即执行生效
    
    
     mysql>flush privileges;
    
    
    
    使用外网/客户端访问,比如navicat连接
   
解决方案,登录MySQL,修改user表登录用户的host
    #远程设置
    
    mysql> use mysql;
    
    mysql> select host,user from user;
    
    ±———-±—————–+
    
    | host | user |
    
    ±———-±—————–+
    
    | localhost | mysql.infoschema |
    
    | localhost | mysql.session |
    
    | localhost | mysql.sys |
    
    | localhost | root |
    
    ±———-±—————–+
    
    4 rows in set (0.00 sec)
   
    可以看到在user表中已创建的root用户。host字段表示登录的主机,其值可以用IP,也可用主机名,有时想用本地IP登录,那么可以
    
     将以上的Host值改为自己的Ip即可
    
    。
   
    将host字段的值改为%就表示在任何客户端机器上能以root用户登录到mysql服务器,建议在开发时设为%。
    
    
     mysql > update user set host = '%' where user = 'root';
    
将权限改为ALL PRIVILEGES(这一步我没有做)
授权用户名的权限,赋予任何主机访问数据的权限
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
    记得要刷新:
    
     mysql> FLUSH PRIVILEGES;
    
后面修改阿里云的安全组规则:在 阿里云控制台防火墙处,添加新的规则 开放3306端口:
顺序:阿里云控制台–>(建议)在常用导航里添加云服务器ECS并点击—>再点击实例—->点击安全组(没有的话自己新建安全组)–>配置规则–就可以添加了
   
   
这样就可以用navicat连接了。
1、防火墙设置
- 
     关闭防火墙:
 
 sudo systemctl stop firewalld.service
 
 我觉得还是不要关闭防火墙,网络安全的问题
- 
     关闭开机启动:
 
 sudo systemctl disable firewalld.service
 
- 
     查看防火墙状态
 
 
 systemctl status firewalld
 
- 
     打开防火墙
 
 
 systemctl start firewalld
 
    2、开放指定端口
    
    
     firewall-cmd --zone=public --add-port=3306/tcp --permanent
    
    
    命令含义:
   
- zone 作用域
- add-port=3306/tcp 添加端口,格式为:端口/通讯协议
- permanent 永久生效,没有此参数重启后失效
    3、重启防火墙
    
    
     firewall-cmd --reload
    
    4、查看端口号
    
    
     netstat -ntlp
    
    //查看当前所有tcp端口·
   
    
     netstat -ntulp |grep 3306
    
    //查看所有3306端口使用情况·
   
    
    
    关于数据库的相关操作
   
    
    
    查询mysql的rpm包
   
    
     rpm -qa | grep mysql
    
    
    
    启动mysql
   
    
     systemctl start mysqld.service
    
    
    
    停止
   
    
     systemctl stop mysqld.service
    
    
    
    重启
   
    
     systemctl restart mysqld.service
    
    
    
    开机自启
   
    
     systemctl enable mysqld.service
    
    
    
    查看mysql的状态:(两种)
   
    
     service mysqld status
    
    
     systemctl status mysqld.service
    
    
    
    mysql的安全配置
   
    
     mysql_secure_installation
    
    
    安全设置包括:
   
- 为root用户设置密码
- 删除匿名账号(生产环境建议删除)
- 禁止root用户远程登录
- 删除test库和对test库的访问权限(删除)
- 刷新授权表使修改生效
    顺便呢,也给大家推荐一下Java3y写的这篇文章:
    
    
     手把手教你怎么使用云服务器
    
    
    写的内容还是挺多的。
    
    ???
   
 
