CentOS7下安装MySQL,CentOS7安装MySQL
前言
由于MySQL在CentOS7中收费了,所以已经不支持MySQL了,取而代之在CentOS7内部集成了mariadb,而安装MySQL的话会和MariaDB的文件冲突,所以需要先卸载掉MariaDB.
卸载MariaDB
列出所有被安装的MariaDB包
rpm -qa | grep mariadb卸载MariaDB
rpm -e mariadb-libs-5.5.37-1.el7_0.x86_64可能会报如下错误:
错误:依赖检测失败:
libmysqlclient.so.18()(64bit) 被 (已安裝) postfix-2:2.10.1-6.el7.x86_64 需要
libmysqlclient.so.18(libmysqlclient_18)(64bit) 被 (已安裝) postfix-2:2.10.1-6.el7.x86_64 需要强制卸载MariaDB
rpm -e –nodeps mariadb-libs-5.5.37-1.el7_0.x86_64安装mysql依赖
yum install vim libaio net-tools
安装MySQL
CentOS7的yum源中默认是没有MySQL的,因此,我们要先下载MySQL的repo源
下载MySQL的repo源
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm安装mysql-community-release-el7-5.noarch.rpm包
sudo rpm -ivh mysql-community-release-el7-5.noarch.rpm安装MySQL
sudo yum install mysql-server为MySQL设置权限,以防登录出错
sudo chown -R root:root /var/lib/mysql
可以用“groups username”命令来查看用户是属于哪一个组重启服务让设置生效
service mysqld restart登录MySQL(默认是无密码的)
mysql -u root为MySQL的root用户设置密码
mysql > use mysql; mysql > update user set password=password('123456') where user='root'; mysql > exit;
开放3306端口,使其它客户机也可以访问MySQL服务
CentOS7默认使用的是firewall作为防火墙,我这里改为习惯常用的iptables防火墙
关闭防火墙
systemctl stop firewalld.service
systemctl disable firewalld.service
systemctl mask firewalld.service安装iptables防火墙
yum install -y iptables-services启动设置防火墙
systemctl enable iptables
systemctl start iptables查看防火墙状态
systemctl status iptables增加3306端口
sudo vim /etc/sysconfig/iptables增加:
-A INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT重启防火墙使配置生效
systemctl restart iptables.service