欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Linux CentOS 7环境下安装MySQL

程序员文章站 2022-03-09 14:33:25
在CentOS 7中默认安装有MariaDB,但是我们需要的是MySQL,安装MySQL可以覆盖MariaDB。 (注:MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可。开发这个分支的原因之一是:甲骨文公司收购了MySQL后,有将MySQL闭源的潜在风险, ......

在centos 7中默认安装有mariadb,但是我们需要的是mysql,安装mysql可以覆盖mariadb。

(注:mariadb数据库管理系统是mysql的一个分支,主要由开源社区在维护,采用gpl授权许可。开发这个分支的原因之一是:甲骨文公司收购了mysql后,有将mysql闭源的潜在风险,因此社区采用分支的方式来避开这个风险。mariadb的目的是完全兼容mysql,包括api和命令行,使之能轻松成为mysql的代替品。)

首先需要安装mysql的yum repository。

(注:yum帮我们管理好了各种rpm包的依赖,是基于rpm的软件包管理器,能够从指定的服务器自动下载rpm包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。)

所有的操作都是切换到root用户下进行:

1.安装mysql官方的yum repository

[root@centos7 ~]# wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

2.下载rpm包

[root@centos7 ~]# yum -y install mysql57-community-release-el7-10.noarch.rpm

3.安装mysql服务

[root@centos7 ~]# yum -y install mysql-community-server

执行安装服务的时间比较长,耐心等待,中间有一次询问y/n?输入y回车。

4.启动mysql服务

[root@centos7 ~]# systemctl start  mysqld.service

5.查看mysql运行状态

[root@centos7 ~]# systemctl status mysqld.service

可以看到mysql服务的运行状态,出现下面的信息,其中active后面代表状态,启动服务后为active (running),停止后为inactive (dead)。

Linux CentOS 7环境下安装MySQL

重新启动服务:service mysqld restart         停止服务:systemctl stop mysqld.service

6.安装完成后默认有一个root用户,初始密码已经设置好,我们需要获得这个初始密码登录后再对其进行修改。通过下面的命令查看初始密码,冒号后面的字符就是密码

[root@centos7 ~]# grep 'temporary password' /var/log/mysqld.log

(注:为了加强安全性,mysql5.7为root用户随机生成了一个密码,在error log中,关于error log的位置,如果安装的是rpm包,则默认是/var/log/mysqld.log。只有启动过一次mysql才可以查看临时密码。)

7.登录root用户

[root@centos7 ~]# mysql -u root -p

(注:提示输入密码,输入初始密码,使用该密码之后需要设置自己的密码,但是mysql对密码有要求,我们想要设置简单的密码必须要修改约束,修改两个全局参数。)

(1)validate_password_policy代表密码策略,默认是1指符合长度,且必须含有数字,小写或大写字母,特殊字符。设置为0判断密码的标准就基于密码的长度了:

mysql> set global validate_password_policy=0;

(2)validate_password_length代表密码长度,最小值为4:

mysql> set global validate_password_length=4;

(3)修改密码为root,之后就可以使用该密码登录了:

mysql> alter user 'root'@'localhost' identified by 'root';

8.使用数据库

[root@centos7 ~]# mysql -uroot -proot

(注:如果远程连接数据库时,出现不允许访问的时候,需要对连接用户赋予权限。
进入mysql后依次输入一下命令:
grant all privileges on *.* to 'root'@'%' identified by '数据库密码' with grant option;
flush privileges;
权限刷新之后,重启mysql服务。)

在centos7中mysql的主要配置所在的目录:

1./etc/my.cnf 这是mysql的主配置文件

注:编码问题解决办法

[root@centos7 ~]# vim /etc/my.cnf

添加内容

[client]
default-character-set=utf8
 
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci

Linux CentOS 7环境下安装MySQL

重启mysql,然后进入mysql查看编码。

Linux CentOS 7环境下安装MySQL

2./var/lib/mysql mysql数据库的数据库文件存放位置

3./var/log mysql数据库的日志输出存放位置