参考博客:
阿里云 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写的这篇文章:
手把手教你怎么使用云服务器
写的内容还是挺多的。
😁😁😁