戊辰人博客

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

windows下安装64位mysql 5.7

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

操作系统: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,039

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 ;

阅读全文…

MySQL创建用户与授权方法

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

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日 作者: 分类:数据库 阅读:574

一、改表法

可能是你的帐号不允许从远程登陆,只能在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日 作者: 分类:数据库 阅读:515

一、思路

第一:更改“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日 作者: 分类:数据库 阅读:461

试验环境: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

阅读全文…

MySQL导出与备份

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

环境:mysql 5.1

操作的数据库:monitor

1. MySQL导出数据库

mysqldump -hlocalhost -uroot -pdoubi123 monitor > monitor.sql

 

2. MySQL导入数据库

mysql -hlocalhost -uroot -pdoubi123 monitor < monitor.sql

 

 

mysql编码设置为utf8

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

1.mysql 5.1系列

编辑/etc/my.cnf

分别在[mysqld] [mysql_safe] [mysql]中添加如下条目

default-character-set=utf8

 

2.mysql 5.5系列

编辑my.cnf

[client]
default-character-set=utf8

[mysqld]  
default-storage-engine=INNODB 
character-set-server=utf8 
collation-server=utf8_general_ci

 

3.修改数据库字符集

alter database dbname character set utf8;