阿里云centos7安装mysql8.0.22的详细教程
1. 下载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
2.安装mysql
yum install -y mysql-server 或(我是只安装了上一个下一个就自动安装了) yum install mysql-community-server
如果显示以下内容说明安装成功
Complete!
3.设置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默认密码
mysql> alter user 'root'@'localhost' identified by '新密码';
如图,我的初始密码就是#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端口:
顺序:阿里云控制台C>(建议)在常用导航里添加云服务器ECS并点击―>再点击实例---->点击安全组(没有的话自己新建安全组)C>配置规则C就可以添加了
这样就可以用navicat连接了。
1.关闭防火墙:
sudo systemctl stop firewalld.service
2.关闭开机启动:
sudo systemctl disable firewalld.service
3.查看防火墙状态
systemctl status firewalld
4.打开防火墙
systemctl start firewalld
关于数据库的相关操作
查询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库的访问权限(删除)
- 刷新授权表使修改生效