CentOS7安装MySQL 8
1、安装
接下来我们将直接在MySQL的官网获取最新版的rpm包后,再通过yum命令再CentOS上面安装MySQL。
第一步:获取rpm包
官方链接:https://dev.mysql.com/downloads/repo/yum/
选择需要的Linux版本后点击 下载:
获取下载地址:
然后使用 wget 命令从官方网站获取rpm包
wget https://dev.mysql.com/get/mysql80-community-release-el7-5.noarch.rpm
也可以 在Windows上下载后再,上传到 CentOS 上面
第二步:开始安装
yum localinstall mysql80-community-release-el7-5.noarch.rpm
这里显示 Complete! 表示安装成功!
第三步:安装mysql-server
yum install mysql-community-server
这里显示 Complete! 表示安装成功!
第四步:查看mysql版本,检查是否安装成功
mysql -V #此处 V 为大写
2、基本配置
2.1、启动
service mysqld start #启动
注意:正常情况下可以成功启动;当然也有可能会报错,如果报错可参考:
https://blog.csdn.net/qq_41179691/article/details/104598293
在报错的情况下,如果你是之前安装过然后删除 了再重写安装的可直接尝试,上方链接中的:
#mysql初始化的时候,会检测目录 /var/lib/mysql 是否存在,如果不存在则创建;如果存在则检查该文件夹下是否有文件,如果有则报错并停止初始化
rm -rf /var/lib/mysql/*
启动完成后可检查一下mysql是否启动成功:
ps -ef|grep mysqld
这里总结一些启动和关闭mysql服务的命令:
启动:service mysqld start
关闭:service mysqld stop
重启MySQL :service mysqld restart
设置开机自启:systemctl enable mysqld.service
2.2、登录
成功启动后我们就可以登录mysql完成一些基本配置了。
2.2.1、获取临时密码
在我们刚刚安装mysql的过程中是没有去设置密码的,然而我们要操作mysql的话是需要登录mysql的。在Linux中安装mysql后,它会自动生成一个,临时密码,我们可以在 /var/log/mysqld.log中找到。
此时我们也可以使用命令直接获取临时密码:
grep 'temporary password' /var/log/mysqld.log
这里我们获取到的临时密码就是
!!ph=dfoj3rP
然后我们就可以去登录了:
2.2.1、如果获取不到临时密码
当然还有可能获取不到临时密码,原因暂时不知道。但是经过查找资料后,了解到可以通过修改my.cnf文件来解决。
解决步骤:
首先进入编辑my.cnf文件:
vi /etc/my.cnf #用vi编辑器打开 my.cnf 文件
然后修改 my.cnf 文件:
#在其中添加一行:
skip-grant-tables
#然后使用 wq: 命令保存退出即可
#然后再重启mysql服务
systemctl restart mysqld #之后即可不需要密码就进入mysql
然后即可直接跳过密码登录,输入 mysql -uroot -p 后直接回车即可登录。
2.3、修改密码
第一次安装完mysql后我们只有一个临时密码,我们需要自己修改一个属于自己的密码。
修改密码:
#修改密码
ALTER user 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你自己设置的密码';
#这里可能会报错
# ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
# 这是因为你设置的密码不符合当前mysql的密码格式,大写字母、小写字母、符号 等等
更新密码:
设置完成后我们需要及时更新修改后的密码。
flush privileges;
# flush privileges 命令本质上的作用是将当前user和privilige表中的用户信息/权限设置从mysql库(MySQL数据库的内置库)中提取到内 存里。MySQL用户数据和权限有修改后,希望在"不重启MySQL服务"的情况下直接生效,那么就需要执行这个命令。通常是在修改ROOT帐号的设 置后,怕重启后无法再登录进来,那么直接flush之后就可以看权限设置是否生效。这样就避免了一些不必要的风险。
2.4、远程登陆授权
2.4.1、授权远程访问
首先进入mysql这个数据库
use mysql;
再更新域
update user set host='%' where user ='root';
再执行
FLUSH PRIVILEGES;
#再执行授权语句:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION;
# 允许所有人连接你的数据库
# % 也可以换成被允许人的 IP
到此处完成之后,即可实现远程连接此数据库。
2.4.2、防火墙设置
如果授权之后,还是不能远程访问,则有可能是被防火墙限制了。此时我们需要在防火墙开放数据库端口。
1、查看端口号【默认为3306】
firewall-cmd --list-all
2、开放端口
firewall-cmd --permanent --add-port=3306/tcp
3、重启防火墙
service firewalld restart
4、查看3306端口是否开放
firewall-cmd --query-port=3306/tcp
完成之后应该就可以实现远程访问了。
防火墙基本命令:
service firewalld start #启动
service firewalld stop #关闭
service firewalld restart #重启
service firewalld restart
4、查看3306端口是否开放
firewall-cmd --query-port=3306/tcp
完成之后应该就可以实现远程访问了。
防火墙基本命令:
service firewalld start #启动
service firewalld stop #关闭
service firewalld restart #重启