CentOS7安装Mysql5.7安装

前言

MySql5.7目前CentOS上默认是没有yum源的,yum安装的是 MariaDB。所以我们需要自己先配置yum源。

一、下载yum

配置yum源步骤

命令:wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm;

如图所示:

CentOS7安装Mysql5.7安装

 

二、安装yum

命令:rpm -Uvh mysql57-community-release-el7-8.noarch.rpm

查看有哪些版本的mysql:

yum repolist all | grep mysql

CentOS7安装Mysql5.7安装

 

三、安装mysql

命令:yum install -y mysql-community-server

CentOS7安装Mysql5.7安装

 

CentOS7安装Mysql5.7安装

CentOS7安装Mysql5.7安装

 

 

四、验证MySql数据库

查看mysql状态状态

命令:systemctl status mysqld

启动mysql

命令:systemctl start mysqld

重启mysql

命令:systemctl restart mysqld

设置开机启动

命令:systemctl enable mysqld

命令:systemctl daemon-reload

CentOS7安装Mysql5.7安装

 

出现如下图所示说明启动成功:

CentOS7安装Mysql5.7安装

 

登录数据库:

mysql5.7的新特性之一就是在初始化的时候会生成一个自定义的密码,然后你需要找到这个密码,登录的时候输入

查看初始化密码:

命令:grep 'temporary password' /var/log/mysqld.log

CentOS7安装Mysql5.7安装

 

初始化密码就是:5Lor<VQX6*D?

登录数据库:这里-p之后不用输入密码,回车后再输入。

命令:mysql -uroot –p

CentOS7安装Mysql5.7安装

 

登录之后的样子:

CentOS7安装Mysql5.7安装

 

修改密码:

注意,修改的密码太简单会不给修改,把大小写字母和数字加上就肯定可以了。然后切记切记,mysql里面的命令要加分号!分号!分号!

命令:SET PASSWORD = PASSWORD('Admin123!');

CentOS7安装Mysql5.7安装

 

五、设置远程登录

安装完成验证没问题之后是无法在本地用工具登录访问的,现在要做两件事,

一、将云服务器上的3306端口开放,如果数据库设置成其他端口请开发对应的端口;

二、配置远程可以访问。

命令:GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'Admin123!' WITH GRANT OPTION;

命令:flush privileges;

先设置刚才的密码可以远程登录,然后使用flush命令使配置立即生效。

如果还不行可以尝试重启一下数据库

CentOS7安装Mysql5.7安装

 

这时候远程就可以访问数据库了。

退出Mysql客户端命令:exit

CentOS7安装Mysql5.7安装

 

六、Mysql用户添加、删除、授权

1)添加用户

命令:CREATE USER 'username'@'host' IDENTIFIED BY 'password';

说明:

(1)username——将要创建的用户名;

(2)host——指定该用户在哪个主机上可以登录,"localhost"指该用户只能在本地登录,不能在另外一台机器上远程登录,如果想远程登录,将"localhost"改为"%",表示在任何一台电脑上都可以登录;也可以指定某台机器可以远程登录;

(3)password——该用户的登录密码,密码可以为空,若为空则该用户可以不需要密码登录服务器。

例如:

CREATE USER 'test_admin'@'%' IDENTIFIED BY '[email protected]_S';

CentOS7安装Mysql5.7安装

 

2)授权用户:

命令:GRANT privileges ON databasename.tablename TO 'username'@'host'

说明:

(1)privileges——用户的操作权限,如SELECT等。如果授予所有权限则使用ALL。

(2)databasename——数据库名称。tablename——表名。如果要给该用户授予对所有数据库和表的相应操作权限则可用*表示,例如*.*

例如:

GRANT SELECT ON test_db.* TO 'test_admin'@'%';
flush privileges;
注意:必须执行flush privileges;
flush privileges;含义:
mysql 新设置用户或更改密码后需用flush privileges刷新MySQL的系统权限相关表,否则会出现拒绝访问,还有一种方法,就是重新启动mysql服务器,来使新设置生效。­

CentOS7安装Mysql5.7安装

 

3)撤销用户权限

命令:REVOKE privilege ON databasename.tablename FROM 'username'@'host';
例如:REVOKE SELECT ON test_db.* FROM 'test_admin'@'%';

CentOS7安装Mysql5.7安装

 

4)删除用户及权限

命令:drop user 'username'@'host';

5)查看用户权限

命令:SHOW GRANTS FOR 'username'@'host';

七、数据库简单的配置

Mysql 配置文件yum安装的默认在/etc文件夹下

查看配置文件:

命令:cat /etc/my.cnf

CentOS7安装Mysql5.7安装

 

 

配置如下内容:

具体配置可参考博客:https://www.cnblogs.com/xu743876685/p/8642027.html

#字符集编码utf8

character-set-server=utf8

#支持group by用法

sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

#设置时区为东八区

default-time_zone = '+8:00'

#不区分表名大小写

lower_case_table_names=1