戊辰人博客

青,取之于蓝而青于蓝;冰,水为之而寒于水。

windows下安装64位mysql 5.7

日期:2016年11月04日 作者: 分类:数据库 阅读:1,234

操作系统:windows 7 64bit

数据库:mysql-5.7.16-winx64

数据库软件包:mysql-5.7.16-winx64.zip

一、准备相关文件

1. 解压mysql-5.7.16-winx64.zip,我这里直接解压到D盘,解压后得到mysql-5.7.16-winx64目录

2. 为了方便,我将mysql-5.7.16-winx64改名为mysql57,这样,我的mysql数据库的路径就为 D:\mysql57

3. 进入 D:\mysql57目录,将 my-default.ini 改名为my.ini

4. 用文本编辑器打开 my.ini 文件,修改相关配置

[mysqld]
# 数据库的根目录
basedir = D:\\mysql57
# 数据存放目录
datadir = D:\\mysql57\\data
# 端口
port = 3306
# server_id = .....
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

阅读全文…

利用MySQL存储过程分割字符串

日期:2015年11月20日 作者: 分类:数据库 阅读:1,003

MySQL存储过程可用于分割字符串,现有一段字符串,如:”12,14,17,19″,要把它按逗号(,)分割,然后用于SQL中的 where in 条件查询。

1. 计算可分割成多少个字符串(func_split_strlen)

DELIMITER $$
DROP FUNCTION IF EXISTS `func_split_strlen`$$
CREATE DEFINER=`root`@`localhost` FUNCTION `func_split_strlen`(
    f_string varchar(200),  -- 传入字符串
    f_delimiter varchar(5)  -- 分割符
) RETURNS int(11)
begin
    return 1+( length(f_string) - length(replace(f_string,f_delimiter, '')) );
end $$
DELIMITER ;

2. 拆分字符串函数(func_split)

DELIMITER $$
DROP FUNCTION IF EXISTS `func_split`$$
-- 功能:从 f_string 中以 f_delimiter 提取第 f_order 个字符
CREATE DEFINER=`root`@`localhost` FUNCTION `func_split`(
    f_string varchar(200),   -- 传入字符串
    f_delimiter varchar(5),  -- 分割符
    f_order int              -- 分割
) RETURNS varchar(255) CHARSET utf8  -- 返回字符串
begin
    declare result varchar(255) default '';
    set result = reverse(
        substring_index(
            reverse(substring_index(f_string,f_delimiter,f_order)),
            f_delimiter,
            1
        )
    );
    return result;
end $$
DELIMITER ;

阅读全文…

sql server 2000错误2812 未能找到存储过程sp_password

日期:2015年05月25日 作者: 分类:数据库 阅读:850

在帮助朋友解决管家婆问题时,管家婆报错未能登录’sa’账户,看到这个提示后的第一个想法就是可能是什么原因数据库’sa’账户密码被修改或者密码忘记导致连接失败。

既然是账号问题时,那去改一下密码就好啊,于是打开数据库的企业管理器,进入数据库的 SQL Server组→安全性→登陆,找到sa用户,右键属性,修改密码,可是出现如下错误:

sql server 2000错误2812

Google之,网上给出的答案是:

现在有很多自动扫描1433端口的软件,会破坏sp_password。造成在修改SA密码的时候出现2812错误。

解决方法是重建sp_password,用WINDOWS身份验证登陆到SQL SERVER的查询工具。复制–粘贴–执行如下代码就OK。

阅读全文…

MySQL创建用户与授权方法

日期:2015年03月25日 作者: 分类:数据库 阅读:512

MySQL中创建用户与授权的实现方法,对于刚开始接触mysql的朋友可以参考下

一、创建用户

SQL命令语法:

CREATE USER 
    'username'@'host' 
IDENTIFIED BY 
    'password';

其中:

username - 你将创建的用户名, 
host - 指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost, 如果想让该用户可以从任意远程主机登陆,
       可以使用通配符%. 
password - 该用户的登陆密码,密码可以为空,如果为空则该用户可以不需要密码登陆服务器.

使用示例:

CREATE USER 'aaa'@'localhost' IDENTIFIED BY '123456';
CREATE USER 'bbb'@'192.168.1.101' IDENDIFIED BY '123456';
CREATE USER 'ccc'@'%' IDENTIFIED BY '123456';
CREATE USER 'ddd'@'%' IDENTIFIED BY '';
CREATE USER 'eee'@'%';

阅读全文…

MySQL错误ERROR 1130解决方法

日期:2015年02月18日 作者: 分类:数据库 阅读:559

一、改表法

可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 “mysql” 数据库里的 “user” 表里的 “host” 项,从”localhost”改称”%”

登录数据库

mysql -u root -p

更改mysql数据库中的mysql表

mysql>use mysql;
mysql>update user set host = '%' where user = 'root';
mysql>select host, user from user;

二、授权法

例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。

GRANT ALL PRIVILEGES ON *.* 
    TO 'myuser'@'%' 
    IDENTIFIED BY 'mypassword' 
    WITH GRANT OPTION;

