CentOS7的yum源中默认是MariaDB,要安装mysql,需要卸载MariaDB,否则会冲突。
一、卸载MariaDB
 
1、如果一定要在centos 7上安装mysql ,需要卸载MariaDB,否则会冲突。
 
2、执行这个命令:rpm -qa | grep mariadb
 
3、这时会出现一些列表,都是mariadb的包,接下来我们要干掉
 
4、执行如下命令rpm -e –nodeps mariadb-libs-XXXXX.x86_64 (注意我这里的xxxx, 要根据第三步出现的列表 ,挨个干)
 
5、干完后,就可以安装mysql了。
 

二、安装mysql
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包
$ 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。
 
3. 安装mysql
$ sudo yum install mysql-server
 
service mysql start
service mysql stop
 
根据步骤安装就可以了,不过安装完成后,没有密码,需要重置密码。
 
4. 重置密码
 
重置密码前,首先要登录
$ mysql -u root
这时随便执行一个sql,譬如 show databases;
 
登录时有可能报这样的错: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 root:root /var/lib/mysql
 
然后,重启服务:
$ service mysqld restart
 
接下来登录重置密码:
$ mysql -u root
mysql > use mysql;
mysql > update user set password=password('123456') where user='root';
mysql > flush privileges;
mysql > exit;
 

密码登陆:
mysql -u root -p  输入密码后登入
 

然后配置远程可以连接
mysql > GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '这里填你的密码' WITH GRANT OPTION;
(这里root@后面的百分号代表全宇宙都可以连接你的mysql,只要知道密码) ,如果是仅仅允许某个IP连接,那么把这个百分号换成某个ip即可
 
mysql > FLUSH PRIVILEGES; 并且退出
 
保险起见,再重启mysql服务,OK了。接下来大家可以用navicate 去连接啦 
 

5. 开放3306端口
$ sudo vim /etc/sysconfig/iptables
 
添加以下内容:
-A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
 
保存后重启防火墙:
$ sudo service iptables restart
 
这样从其它客户机也可以连接上mysql服务了。