为了下载到的MySQL版本和目标系统相互兼容,在开启之前,最好了解目标系统的相关信息。

  • 查询系统版本:
cat /etc/issue
  • 查看系统位数

getconf LONG_BIT
  • 选择MySQL

根据系统信息确定下载的mysql版本信息,例如当前的Red Hat Enterprise Linux 6.7版本64位系统,所以在MySQL官网上选择相应的版本。

  • 检查MySQL

检查目标系统中是否已经装有mysql,避免安装时受到影响。

rpm -qa|grep mysql

如果已经存在某些mysql的包,应看情况删除。例如red hat会自带mysql 5.17,不是我们需要的直接执行卸载:

yum -y remove 包名

卸载成功:

  • 创建组和用户

创建组,其中888为组id,自己定义:

groupadd -g 888 mysql

创建用户并添加到mysql组:

useradd -g mysql mysql

为新创建的mysql用户设置系统登录密码

passwd mysql

随后输入密码、输入确认密码,完成设置:

查看mysql用户的创建情况:

id mysql

  • 创建安装目录 并上传安装包

在mysql的根目录下创建安装目录mysqlInsHome

mkdir mysqlInsHome

使用Xftp等传输工具将mysql安装包上传到mysqlInsHome目录中后执行解压:

tar -xvf mysql-5.7.25-1.el6.x86_64.rpm-bundle.tar

将会从tar包里解压出一些rpm包

  • 安装

上一步解压出来的rpm包中,是具有依赖关系的,所以在安装过程中也是需要按一定的顺序来安装的,安装顺序为:

common > libs > libs-compat > client > server

安装指令:rpm -Uvh 包名

具体为:

rpm -Uvh mysql-community-common-5.7.25-1.el6.x86_64.rpm

rpm -Uvh mysql-community-libs-5.7.25-1.el6.x86_64.rpm

rpm -Uvh mysql-community-libs-compat-5.7.25-1.el6.x86_64.rpm

rpm -Uvh mysql-community-client-5.7.25-1.el6.x86_64.rpm

rpm -Uvh mysql-community-server-5.7.25-1.el6.x86_64.rpm

注意:这步也可以一次性全部安装:

  • 检查安装情况

rpm -qa |grep mysql

  • 验证MySQL

mysqladmin --version

  • 启动Mysql

service mysqld start

  • 停止Mysql

service mysqld stop

  • 重启Mysql

service mysqld restart

  • 查看Mysql状态

service mysqld status

  • 配置Mysql

MySql的配置文件: my.cnf

  • Mysql密码

需要注意的是,如果安装的是mysql5.6以及低于5.6的版本,其root账户的初始密码是没有的,输入登录mysql命令后 mysql -uroot -p直接回车就可登录,而MySQL5.7不同,5.7会为root用户生成一个随机初始密码。

初始密码在/var/log/mysqld.log文件中(启动过一次mysql才可以查看临时密码)。

在文件中查找密码:

grep 'temporary password' /var/log/mysqld.log

root@localhost:之后的一串字符就是我们的初始密码。

  • 连接Mysql并修改密码

mysql -uroot -p

输入2.6中获取到的初始密码,回车后连接成功。

即使连接成功,但是还不能执行任何的操作,因为第一次连接MySQL要求修改初始密码,如果没有修改会一直有如下提示:

ERROR 1802(HY000)

修改:

alter user user() identified by "mysql123";

mysql123为新密码,自己设定,注意密码策略。

  • 设置访问权限

默认的MySQL只能本地登录访问,如果需要从其他机器上远程访问MySQL,需要为相关用户配置权限,如当前为mysql用户配置:

GRANT ALL PRIVILEGES ON *.* TO 'mysql'@'%' IDENTIFIED BY 'mysql123' WITH GRANT OPTION;

刷新权限:

flush privileges;

成功后,用户mysql有了从其他机器访问的权限,密码为mysql123,自己设定。

  • 开放访问端口[可选]

打开防火墙配置文件

vi  /etc/sysconfig/iptables

增加3306端口开放指令

-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

重启防火墙

service  iptables restart

注意:增加的开放3306端口的语句一定要在icmp-host-prohibited之前

  • 设置开机自启[可选]

查看

chkconfig --list | grep mysqld

设置为开机自启

chkconfig mysqld on

  • 导入数据

先建立存放sql脚本的文件夹:

[mysql@localhost ~]$ mkdir dbSql

将需要使用到的sql脚本上传到此目录下。

脚本包含:

  1. creat_User_Permission.sql  创建用户和授权,如果需要单独新建用户可执行
  2. createDB.sql  创建数据库
  3. import_data.sql 导入数据

在mysql系统用户时,执行登录指令

mysql -uroot -p

回车输入对应用户密码,即可连接到MySQL:

在连接状态下,执行脚本

source 路径+文件