如果你想允许用户myuser从ip为192.168.1.3的主机连接到mysql服务器,并使用mypassword作为密码

GRANT ALL PRIVILEGES ON *.* 
    TO 'myuser'@'192.168.1.3' 
    IDENTIFIED BY 'mypassword' 
    WITH GRANT OPTION;

最后注意打开防火墙端口,默认3306

远程连接MySQL配置

日期:2015年02月18日 作者: 分类:数据库 阅读:501

一、思路

第一:更改“mysql”数据库里的“user”表里的“host”项,从“localhost”改称“%”。 或者新加条记录,“host”项为要访问的ip地址,并授权。重启mysql服务。

第二:在系统防火墙添加例外端口:3306,并允许例外。

二、操作(CentOS 6.5)

1. 以root权限用户登录数据库

mysql -u root -p

2. 选择mysql数据库

mysql>use mysql;

3. 查看mysql库中的user表的host值(即可进行连接访问的主机/IP名称)

mysql>select 'host' from user where user='root';

4. 修改host值(以通配符%的内容增加主机/IP地址),当然也可以直接增加IP地址

mysql>update user set host = '%' where user ='root';

5. 刷新MySQL的系统权限相关表

mysql>flush privileges;

6. 退出mysql并重启mysql

servive mysqld restart

MySQL忘记root密码的解决方法

日期:2015年01月21日 作者: 分类:数据库 阅读:452

试验环境:CentOS 6.4 32位 + MySQL 5.1

1. 修改MySQL的登录设置

vi /etc/my.cnf

在[mysqld]的段中加上一句:skip-grant-tables

例如:

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
skip-grant-tables

保存并且退出vi

阅读全文…

Oracle中网络配置文件详解

日期:2015年01月13日 作者: 分类:数据库 阅读:537

oracle网络配置

三个配置文件 listener.ora、sqlnet.ora、tnsnames.ora ,都是放在$ORACLE_HOME/network/admin目录下。
英文说明:

The sqlnet.ora is an optional file expressing more parameters about the connection (eg: the trace level for debugging, the types of  authentication you would like to support and so on). It may be found on the client or the server.
The tnsnames.ora is used to find a Net8 listener and connect to it and pass to it the details of the database instance youwould like to connect to. It will be found on the client side. Note that a SERVER can be a client of another database so it is typical to find it on the SERVER as well.
The listener.ora is used to setup the configuration of the net8 listener. to specify the port it will listen on, give it the details of the databases it can connect to and so on. This file is on the SERVER only.

1.  sqlnet.ora

通过这个文件来决定怎么样找一个连接中出现的连接字符串

例如我们客户端输入

sqlplus sys/oracle@ora

假如我的sqlnet.ora是下面这个样子

SQLNET.AUTHENTICATION_SERVICES= (NTS)

NAMES.DIRECTORY_PATH= (TNSNAMES,HOSTNAME)

那么,客户端就会首先在tnsnames.ora文件中找ora的记录.如果没有相应的记录则尝试把ora当作一个主机名,通过网络的途径去解析它的 ip地址然后去连接这个ip上GLOBAL_DBNAME=ora这个实例,当然我这里ora并不是一个主机名

如果我是这个样子

NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)

那么客户端就只会从tnsnames.ora查找ora的记录,括号中还有其他选项,如LDAP等并不常用。

阅读全文…

RHEL6.4 x86_64静默安装Oracle 11g r2

日期:2015年01月11日 作者: 分类:数据库 阅读:1,349

1 安装环境

操作系统:CetnOS6.4 x86_64

数据库版本:oracle 11g r2

2 准备工作

root用户登录后

unzip linux.x64_11gR2_database_1of2.zip #解压
unzip linux.x64_11gR2_database_2of2.zip

在/etc/hosts文件中增加主机名(通过hostname获得)到回环IP的映射如下:

 127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4  
 ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6 
 192.168.1.150    rhel

3 安装必须的包

 yum install gcc
 yum install make
 yum install binutils
 yum install gcc-c++
 yum install compat-libstdc++-33
 yum install elfutils-libelf-devel
 yum install elfutils-libelf-devel-static
 yum install ksh
 yum install libaio
 yum install libaio-devel
 yum install numactl-devel
 yum install sysstat
 yum install unixODBC
 yum install unixODBC-devel
 yum install pcre-devel

阅读全文…

Oracle常用基本操作

日期:2015年01月06日 作者: 分类:数据库 阅读:453

1. 创建临时表空间

create temporary tablespace user_temp 
    tempfile '/home/oracle/oracle_base/oradata/wilson/user_temp.dbf'
    size 50m
    autoextend on
    next 50m maxsize 20480m
    extent management local;

2. 创建数据表空间

create tablespace user_data
    logging
    datafile '/home/oracle/oracle_base/oradata/wilson/user_data'
    size 50m
    autoextend on
    next 50m maxsize 20480m
    extent management local;

3. 创建用户并指定表空间

create user test_user identified by test_user
    default tablespace user_data
    temporary tablespace user_temp
    account unlock;

阅读全文…