mysql的简单配置_MySQL 简单配置与基本操作

MySQL 入坑指南

本篇文章主要记录自己在使用配置 MySQL 过程中的注意点和配置流程,因为自己常常帮别人配置 MySQL 环境,但是每次都需要重新查看下资料,我就自己记录下,为快速配置 MySQL 环境而节省时间。

MySQL 的安装

下载安装包

个人建议选择zip包安装,这样Windows和Linux下配置过程很相似

这里还要讲下有的下载的 5.7 版本 里面没有 data 目录,这个常常会导致安装失败,建议下载压缩包后解压看看里面有没有 data 目录,选择有 data 目录 的压缩包安装较好,如果没有可以从以前或者别人的目录里拷贝,上面百度云里的 5.6 版本 是有的。

解压到安装目录

尽量避开系统盘,这样便于数据的恢复

编辑配置文件

将 my-default.ini 复制为 my.ini 并修改如下两个配置:

1

2basedir = 解压后目录 ( bin 文件上一级目录 )

datadir = 解压后目录下的 data 目录

比如:

1

2basedir = D:\DevePrograms\mysql-5.6.21-winx64

datadir = D:\DevePrograms\mysql-5.6.21-winx64\data

安装

管理员身份 打开命令 cmd 窗口,cd 到 bin 文件夹下。( Windows7 的话通常点击开始 – 附件 – 命令提示符右击 – 以管理员方式打开 )

输入 mysqld -install ( 注意是 mysqld 而不是 mysql, 有个 d ),提示安装成功即可。

如果提示不成功,则 mysqld -remove, 再执行 mysqld -install.

开启 / 关闭 mysql 服务

MySQL 装成功实际上就是 MySQL 服务装成功,服务的开启与否决定能不能使用 MySQL 数据库。

开启服务:net start mysql

关闭服务:net stop mysql

如果大家按照第四部安装的,通常默认服务是开机自启动的,默认可以正常使用,如果用了什么安全管家加速电脑开机关闭了 MySQL 的服务,则就需要在使用 MySQL 服务前先开启下 MySQL 服务。

大家可以 [ 右击我的电脑 – 管理 – 服务和应用程序展开 – 服务 ] 里面就可以找到 MySQL 服务,如果大家想禁止开机自启或者想开机自启都可以在这里设置。

eaeb61e831064ef2df9207bb931a5022.png

登录使用 MySQL

开启服务后,用 mysql -u root -p 回车后会让输入密码,默认密码为空,直接再回车就进入了 MySQL 数据库操作里了。

MySQL 编码设置

配置文件设置

在 my.ini 文件里写入以下配置

1

2

3

4

5

6[client]

default-character-set=utf8

[mysql]

default-character-set=utf8

[mysqld]

character-set-server=utf8

如果没有 my.ini 配置文件,则通过复制 my-default.ini 文件为 my.ini文 件再进行设置。

重启 MySQL 服务让设置生效:先关闭服务 net stop mysql, 再启动服务 net start mysql.

创建数据库和表规范

创建数据库时带上编码集:

1create database db_test character set 'utf8' collate 'utf8_general_ci';

创建表带上编码集合和引擎:

1create table tb_muser(id int not null auto_increment primary key,username char(10)) engine=InnoDB default charset=utf8;

查看已经创建的数据库编码格式:

1show create database test;

查看已经创建的表编码格式:

1show create table tb_muser;

编码排错语句

显示所有设置项目的编码:

1

2

3

4

5

6

7

8

9show variables like 'character_%';

// 通常有如下名称编码设置

character_set_client

character_set_connection

character_set_server

character_set_database

character_set_results

character_set_server

character_set_system

通过形似这样 set character_set_NAME=utf8/gbk 的命令设置上面查看到的非标准编码

1set character_set_server=utf8;

MySQL 常用命令

连接 MySQL

连接命令:

1

2mysql -h 服务器ip -u 用户名 -p// 连接通用命令

password:输入密码

例如:

1

2mysql –h localhost/127.0.0.1 –u root –p // 连接本地计算机的 MySQL

