CentOS 7安装 MySQL 5.7

2019-05-25 15:54:23 来源: 晴天小雨 0

摘要:CentOS 7 开始,MariaDB 成为 yum 源中默认的数据库安装包。在 CentOS 7 及以上的系统中使用 yum 安装 MySQL 包将无法使用 MySQL。可以选择使用完全兼容的 MariaDB,或卸载MariaDB重新安装 MySQL。

检查 MariaDB 是否安装

yum list installed | grep mariadb

 卸载全部 MariaDB 相关

yum -y remove mariadb*

下载 MySQL 的 YUM 源

wget https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm

安装 MySQL 的 YUM 源

 rpm -ivh mysql57-community-release-el7-9.noarch.rpm

检查 MySQL 的 YUM 源是否安装成功

 yum repolist enabled | grep "mysql.*-community.*"

查看 MySQL 版本

 yum repolist all | grep mysql

版本设置(若下载的是5.7版本的源,则跳过)

yum-config-manager --disable mysql56-community   # 禁用MySQL5.6的源

yum-config-manager --enable mysql57-community   # 启用MySQL5.7的源

安装 MySQL

yum install mysql-community-server

安装的过程中有可能出错:

解决方法:

修改vim /etc/yum.repos.d/mysql-community.repo 源文件红色部分

[mysql57-community]

name=MySQL 5.7 Community Server

## baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/6/$basearch/   

baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/7/$basearch/

enabled=1

gpgcheck=0

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql   

启动 MySQL 服务

systemctl start mysqld

测试连接 MySQL 

mysql -uroot,发现连接出错

解决方法:

防火墙设置(如果不需要,则可跳过)

开启防火墙后,远程访问 MySQL,需要开放 3306 端口

防火墙加入3306端口

firewall-cmd --permanent --zone=public --add-port=3306/tcp

firewall-cmd --permanent --zone=public --add-port=3306/udp

firewall-cmd --reload

CentOS 7,还需要将 MySQL 服务加入防火墙,然后重启

firewall-cmd --zone=public --permanent --add-service=mysql

systemctl restart firewalld

如果防火墙未开启,会报错 'FirewallD is not running'

解决方法:

如果当前系统默认的是Python3环境,也会报错,因为firewall使用的是python2

解决方法:

修改文件内容,即首行指定的Python版本:

/usr/sbin/firewalld

/usr/bin/firewall-cmd

修改内容:

将#!/usr/bin/python env修改为/usr/bin/python2

设置允许远程访问(如果项目需要,否则跳过)

连接数据库:mysql -uroot -p

授权任意ip访问:grant all privileges on *.* to root@"%" identified by '0';

刷新权限:flush privileges;

MySQL 默认只允许 root 帐户在本地登录,如果要在其它机器上连接 MySQL,必须修改 root 允许远程连接,或者添加一个允许远程连接的帐户,为了安全起见,添加一个新的帐户:

GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%' IDENTIFIED BY 'passwd123456' WITH GRANT OPTION;TION;

问题集锦

问题:

ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

方法:安装后,需要进入Mysql重置密码

mysql> SET PASSWORD = PASSWORD('your_new_password');

相关命令

MySQL 相关:

systemctl start mysqld    #启动mysql

systemctl stop mysqld    #停止mysqld

systemctl restart mysqld    #重启mysqld

systemctl enable mysqld    #设置开机启动

systemctl status mysqld    #查看 MySQL Server 状态

防火墙相关:

systemctl status firewalld    #查看防火墙状态

systemctl start firewalld    #打开防火墙

systemctl stop firewalld    #关闭防火墙

systemctl restart firewalld    #重启防火墙

参考资料

CentOS 7 下安装 MySQL 5.7

CentOS7yum安装mysql+需要:libsasl2.so.2()(64bit)

CentOS 6 下 Yum 安装 MySQL 5.7 备忘

关于ModuleNotFoundError: No module named ‘gi’

收藏
登录发表你的评论
0条评论