原本想搭建Hive远程模式,发现机子上除了oracle和sybase以外没有其他的数据库了。想着装个mysql吧,计划把mysql装在宿主Win7上,然后把Hive环境搭在虚拟机中,这样就可以实现“远程模式”了。 印象当中mysql简直太简单了,因为以前都是装的安装版,直接next、next就OK了,配置的话也有客户端。于是这次准备搞个压缩版的玩玩,几年没玩过了,发现碰到的问题还挺多的,索性,总结一下吧,告诫自己:忘记过去就是背叛。。。
一、安装:
下载地址:
http://www.mysql.com/downloads/mysql/
我的是以前下的mysql-5.5.17-winx64.zip,解压后即可:
二、配置:
1)、默认参数文件。安装目录下有五个*.ini文件,这五个是模板文件,目测了下基本没啥区别,主要的区别就是分配的内存大小不一样。
①my-small.ini是为了小型数据库而设计的。不应该把这个模型用于含有一些常用项目的数据库。
②my-medium.ini是为中等规模的数据库而设计的。如果你正在企业中使用RHEL,可能会比这个操作系统的最小RAM需求(256MB)明显多得多的物理内存。由此可见,如果有那么多RAM内存可以使用,自然可以在同一台机器上运行其它服务。
③my-large.ini是为专用于一个SQL数据库的计算机而设计的。由于它可以为该数据库使用多达512MB的内存,所以在这种类型的系统上将需要至少1GB的RAM,以便它能够同时处理操作系统与数据库应用程序。
④my-huge.ini是为企业中的数据库而设计的。这样的数据库要求专用服务器和1GB或1GB以上的RAM。⑤my-innodb-heavy-4G.ini用于只有InnoDB的安装,最多有4G RAM,支持大的查询。我们要建立一个名为my.ini的配置文件用以mysql启动。mysql启动时,如果有my.ini文件,则会读取该文件中的配置信息作为默认参数,如果找不到my.ini文件,服务也能启动,具体的默认参数从哪来的,我也不清楚(有人知道不?),但是我能肯定的是,默认配置不是从目录下的那五个模板文件中读取。mysql读取配置文件的顺序为:
C:\my.ini --> C:\my.cnf --> C:\WINDOWS\my.ini --> C:\WINDOWS\my.cnf --> 安装目录\my.ini --> 安装录\my.cnf
可以参照五个模板新建或者直接copy一个保存为my.ini,具体个性化的参数,可以自行设置,如各种端口啊、内存啊、字符集啊神马的。
Mysql服务器绑定IP的方法:
2)、环境变量。在path中增加mysql安装的路径,免得每次执行bin目录下的命令时都要输全路径。
一直配置到mysql所在目录下的bin目录,F:\InstallProgram\work\mysql\mysql-5.5.17-winx64\bin
3)、启动命令。mysql的启动命令是bin\mysqld.exe,懒得每次都输入命令,可以在安装目下建立一个批处理文件,一点就OK了。新建文本文件,输入 bin\mysqld.exe--console 保存为start.bat,以后双击就行了。现在目录下多了两了文件了:
4)、数据库配置。
1、启动:双击start.bat启动服务:
看到如此页面,则表示启动成功,如果启动不成功,需要去检查配置文件。
2、登录:
-u root 表示以root用户登录。不指定用户名的话,将会匿名登录,建议直接删除此匿名用户(否则以后会出现问题,后面我会提到)。刚登录时并没有要求我们输入密码,这是因为mysql压缩版的root用户默认密码为空,查看mysql数据库下的user表可知:
mysql> select * from mysql.user;
貌似图太小了?换一张,截掉了后面权限相关的字段:
user表介绍: user是mysql下的一张表,记录了用户及相关权限的信息。 主键为:Host+User Host:表示账号允许从哪个主机联机。 User:账号。 Password:密码。
---以下部分为网上直接copy来的,^_^-
Select_priv。确定用户是否可以通过SELECT命令选择数据。 Insert_priv。确定用户是否可以通过INSERT命令插入数据。 Update_priv。确定用户是否可以通过UPDATE命令修改现有数据。 Delete_priv。确定用户是否可以通过DELETE命令删除现有数据。 Create_priv。确定用户是否可以创建新的数据库和表。 Drop_priv。确定用户是否可以删除现有数据库和表。 Reload_priv。确定用户是否可以执行刷新和重新加载MySQL所用各种内部缓存的特定命令,包括日志、权限、主机、查询和表。 Shutdown_priv。确定用户是否可以关闭MySQL服务器。在将此权限提供给root账户之外的任何用户时,都应当非常谨慎。 Process_priv。确定用户是否可以通过SHOW PROCESSLIST命令查看其他用户的进程。 File_priv。确定用户是否可以执行SELECT INTO OUTFILE和LOAD DATA INFILE命令。 Grant_priv。确定用户是否可以将已经授予给该用户自己的权限再授予其他用户。例如,如果用户可以插入、选择和删除foo数据库中的信息,并且授予了GRANT权限,则该用户就可以将其任何或全部权限授予系统中的任何其他用户。 References_priv。目前只是某些未来功能的占位符;现在没有作用。 Index_priv。确定用户是否可以创建和删除表索引。 Alter_priv。确定用户是否可以重命名和修改表结构。 Show_db_priv。确定用户是否可以查看服务器上所有数据库的名字,包括用户拥有足够访问权限的数据库。可以考虑对所有用户禁用这个权限,除非有特别不可抗拒的原因。 Super_priv。确定用户是否可以执行某些强大的管理功能,例如通过KILL命令删除用户进程,使用SET GLOBAL修改全局MySQL变量,执行关于复制和日志的各种命令。 Create_tmp_table_priv。确定用户是否可以创建临时表。 Lock_tables_priv。确定用户是否可以使用LOCK TABLES命令阻止对表的访问/修改。 Execute_priv。确定用户是否可以执行存储过程。此权限只在MySQL 5.0及更高版本中有意义。 Repl_slave_priv。确定用户是否可以读取用于维护复制数据库环境的二进制日志文件。此用户位于主系统中,有利于主机和客户机之间的通信。 Repl_client_priv。确定用户是否可以确定复制从服务器和主服务器的位置。 Create_view_priv。确定用户是否可以创建视图。此权限只在MySQL 5.0及更高版本中有意义。关于视图的更多信息,参见第34章。 Show_view_priv。确定用户是否可以查看视图或了解视图如何执行。此权限只在MySQL 5.0及更高版本中有意义。关于视图的更多信息,参见第34章。 Create_routine_priv。确定用户是否可以更改或放弃存储过程和函数。此权限是在MySQL 5.0中引入的。 Alter_routine_priv。确定用户是否可以修改或删除存储函数及函数。此权限是在MySQL 5.0中引入的。 Create_user_priv。确定用户是否可以执行CREATE USER命令,这个命令用于创建新的MySQL账户。 Event_priv。确定用户能否创建、修改和删除事件。这个权限是MySQL 5.1.6新增的。 Trigger_priv。确定用户能否创建和删除触发器,这个权限是MySQL 5.1.6新增的。
此外,默认情况下mysql是不允许远程访问的,也不支持root用户远程访问,原因在于host字段的值:localhost和127.0.0.1都表示本地访问。host字段还可以赋值为IP地址或者%,%表示可以在任何地方连接。
3、修改初始化账号:
mysql> update mysql.user set password=PASSWORD('root') where user='root' or user=''; Query OK, 4 rows affected (0.00 sec) Rows matched: 4 Changed: 4 Warnings: 0 mysql> grant all on *.* to root@'%' identified by 'root'; Query OK, 0 rows affected (0.00 sec) mysql> select * from mysql.user; mysql> commit; Query OK, 0 rows affected (0.00 sec) mysql> flush privileges; Query OK, 0 rows affected (0.01 sec)
PS:PASSWORD函数表示对密码加密,否则的话就是明文了。
貌似这张图也小了?换一张,截掉了后边权限相关的字段:
OK,root账户和匿名账户的问题(暂时)搞定了。
4、配置hive账户:
mysql> grant all on *.* to 'hive'@'%' identified by 'hive' with grant option; Query OK, 0 rows affected (0.00 sec) mysql> commit; Query OK, 0 rows affected (0.00 sec) mysql> flush privileges; Query OK, 0 rows affected (0.00 sec)
这张也小?换一张,截掉了后边权限相关的字段:
测试hive账号:
远程连接看样子是没问题的,那么local的呢?
local连接失败,hive我明明赋值了host为%啊。。。。这是为什么捏?罪魁祸首就是那个未删除的匿名用户,原因用户登陆的时候,数据库是先匹配host的,而数据库中localhost和127.0.0.1都找不找一个叫hive的user,所以连接失败。解决方法就是把匿名用户删掉就可以了,别的不变:
再次登录就OK了:
5、简单测试下:
目测,暂时没啥问题了。至此,mysql部署成功。
附带mysql的一些简单操作: 第一招、mysql服务的启动和停止(针对安装版,或者压缩版已注册服务) net stop mysql net start mysql 第二招、登陆mysql 语法如下: mysql -u用户名 -p用户密码 键入命令mysql -uroot -p, 回车后提示你输入密码,输入12345,然后回车即可进入到mysql中了,mysql的提示符是: mysql> 注意,如果是连接到另外的机器上,则需要加入一个参数-h机器IP 第三招、增加新用户 格式:grant 权限 on 数据库.* to 用户名@登录主机 identified by "密码" 如,增加一个用户user1密码为password1,让其可以在本机上登录, 并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入mysql,然后键入以下命令: grant select,insert,update,delete on *.* to user1@localhost Identified by "password1"; 如果希望该用户能够在任何机器上登陆mysql,则将localhost改为"%"。 如果你不想user1有密码,可以再打一个命令将密码去掉。 grant select,insert,update,delete on mydb.* to user1@localhost identified by ""; 第四招: 操作数据库 登录到mysql中,然后在mysql的提示符下运行下列命令,每个命令以分号结束。 1、 显示数据库列表。 show databases; 缺省有两个数据库:mysql和test。 mysql库存放着mysql的系统和用户权限信息,我们改密码和新增用户,实际上就是对这个库进行操作。 2、 显示库中的数据表: use mysql; show tables; 3、 显示数据表的结构: describe 表名; 4、 建库与删库: create database 库名; drop database 库名; 5、 建表: use 库名; create table 表名(字段列表); drop table 表名; 6、 清空表中记录: delete from 表名; 7、 显示表中的记录: select * from 表名; 第五招、导出和导入数据 1. 导出数据: mysqldump --opt test > mysql.test 即将数据库test数据库导出到mysql.test文件,后者是一个文本文件 如:mysqldump -u root -p123456 --databases dbname > mysql.dbname 就是把数据库dbname导出到文件mysql.dbname中。 2. 导入数据: mysqlimport -u root -p123456 < mysql.dbname。 不用解释了吧。 3. 将文本数据导入数据库: 文本数据的字段数据之间用tab键隔开。 use test; load data local infile "文件名" into table 表名; 1:使用SHOW语句找出在服务器上当前存在什么数据库: mysql> SHOW DATABASES; 2:2、创建一个数据库MYSQLDATA mysql> CREATE DATABASE MYSQLDATA; 3:选择你所创建的数据库 mysql> USE MYSQLDATA; (按回车键出现Database changed 时说明操作成功!) 4:查看现在的数据库中存在什么表 mysql> SHOW TABLES; 5:创建一个数据库表 mysql> CREATE TABLE MYTABLE (name VARCHAR(20), sex CHAR(1)); 6:显示表的结构: mysql> DESCRIBE MYTABLE; 7:往表中加入记录 mysql> insert into MYTABLE values ("hyq","M"); 8:用文本方式将数据装入数据库表中(例如D:/mysql.txt) mysql> LOAD DATA LOCAL INFILE "D:/mysql.txt" INTO TABLE MYTABLE; 9:导入.sql文件命令(例如D:/mysql.sql) mysql>use database; mysql>source d:/mysql.sql; 10:删除表 mysql>drop TABLE MYTABLE; 11:清空表 mysql>delete from MYTABLE; 12:更新表中数据 mysql>update MYTABLE set sex="f" where name='hyq'; posted on 2006-01-10 16:21 happytian 阅读(6) 评论(0) 编辑 收藏 收藏至365Key 13:备份数据库 mysqldump -u root 库名>xxx.data 14:例2:连接到远程主机上的MYSQL 假设远程主机的IP为:110.110.110.110,用户名为root,密码为abcd123。则键入以下命令: mysql -h110.110.110.110 -uroot -pabcd123 // 远程登录 (注:u与root可以不用加空格,其它也一样) 3、退出MYSQL命令: exit (回车)转载地址:http://www.dataguru.cn/forum.php?mod=viewthread&tid=34746
相关推荐
MySQL 解压版安装教程 MySQL 是一种流行的开源关系数据库管理系统,本文将指导您如何安装 MySQL 解压版,包括下载、解压、配置文件的编写、环境变量的设置、安装和启动 MySQL 服务。 下载和解压 首先,下载 ...
解压版mysql安装教程 my.ini配置文件 [mysqld] # 设置mysql的安装目录 basedir=D:/Program Files (x86)/mysql-8.0.11-winx64 # 设置mysql数据库的数据的存放目录,必须是data datadir=D:/Program Files (x86)/mysql-...
Windows 10 下解压版 MySQL 安装配置教程知识点: 一、安装准备 在 Windows 10 上安装解压版 MySQL 之前,需要准备以下几点: 1. 确保系统满足最低要求,比如 Windows 10 的 64 位版本。 2. 从 MySQL 官方网站下载 ...
解压版MySQL安装及遇到的错误与解决方法涉及了MySQL数据库系统的部署和基本的故障排除过程。以下是一些详细的知识点: 1. 下载解压版MySQL:首先需要访问MySQL官方网站下载适合您操作系统(如Windows)的MySQL解压...
执行以下命令将MySQL安装为Windows服务: ```shell mysqld --install ``` 此命令会将MySQL注册为Windows服务,使得可以在服务管理器中控制MySQL服务的启停。 4. **启动MySQL服务** 启动MySQL服务可以使用如下...
### MySQL 5.0 解压版数据库安装详解 在IT领域,数据库的稳定性和可靠性对于任何应用程序或系统来说都是至关重要的。MySQL作为一款流行的关系型数据库管理系统,因其高性能、高可靠性和易于使用的特性,在众多...
本教程将详细讲解如何使用解压版MySQL进行安装和使用,特别适合新手练习。 首先,我们需要理解什么是MySQL的解压版。解压版是指MySQL服务器的二进制文件,无需通过安装程序,可以直接在解压后的文件夹中运行。这省...
本文将详细介绍如何在Windows环境下通过解压MySQL的安装包进行安装,这里以MySQL-5.7.12-winx64为例。 首先,你需要下载MySQL的zip压缩文件,例如MySQL-5.7.12-winx64.zip。下载完成后,将其解压缩到你希望安装的...
本篇文章将详细介绍如何通过解压方式安装MySQL,特别是针对那些不希望使用编译安装或者预编译二进制包的用户。 首先,我们需要了解MySQL的安装基础。MySQL的安装通常分为两种主要方式:一是通过操作系统自带的包...
比较详细的mysql解压版安装步骤!绿化版的,比安装版更好!
某些版本MySQL解压版解压之后没有my-default.ini文件,这时就需要自己新建一个my.ini文件。现在只需要下载我这个文件放在MySQL根目录,然后将该文件中的basedir和datadir修改为自己对应的MySQL路径就可以进行后续...
下载这个精心准备好的MySQL5.6稳定版,无须安装,解压立即使用。 自带数据库管理工具,数据库编辑超方便。 使用场景: 任何需要快速部署MySql作为数据库的场景。 使用方法: 下载后解压; 双击“启动MySQL数据库....
在CentOS 7环境下,虽然上述RedHat的安装步骤同样适用,但CentOS 7通常采用的是解压版进行安装和配置。以下是在CentOS 7下配置MySQL的简要步骤: ##### 2.1 下载与解压 - 下载适合CentOS 7的MySQL压缩包,例如 `...
3. **下载并解压MySQL源码包**: 从提供的文件列表中,我们可以看到`mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz`。首先下载这个文件,然后使用`tar`命令解压: ``` wget ...
### Linux CentOS离线安装 MySQL Glibc 版/解压版详解 #### 一、环境准备与检查 在开始安装 MySQL 之前,确保你的 CentOS 系统满足以下条件: 1. **确定系统架构**:首先确认你的 CentOS 系统是 32 位还是 64 位...
- **注意事项**:确保下载的是解压版(非安装版),适用于不同操作系统(此处以Windows为例)。 ##### 2. 解压安装包 - **解压位置**:选择合适的目录进行解压(例如D:\DataBase\mysql\mysql-8.0.16-winx64)。 - *...
5. **冲突软件**:检查是否有其他数据库服务正在运行,如已安装的旧版MySQL或其他数据库系统,可能需要先卸载或停止它们。 `mysql5.7的安装和下载.docx`文档可能提供了更详细的步骤和注意事项,而`navicat15带激活...
在解压MySQL绿色版之后,你需要进行以下步骤来设置和运行服务: 1. **配置MySQL**:找到并编辑`my.ini`或`my.cnf`配置文件,根据你的需求调整服务器参数,如端口号、数据存储路径、用户权限等。 2. **初始化数据库...