首先CentOS7 已经不支持mysql,因为收费了你懂得,所以内部集成了mariadb,而安装mysql的话会和mariadb的文件冲突,所以需要先卸载掉mariadb,以下为卸载mariadb,安装mysql的步骤。
1.列出所有被安装的rpm package
$ rpm -qa | grep mariadb
2.卸载
$ 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 需要
强制卸载:
$ rpm -e --nodeps mariadb-libs-5.5.37-1.el7_0.x86_64 // 只是多了一个 --nodeps 参数,注意“版本号”根据当前系统显示的版本信息的为准
3.安装依赖项
$ yum install vim libaio net-tools
其他情况:
1.centos下yum暂时没有mysql-server直接安装包;
MariaDB是MySQL社区开发的分支,也是一个增强型的替代品;
2.安装MariaDB
$ yum -y install mariadb-server mariadb mariadb-devel $ systemctl start mariadb $ systemctl enable mariadb $ mysql_secure_installation $ firewall-cmd --permanent --add-service mysql $ systemctl restart firewalld.service $ iptables -L -n|grep 3306
4.安装 mysql的repo源
4.1 下载mysql的repo源
$ wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
4.2 安装mysql-community-release-el7-5.noarch.rpm包
$ sudo rpm -ivh mysql-community-release-el7-5.noarch.rpm
// 安装这个包后,会获得两个mysql的yum repo源:/etc/yum.repos.d/mysql-community.repo,/etc/yum.repos.d/mysql-community-source.repo。
4.3 安装 mysql
$ sudo yum install mysql-server
根据步骤安装就可以了,不过安装完成后,没有密码,需要重置密码。
4.4 重置密码
重置密码前,首先要登录
$ mysql -u root
4.5 mysql 登录报错处理
登录时有可能报这样的错:
ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock‘ (2),
原因是/var/lib/mysql的访问权限问题。下面的命令把/var/lib/mysql的拥有者改为当前用户:
$ sudo chown -R openscanner:openscanner /var/lib/mysql // openscanner:openscanner 为当前登录CentOS的用户名,例如: root:root
然后,重启服务:
$ service mysqld restart
接下来登录重置密码:
$ mysql -u root mysql > use mysql; mysql > update user set password=password(‘123456‘) where user=‘root‘; mysql > exit;
5.开放防火墙 3306端口
5.1 查看防火墙状态
$ systemctl status firewalld
5.2 开启防火墙 服务
$ systemctl start firewalld
5.3 开放指定端口
// --permanent 永久生效,没有此参数重启后失效 $ firewall-cmd --zone=public --add-port=3306/tcp --permanent 或者 $ firewall-cmd --zone=public --add-port=3300-3399/tcp --permanent
5.4 重新载入
$ firewall-cmd --reload
5.5 查看状态
$ firewall-cmd --zone=public --query-port=3306/tcp
5.6 删除某个开放的端口
$ firewall-cmd --zone=public --remove-port=80/tcp --permanent
5.7 iptables 防火墙
也可以还原传统的管理方式使用 iptables
$ systemctl stop firewalld $ systemctl mask firewalld
5.7.1 安装 iptables-services
$ yum install iptables-services
5.7.2 设置开机启动
$ systemctl enable iptables
5.7.3 操作命令
$ systemctl stop iptables $ systemctl start iptables $ systemctl restart iptables $ systemctl reload iptables
5.7.4 保存设置
$ service iptables save
5.7.5 放某个端口 在 /etc/sysconfig/iptables 里添加
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 8080