Centos7安装MySQL

时间:2021-08-09 03:07:42

卸载mysql!
[[email protected] usr]# yum remove mysql mysql-server mysql-libs compat-mysql51
[[email protected] usr]# rm -rf /var/lib/mysql
[[email protected] usr]# rm /etc/my.cnf

首先[CentOS](https://link.zhihu.com/?target=http://www.linuxidc.com/topicnews.aspx?tid=14)7 已经不支持mysql,因为收费了你懂得,所以内部集成了mariadb,而安装mysql的话会和mariadb的文件冲突,所以需要先卸载掉mariadb,以下为卸载mariadb,安装mysql的步骤。

#列出所有被安装的rpm package 
rpm -qa | grep 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 需要

#强制卸载,因为没有--nodeps
rpm -e --nodeps mariadb-libs-5.5.37-1.el7_0.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](https://link.zhihu.com/?target=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

安装完成查看mysql是否运行
 ps -aut | grep "mysql"

根据步骤安装就可以了,不过安装完成后,没有密码,需要重置密码。

4. 重置密码

重置密码前,首先要登录

$ mysql -u root

登录时有可能报这样的错: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:123456 /var/lib/mysql

然后,重启服务:

$ service mysqld restart

接下来登录重置密码:

$ mysql -u root

mysql > use mysql;

mysql > update mysql.user set authentication_string=password("123456") where user="root";
mysql > exit;

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

2、远程连接设置

把在所有数据库的所有表的所有权限赋值给位于所有IP地址的root用户。

mysql> grant all privileges on *.* to [email protected]'%'identified by '123456';

如果是新用户而不是root,则要先新建用户

mysql>create user 'wang'@'%' identified by '123456';

此时就可以进行远程连接了。

转载知乎 ,侵权删除