Linux系统安装MySql5.7并通过sql脚本导入数据
为了下载到的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脚本上传到此目录下。
脚本包含:
- creat_User_Permission.sql 创建用户和授权,如果需要单独新建用户可执行
- createDB.sql 创建数据库
- import_data.sql 导入数据
在mysql系统用户时,执行登录指令
mysql -uroot -p
回车输入对应用户密码,即可连接到MySQL:
在连接状态下,执行脚本
source 路径+文件
Linux系统安装MySql5.7并通过sql脚本导入数据的更多相关文章
- 通过SQL脚本导入数据到不同数据库避免重复导入三种方式
前言 无论何种语言,一旦看见代码中有重复性的代码则想到封装来复用,在SQL同样如此,若我们没有界面来维护而且需要经常进行的操作,我们会写脚本避免下次又得重新写一遍,但是这其中就涉及到一个问题,这个问题 ...
- 数据库备份及SQL脚本导入
数据库备份及SQL脚本导入 数据导出 su - oracle exp 数据库用户名/数据库密码@ORCL file=20190905.dmp full=y SQL脚本导入 首先导入前查看Oracle用 ...
- 将现有的sql脚本导入 Oracle 数据库,中文乱码问题
将现有的sql 脚本导入 Oracle数据库 比如 在windows 系统下,可以写一个 bat 来实现直接导入 如:bat 中的内容如下,logs.log 将会记录执行日志 sqlplus user ...
- SQL SERVER导入数据到ORACLE的方法总结
我们偶尔会有将数据从SQL SERVER导入到ORACLE当中的这种需求,那么这种跨数据库导数有那些方法呢?这些方法又有那些利弊呢? 下面比较肤浅的总结了一些可行的方法. 1:生成SQL脚本然后去OR ...
- win处navicat直接导出的sql脚本导入Linux mysql报错问题
最近几天在把win上的项目的数据库转移到Ubuntu,于是第一件事就是从win处的navicat直接导出sql脚本,然后进入Ubuntu导入的时候会报错误,跳过错误继续执行导致数据库表的缺失. 跨平台 ...
- MySQL5.7的sql脚本导入到MySQL5.5出错解决
今晚有人让我将他的数据库导入到我的mysql里,执行导入后发现有报错 想了下可能是版本的问题,询问了下,他的数据库是5.7而我的是5.5 他给我提议升级mysql版本,但是我就是不想换版本 那怎么在不 ...
- mssql sqlserver 使用sql脚本检测数据表中一列数据是否连续的方法分享
原文地址:http://www.maomao365.com/?p=7335 摘要: 数据表中,有一列是自动流水号,由于各种操作异常原因(或者插入失败),此列数据会变的不连续,下文将讲述使用sql ...
- 项目总结04:SQL批量导入数据:将具有多表关联的Excel数据,通过sql语句脚本的形式,导入到数据库
将具有多表关联的Excel数据,通过sql语句脚本的形式,导入到数据库 写在前面:本文用的语言是java:数据库是MySql: 需求:在实际项目中,经常会被客户要求,做批量导入数据:一般的简单的单表数 ...
- MySQL必知必会-官方数据库表及SQL脚本导入生成
最近在复习SQL语句,看的是MySQL必知必会这本书,但是发现附录中只有表设计,没有表的具体数据.所以在学习相应的语句中体验不是很好,去网上查了数据库的内容,自己慢慢导入到了数据库中.把表放出来作为参 ...
随机推荐
- ES6 promise的应用
html部分 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <me ...
- k8s笔记0528-基于KUBERNETES构建企业容器云手动部署集群记录-2
三.ETCD集群部署 类似于走zookeeper集群分布式协调服务,可做以key v形式存储在ETCD中. 官方链接:https://github.com/coreos/etcd 分布式kv存储,为分 ...
- JDBC分页查询及实现
当数据过多时,一页之内是无法显示的,因此需要进行分页显示. (一)分页技术实现: 物理分页: - 在数据库执行查询时(实现分页查询),查询需要的数据--依赖数据库的SQL语句 - 在sql查询时,从数 ...
- 小程序 读取照片 EXIF 元信息
安装 exif.js npm install exif-js --save UI <button type="primary" @click="onExif&quo ...
- Springboot 整合通用mapper和pagehelper展示分页数据(附github源码)
简介 springboot 设计目的就是为了加速开发,减少xml的配置.如果你不想写配置文件只需要在配置文件添加相对应的配置就能快速的启动的程序. 通用mapp 通用mapper只支持对单表的操作,对 ...
- Python之pytesseract模块-实现OCR
在给PC端应用做自动化测试时,某些情况下无法定位界面上的控件,但我们又想获得界面上的文字,则可以通过截图后从图片上去获取该文字信息.那么,Python中有没有对应的工具来实现OCR呢?答案是有的,它叫 ...
- Redis的配置文件redis.conf的解析
1.redis的配置文件为redis.conf 2.redis配置文件redis.conf中关于网络的配置 3.redis配置文件redis.conf中的日志配置 4.redis配置文件redis.c ...
- [考试总结]noip模拟44
这个真的是一个 \(nb\) 题. 考试快要结束的时候,在机房中只能听到此起彼伏的撕吼. 啊---------- 然后人们预测这自己的得分. \(\color{red}{\huge{0}}\) \(\ ...
- Spring AOP Aspect的简单实现(基于注解)
第1步:声明使用注解 <!-- 配置扫描注解--> 扫描包的位置<context:component-scan base-package="com.zz"/> ...
- EF Core性能优化(一)
跟踪查询 返回实体类型的查询是默认会被跟踪的. 这表示可以更改这些实体实例,然后通过 SaveChanges() 持久化这些更改.非跟踪查询 在只读方案中使用结果时,非跟踪查询十分有用. 可以更快速地 ...