1、下载 mysql80-community-release-el7-3.noarch.rpm 然后复制到root 下
或者 wget http://repo.mysql.com/mysql80-community-release-el7-3.noarch.rpm
2、安装mysql-community-release-el7-3.noarch.rpm包
rpm -ivh mysql80-community-release-el7-3.noarch.rpm
会获得两个mysql的yum repo源
/etc/yum.repos.d/mysql-community.repo
/etc/yum.repos.d/mysql-community-source.repo
3、更新yum源(非必须,但更新后好像可以保证安装最新版本吧)
yum update
4、yum安装MySQL。
yum install mysql-server
5、启动MySQL,查看运行状态
systemctl start mysqld.service
systemctl status mysqld.service
确定状态为:Active: active (running)
6、找出密码。(此时MySQL已经开始正常运行,不过要想进入MySQL还得先找出此时root用户的密码,通过如下命令可以在日志文件中找出密码)
grep "password" /var/log/mysqld.log
反馈:password is generated for root@localhost: S322m2_r62v
7、登录数据库。
mysql -uroot -p
8、修改密码。(此时不能做任何事情,因为MySQL默认必须修改密码之后才能操作数据库)
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';
其中‘new password’替换成你要设置的密码,注意:密码设置必须要大小写字母数字和特殊符号(,/';:等),不然不能配置成功。
我的密码设置为:XXXXXXXX。ALTER USER 'root'@'localhost' IDENTIFIED BY 'XXXXXXXX';
如果出现如下错误:
是以为密码的复杂度不符合默认规定,如下命令查看mysql默认密码复杂度:
SHOW VARIABLES LIKE 'validate_password%';
如需修改密码复杂度参考如下命令:
set global validate_password_policy=LOW;
set global validate_password_length=6;
9、开启mysql的远程访问(注意:' % ' 表示允许所有机器访问,若host为127.0.0.1或者localhost,那么该用户就只能在本机访问。)
创建用户 CREATE USER 'root'@'%' IDENTIFIED BY 'XXXXXXXX';
用户授权 GRANT ALL ON *.* TO 'root'@'%';
修改成原来的加密方式 ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'XXXXXXXX';
刷新MySQL系统权限相关表 flush privileges;
10、开启防火墙端口
1. 查看防火墙状态
firewall-cmd --state ## 结果显示为running或not running
2. 开启端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
zone – 作用域
add-port=80/tcp – 添加端口,格式为:端口/通讯协议
permanent – 永久生效,没有此参数重启后失效
开启3306端口后,workbench或naivcat 就能连接到MySQL数据库了
3. 重启防火墙
firewall-cmd --reload
4. 常用命令介绍
firewall-cmd --state ##查看防火墙状态,是否是running
firewall-cmd --reload ##重新载入配置,比如添加规则之后,需要执行此命令
firewall-cmd --get-zones ##列出支持的zone
firewall-cmd --get-services ##列出支持的服务,在列表中的服务是放行的
firewall-cmd --query-service ftp ##查看ftp服务是否支持,返回yes或者no
firewall-cmd --add-service=ftp ##临时开放ftp服务
firewall-cmd --add-service=ftp --permanent ##永久开放ftp服务
firewall-cmd --remove-service=ftp --permanent ##永久移除ftp服务
firewall-cmd --add-port=80/tcp --permanent ##永久添加80端口
iptables -L -n ##查看规则,这个命令是和iptables的相同的
man firewall-cmd ##查看帮助
systemctl status firewalld.service ##查看防火墙状态
systemctl [start|stop|restart] firewalld.service ##启动|关闭|重新启动 防火墙
##查询端口号80 是否开启
firewall-cmd --query-port=80/tcp
原文链接:https://blog.csdn.net/pjh88/article/details/111084414
11、更改mysql的语言(mysql8已默认utf8mb4,无需修改了)
首先重新登录mysql,然后输入status
可以看到,红色方框处不是utf-8,修改为utf8即可。
因此我们先退出mysql,然后再到/etc目录下的my.cnf文件下修改一下文件内容
进入文件后,新增四行代码:
保存更改后的my.cnf文件后,重启下mysql,然后输入status再次查看,你就会发现变化啦
到此CentOS7安装Mysql完毕。
12、设置开机启动
还需要设置开机启动。systemctl enable mysqld
其他,取消mysqld的自启动 systemctl disable mysqld
检查开机启动状态 systemctl list-unit-files | grep mysqld
(完)