首先CentOS7 已经不支持mysql,因为收费了你懂得,所以内部集成了mariadb,而安装mysql的话会和mariadb的文件冲突,所以需要先卸载掉mariadb,以下为卸载mariadb,安装mysql的步骤。
#列出所有被安装的rpm package
rpm -qa | grep mariadb
#卸载
rpm -e mariadb-libs-5.5.44-2.el7.centos.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 需要
#强制卸载,因为没有--nodeps
rpm -e --nodeps mariadb-libs-5.5.44-2.el7.centos.x86_64
#安装mysql依赖
yum install vim libaio net-tools
CentOS7的yum源中默认好像是没有mysql的。为了解决这个问题,我们要先下载mysql的repo源。
1. 下载mysql的repo源
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
2. 安装mysql-community-release-el7-5.noarch.rpm包
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。
3. 安装mysql
yum install mysql-server
根据步骤安装就可以了,不过安装完成后,没有密码,需要重置密码。
4. 重置密码
重置密码前,首先要登录
mysql -u root
登录时有可能报这样的错:ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock‘ (2),网上有的资料说是因为没有权限,这里我郑重说一句,是因为mysql没有启动,安装完了没有启动,
启动mysql:
service mysqld start
接下来登录重置密码:
mysql -u root
mysql > use mysql;
//将密码修改为123456
mysql > UPDATE user SET password = PASSWORD('123456') WHERE user = 'root';
特别说明:安装5.7以后执行会报错,错误如下ERROR 1054 (42S22): Unknown column ‘password’ in ‘field list’
;这是因为原本的password
字段替换成了authentication_string
,如果出现这个错误提示,就需要使用下列方式:
update mysql.user set authentication_string=password('123456') where user='root';
//设置远程登录,
mysql > GRANT ALL PRIVILEGES ON *.* TO root@'%' IDENTIFIED BY '123456';
mysql > FLUSH PRIVILEGES;
mysql > exit;
关闭centos7 防火墙
CentOS 7.0默认使用的是firewall作为防火墙
firewall-cmd --state # 查看防火墙状态
systemctl start firewalld.service #启动firewall
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动