CentOS 安装 MySQL
自己玩 Linux 一般首选 Ubuntu,不过公司里边使用一般还是 CentOS 为主,因此这里就以 CentOS 为例来向大家演示整个过程,今天这篇文章主要来看看 MySQL 的安装。
若以前安装mysql执行下面操作删除:
2.2.1 执行如下命令,
查看数据库服务器是否已经安装;
#rpm -qa | grep mysql
若有残余mysql文件,执行如下命令,将残余的文件删除掉;
#rpm -e --nodeps mysql-libs-5.1.73-5.el6_6.x86_64
再次执行查询命令,查看mysql残余文件是否清空;
#rpm -qa | grep mysql
环境:
- CentOS7
- MySQL5.5
具体的安装步骤如下:
- 检查是否安装了 mariadb,如果已经安装了则卸载:
| |
如果执行结果如下,表示已经安装了 mariadb,将之卸载:
| |
卸载命令如下:
| |
- 接下来下载官方提供的 rpm 包
如果 CentOS 上没有 wget 命令,首先通过如下命令安装 wget:
| |
然后执行如下操作下载 rpm 包:
| |
- 下载完成后,安装rpm包:
| |
- 检查 MySQL 的 yum 源是否安装成功:
| |
执行结果如下表示安装成功:
- 安装 MySQL
| |
- 安装完成后,启动MySQL:
| |
- 停止MySQL:
| |
- 登录 MySQL:
| |
开放端口:
执行firewall-cmd --permanent --zone=public --add-port=3306/tcp,提示FirewallD is not running
通过systemctl status firewalld查看firewalld状态,发现当前是dead状态,即防火墙未开启。
通过systemctl start firewalld开启防火墙,没有任何提示即开启成功。
解决CentOS7出现的”Failed to start firewalld.service”问题
既然没有启动,于是就执行”systemctl start firewalld”启动,但是又出现”Failed to start firewalld.service: Unit is masked.”错 误。继续找解决方法,然后输入”systemctl unmask firewalld.service”。
解决CentOS7出现的”Failed to start firewalld.service”问题
然后再启动”systemctl start firewalld.service”即可解决问题没有报错。
开放3306端口:firewall-cmd --zone=public --add-port=3306/tcp --permanent
重启服务:systemctl restart firewalld.service
默认无密码。有的版本有默认密码,查看默认密码,首先去 /etc/my.cnf 目录下查看 MySQL 的日志位置,然后打开日志文件,可以看到日志中有一个提示,生成了一个临时的默认密码,使用这个密码登录,登录成功后修改密码即可。
默认密码界面:
改密码:
首先修改密码策略(这一步不是必须的,如果不修改密码策略,需要取一个比较复杂的密码,松哥这里简单起见,就修改下密码策略):
| |
然后重置密码:
| |
- 授权远程登录同方式一:
| |
- 授权远程登录同方式二:
修改 mysql 库中的 user 表,将 root 用户的 Host 字段的值改为 %
,然后重启 MySQL 即可。
- 关闭防火墙
MySQL 要能远程访问,还需要关闭防火墙:
| |
禁止firewall开机启动:
| |
总结
装了这么多 MySQL ,还是 Ubuntu 下 MySQL 最好弄,其他系统多多少少总有点麻烦,本文主要和大家分享了 CentOS7 中 MySQL 的安装步骤,大伙有问题欢迎留言讨论。下篇文章和大伙分享 MySQL 读写分离环境搭建。