我个人的镜像版本是CentOS Linux release 7.5.1804 (Core) ,此次通过yum方式安装mysql5.7。
一、准备工作
关闭防火墙,关闭selinux。
[root@CentOS7-2 ~]# systemctl stop firewalld [root@CentOS7-2 ~]# systemctl disable firewalld [root@CentOS7-2 ~]# vi /etc/selinux/config #修改SELINUX=disabled
二、卸载maria数据库
centos中默认自带了maria数据库,这是mysql数据库的一个分支,不卸载也可以,mysql安装后会覆盖maria。
[root@CentOS7-2 ~]# rpm -qa|grep maria mariadb-libs-5.5.56-2.el7.x86_64 [root@CentOS7-2 ~]# yum -y remove mariadb-libs-5.5.56-2.el7.x86_64
三、下载mysql的Yum Repository
由于CentOS的yum源中没有mysql,需要到mysql的官网下载yum repo配置文件,安装后会在/etc/yum.repo下生成两个mysql的repo文件。
[root@CentOS7-2 ~]# mkdir -p /cslc/mysql [root@CentOS7-2 ~]# cd /cslc/mysql/ [root@CentOS7-2 mysql]# wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm [root@CentOS7-2 mysql]# rpm -ivh mysql57-community-release-el7-10.noarch.rpm [root@CentOS7-2 mysql]# ls /etc/yum.repos.d/ bak base.repo mysql-community.repo mysql-community-source.repo
四、安装mysql
yum安装mysql-community-server,会根据上一步生成的两个repo文件去对应的镜像上先下载安装包,屏幕会输出如下信息,即本次安装所需要的4个rpm包。
[root@CentOS7-2 mysql]# yum -y install mysql-community-server
yum下载的安装包会先存放在/var/cache/yum/x86_64/7/mysql57-community/packages目录下,如下
但是官网下载速度特别慢,基本都是几k的速度,下载太费劲,我们可以先从国内的镜像站上下载这些更新包,删除yum下载目录下未下载完成的安装包,再通过sftp上传自己下载的安装包,再进行安装。
国内镜像网站:http://uni.mirrors.163.com/mysql/Downloads/和http://mirrors.ustc.edu.cn/mysql-ftp/Downloads/
[root@CentOS7-2 packages]# yum -y install mysql-community-server ………………………… [root@CentOS7-2 packages]# rpm -qa|grep mysql mysql-community-client-5.7.29-1.el7.x86_64 mysql-community-common-5.7.29-1.el7.x86_64 mysql-community-libs-5.7.29-1.el7.x86_64 mysql57-community-release-el7-10.noarch mysql-community-server-5.7.29-1.el7.x86_64
五、启动和登录数据库
通过systemctl start mysqld命令启动数据库,启动日志/var/log/mysqld.log,可从中查看安装时root用户的临时密码,通过临时密码登录数据库。
启动、停止、重启、查看状态命令systemctl start/stop/restart/status mysqld
[root@CentOS7-2 packages]# systemctl start mysqld [root@CentOS7-2 packages]# grep "password" /var/log/mysqld.log 2020-03-03T15:59:27.569619Z 1 [Note] A temporary password is generated for root@localhost: )LndjnJ(u4(. [root@CentOS7-2 packages]# mysql -uroot -p Enter password: #输入日志中的临时密码即可进入数据库
数据库安装在/var/lib/mysql/目录下。
六、修改数据库配置
首次登录数据库后,必须先修改root用户的密码后系统才允许做其他的操作,并且这个密码必须包含大小写、数字、特殊字符,且至少8个字符。
mysql> ALTER USER root@localhost IDENTIFIED BY 'Cslc@pass123'; mysql> flush privileges;
关于密码的规则限制,可通过show variables like 'validate_password%'查看,可以看到密码默认的长度为8,等级为medium,等级说明如下。
默认字符集如下,可通过show variables like '%character%'查看。
修改密码规则和默认字符集,可在数据库会话中直接通过set global validate_password_length=6修改生效,但是这种修改方式在数据库重启后失效,要永久修改,则需要修改数据库的配置文件/etc/my.cfg,我们在[mysqld]中增加如下信息,修改密码默认长度为6,等级为低,且字符集为utf8。
[mysqld] character_set_server=utf8 init_connect='SET NAMES utf8' validate_password_policy=low validate_password_length=6
然后重启mysqld服务,重新登录数据库,即可将数据库的密码修改得简单易记,且之后创建的数据库默认字符集都为utf8。
一般我们还需要通过其他的工具连接数据库,这就需要开启远程访问权限了。
mysql> grant all privileges on *.* to root@'%' identified by 'Cslc@pass123' with grant option; mysql> flush privileges;