// 链接本地计算机 -h 也可以不写,如:mysql –u root –p

root 密码重置

由于初始密码为空,如果想修改密码,首先要退出数据库,然后

1mysqladmin -u root passwrod 1234

假设已经设置过密码了,又想修改,则命令如下:

方法一:

1

2mysql -u root -p//需要先以 root 身份登录到数据库

SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass');

方法二:

1

2

3

4mysql -u root -p//也需要登录

use mysql;

UPDATE user SET Password = PASSWORD('newpass') WHERE user = 'root';

FLUSH PRIVILEGES;// 刷新权限

创建账户

grant 语句

1

2

3// grant语句 所有权限 所有数据库 用户 登录地点 用户密码

grant all privileges on *.* to 'jiyi2'@'%' identified by '123456' with grant option;

// %号代表所有地方登录

例如:

1

2

3

4grant reload,process on *.* to 'jiyi3'@'localhost';

// 给部分权限给jiyi3,localhost为本地登录

grant usage on *.* to 'jiyi4'@'localhost';

// 不给权限给用户jiyi4

insert 语句

1

2

3

4insert into user values('localhost/%','jiyi',PASSWORD('123456'),'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y');

//登录地(本地或者所有地),用户名,密码,后面的Y都是权限,所有都是Y相当于all privileges

insert into user (Host,User,Password) VALUES('localhost','jiyi','123456');

//指定地点用户

注意:insert 语句最后都要加一句flush privileges; 以刷新权限列表。

MySQL 导入 SQL 文件

MySQL 导入命令:

1

2

3

4source /data/sql/createDB.sql;

// 该命令是将放在 mysql 文件夹内的 data/sql 文件夹内的.sql文件导入到 MySQL 中

source D:/createDB.sql;

// 这是将放在 D 盘的 .sql 文件导入到 MySQL 中

MySQL 备份命令:

1

2

3

4

5// 结构:

mysqldump -u 用户名 -p 数据库名 表名 > 导出的文件名

// 如:

mysqldump -uroot -p jiyidata > jiyidata.sql// 指定数据库

mysqldump -uroot -p jiyidata jiyitable > jiyitable.sql// 指定数据库表

MySQL 导入文本数据

1、文本数据应符合的格式:字段数据之间用 tab 键隔开,null 值用 \n 来代替.

例:

1

23 rose 深圳二中 1976-10-10

4 mike 深圳一中 1975-12-23

2、数据传入命令

1

2

3# load data local infile "文件名" into table 表名;

# 如:

load data local infile "jiyi.txt" into table jiyitable;

注意:你最好将文件复制到 \mysql\bin 目录下,并且要先用 use 命令打表所在的库。

数据库和表语句

1

2

3

4

5create database jiyidata;// 创建 jiyidata 数据库

show databases;// 显示所有数据库

use jiyidata;// 使用 jiyidata 数据库,切换到 jiyidata 数据库下

show tables;// 展示 jiyidata 中的所有表格

drop table if exists jiyitable;// 如果存在 jiyitable 就删除

创建表

1create table jiyitable(id int not null primary key auto_increment,phonenumber varchar(20) not null unique);

不为空 not null

主键 primary key

自增长 auto_increment

唯一 unique

默认值 default '1' 默认为1

id int(11) unsigned 代表 int 无符号,即都表示正数,这样比 signed 表示的更多数,其实当我们在选择使用 int 的类型的时候,不论是 int(3) 还是 int(11),它在数据库里面存储的都是 4 个字节的长度,在使用 int(3) 的时候如果你输入的是 10,会默认给你存储位 010,也就是说这个 3 代表的是默认的一个长度,当你不足 3 位时,会帮你不全,当你超过 3 位时,就没有任何的影响。

表基本操作语句

查、增、改、删

1

2

3

4

5

6

7

8

9// sql语句大概分为4中情况

// 1. 查询

select * from usertable;

// 2. 插入

insert into usertable(id,phonenumber) values('3','13140999025');

// 3. 更新

update usertable set phonenumber='13140999029' where id='3';

// 4. 删除

delete from usertable where id='3';

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值