Linux系统安装MySql5.7并通过sql脚本导入数据的更多相关文章

  1. 通过SQL脚本导入数据到不同数据库避免重复导入三种方式

    前言 无论何种语言,一旦看见代码中有重复性的代码则想到封装来复用,在SQL同样如此,若我们没有界面来维护而且需要经常进行的操作,我们会写脚本避免下次又得重新写一遍,但是这其中就涉及到一个问题,这个问题 ...

  2. 数据库备份及SQL脚本导入

    数据库备份及SQL脚本导入 数据导出 su - oracle exp 数据库用户名/数据库密码@ORCL file=20190905.dmp full=y SQL脚本导入 首先导入前查看Oracle用 ...

  3. 将现有的sql脚本导入 Oracle 数据库,中文乱码问题

    将现有的sql 脚本导入 Oracle数据库 比如 在windows 系统下,可以写一个 bat 来实现直接导入 如:bat 中的内容如下,logs.log 将会记录执行日志 sqlplus user ...

  4. SQL SERVER导入数据到ORACLE的方法总结

    我们偶尔会有将数据从SQL SERVER导入到ORACLE当中的这种需求,那么这种跨数据库导数有那些方法呢?这些方法又有那些利弊呢? 下面比较肤浅的总结了一些可行的方法. 1:生成SQL脚本然后去OR ...

  5. win处navicat直接导出的sql脚本导入Linux mysql报错问题

    最近几天在把win上的项目的数据库转移到Ubuntu,于是第一件事就是从win处的navicat直接导出sql脚本,然后进入Ubuntu导入的时候会报错误,跳过错误继续执行导致数据库表的缺失. 跨平台 ...

  6. MySQL5.7的sql脚本导入到MySQL5.5出错解决

    今晚有人让我将他的数据库导入到我的mysql里,执行导入后发现有报错 想了下可能是版本的问题,询问了下,他的数据库是5.7而我的是5.5 他给我提议升级mysql版本,但是我就是不想换版本 那怎么在不 ...

  7. mssql sqlserver 使用sql脚本检测数据表中一列数据是否连续的方法分享

    原文地址:http://www.maomao365.com/?p=7335 摘要:    数据表中,有一列是自动流水号,由于各种操作异常原因(或者插入失败),此列数据会变的不连续,下文将讲述使用sql ...

  8. 项目总结04:SQL批量导入数据:将具有多表关联的Excel数据,通过sql语句脚本的形式,导入到数据库

    将具有多表关联的Excel数据,通过sql语句脚本的形式,导入到数据库 写在前面:本文用的语言是java:数据库是MySql: 需求:在实际项目中,经常会被客户要求,做批量导入数据:一般的简单的单表数 ...

  9. MySQL必知必会-官方数据库表及SQL脚本导入生成

    最近在复习SQL语句,看的是MySQL必知必会这本书,但是发现附录中只有表设计,没有表的具体数据.所以在学习相应的语句中体验不是很好,去网上查了数据库的内容,自己慢慢导入到了数据库中.把表放出来作为参 ...

随机推荐

  1. 测试Kaggle kernel commit 是否会删除以前的output

    在kaggle上创建kernel,加入如下代码. 连续运行两次,可以看到保存的文件名字不一样,且无论运行错少次,都只有一个输出文件. 这说明,kaggle上的kernel每次commit运行,都会清空 ...

  2. MyBatis学习总结(五)——关联表查询的实现

    一.一对一关联 1.1.提出需求 根据班级id查询班级信息(带老师的信息) 1.2.创建表和数据 创建一张教师表和班级表,这里我们假设一个老师只负责教一个班,那么老师和班级之间的关系就是一种一对一的关 ...

  3. mybatis动态sql以及分页

    1.mybatis动态sql 2.模糊查询 3.查询返回结果集的处理 4.分页查询 5.特殊字符处理 1.mybatis动态sql If.trim.foreach If 标签判断某一字段是否为空 &l ...

  4. Python - 面向对象编程 - 实战(6)

    需求 设计一个培训机构管理系统,有总部.分校,有学员.老师.员工,实现具体如下需求: 有多个课程,课程要有定价 有多个班级,班级跟课程有关联 有多个学生,学生报名班级,交这个班级对应的课程的费用 有多 ...

  5. centos7关于防火墙的一些操作

    防火墙相关 # 检查防火墙状态 systemctl status firewalld # 开启防火墙 systemctl start firewalld # 关闭防火墙 systemctl stop ...

  6. ☕【Java技术指南】「并发编程专题」针对于Guava RateLimiter限流器的入门到精通(含实战开发技巧)

    并发编程的三剑客 在开发高并发系统时有三剑客:缓存.降级和限流. 缓存 缓存的目的是提升系统访问速度和增大系统处理容量. 降级 降级是当服务出现问题或者影响到核心流程时,需要暂时屏蔽掉,待高峰或者问题 ...

  7. 288 day05_异常,线程

    day05 [异常.线程] 主要内容 异常.线程 教学目标 [ ] 能够辨别程序中异常和错误的区别 [ ] 说出异常的分类 [ ] 说出虚拟机处理异常的方式 [ ] 列举出常见的三个运行期异常 [ ] ...

  8. Linux系列(23) - echo

    作用:打印 格式:echo [选项] [输出内容] 选项:-e :支持反斜线控制的字符转换 前置条件:必须加选项-e才能使用 控制字符 作用 \a 输出警告音 \b 退格符,也就是向左删除键 \n 换 ...

  9. 重新嫁接rm命令

    ### 重定义rm命令 #### 定义回收站目录trash_path='~/.trash'# 判断 $trash_path 定义的文件是否存在,如果不存在,那么就创建 $trash_path.if [ ...

  10. disruptor笔记之四:事件消费知识点小结

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...