MySQL:安装和基本管理、创建用户和授权

mysql的下载安装

想要使用MySQL来存储并保存数据,则需要做几件事情:

  a. 安装MySQL服务端
  b. 安装MySQL客户端
  b. 【客户端】连接【服务端】
  c. 【客户端】发送命令给【服务端MySQL】服务的接受命令并执行相应操作(增删改查等)

官网下载地址:

https://dev.mysql.com/downloads/mysql/

 

1、window版本下载

  针对不同的操作系统下载不同的版本

2、解压

最好不要放在C盘,以后管理数据,会占用内存

如果想要让MySQL安装在指定目录,那么就将解压后的文件夹移动到指定目录,如:C:\mysql-5.6.40-winx64

3、添加环境变量

  将mysql中的bin目录,添加到环境变量中

4、初始化

  在 cmd 终端执行以下语句

mysqld --initialize-insecure

5、启动服务端

mysqld #启动MySQL服务

6、启动mysql客户端并连接到mysql服务端(需要打开一个新的cmd窗口)

mysql -u root -p # 连接MySQL服务器

 

7、通过安装服务来启动和关闭服务端

  上一步解决了一些问题,但不够彻底,因为在执行【mysqld】启动MySQL服务器时,当前终端会被hang住,那么做一下设置即可解决此问题,即将MySQL服务制作成windows服务

注意:--install前,必须用mysql启动命令的绝对路径,
# 制作MySQL的Windows服务,在终端执行此命令:
"c:\mysql-5.6.40-winx64\bin\mysqld" --install

# 移除MySQL的Windows服务,在终端执行此命令:
"c:\mysql-5.7.16-winx64\bin\mysqld" --remove

如果添加了环境变量,以管理员身份运行cdm 直接输入 mysqld --installmysql --remove 即可 注册成服务之后,以后再启动和关闭MySQL服务时,仅需执行如下命令: # 启动MySQL服务 net start mysql # 关闭MySQL服务 net stop mysql

注意:启动服务以后,可以执行命令查看进程和杀死进程

tasklist |findstr mysql  #查看当前mysql的进程
taskkill /F /PID 6052  # 杀死当前的进程pid

windows下登录设置密码 

1、进入服务端以后

select user();  查看当前登录账户

2、 切换账号 root

mysql -uroot -p

 3、设置密码

C:\Users\mjj>mysqladmin -uroot -p password "123"  #设置初始密码 由于原密码为空,因此-p可以不用 注意这句话不起作用,请使用update mysql.user set authentication_string =password('') where User='root'; 

   设置密码后再登录不输入密码则进不去,会报错

ps:⚠️不用管它。翻译为:在命令行界面使用密码不安全,暴露在终端当中。

4、使用密码登录

mysql --uroot -p123

5、如果想将原始密码123,设置新密码为456

C:\Users\mjj>mysqladmin -uroot -p"123" password "456"  #修改mysql密码,因为已经有密码了,所以必须输入原密码才能设置新密码

 依次执行如下操作:

mysql -uroot -p456

select user();

密码忘记 -- 破解密码

忘记密码以后可以通过,跳过授权方式,直接登录,具体如下:

1、首先以管理员身份打开cmd:

2、停止掉mysql服务

3、执行跳过授权命令

#跳过授权表
C:\WINDOWS\system32>mysqld --skip-grant-tables
2018-06-09 17:12:38 0 [Warning] Insecure configuration for --secure-file-priv: Current value does not restrict location of generated files. Consider setting it to a valid, non-empty path. 2018-06-09 17:12:38 0 [Note] mysqld (mysqld 5.6.40) starting as process 6052 ...4.

4、连接客户端,看能否跳过密码,直接登录

mysql -uroot -p

5、现在可以任意更改密码,执行如下命令

update mysql.user set authentication_string =password('') where User='root'; 

6、刷新权限

flush privileges;

7、退出mysql

exit

统一字符编码

进入mysql客户端以后,可以执行  \s  查看

 

为了统一字符编码utf8,请执行如下操作:

 1、my.ini文件是mysql的配置文件,

在C:\mysql-5.6.40-winx64文件下创建my.ini文件

 2、拷贝代码

[mysqld]
# 设置mysql的安装目录 **后面的路径一定是安装sql的目录(自己电脑的)**
basedir=C:\mysql-5.7.22-winx64\mysql-5.7.22-winx64
# 设置mysql数据库的数据的存放目录,必须是data
datadir=C:\mysql-5.7.22-winx64\mysql-5.7.22-winx64\data
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
# mysql端口
port=3306
# 字符集
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8

3、管理员身份打开cmd,重启服务

4、启动客户端,刷新权限,执行 /s 查看编码是否更改成功 

mysql创建用户和授权

我们知道我们的最高权限管理者是root用户,它拥有着最高的权限操作。包括select、update、delete、update、grant等操作。那么一般情况在公司之后DBA工程师会创建一个用户和密码,让你去连接数据库的操作,并给当前的用户设置某个操作的权限(或者所有权限)。那么这时就需要我们来简单了解一下:

  • 如何创建用户和密码
  • 给当前的用户授权
  • 移除当前用户的权限

如果你想创建一个新的用户,则需要以下操作:

 

1、进入到mysql数据库下

mysql> use mysql

 

2、对用户进行增删改

1.创建用户:
# 指定ip:192.118.1.1的mjj用户登录
create user 'mjj'@'192.118.1.1' identified by '123';
# 指定ip:
192.118.1.开头的mjj用户登录 create user 'mjj'@'192.118.1.%' identified by '123';
# 指定任何ip的mjj用户登录 create user
'mjj'@'%' identified by '123'; 2.删除用户 drop user '用户名'@'IP地址'; 3.修改用户 rename user '用户名'@'IP地址' to '新用户名'@'IP地址'; 4.修改密码 set password for '用户名'@'IP地址'=Password('新密码');

 

3、对当前用户进行授权管理

  grant 权限只有 root 用户才有

#查看权限
show grants for '用户'@'IP地址'

#授权 mjj用户仅对db1.t1文件有查询、插入和更新的操作
grant select ,insert,update on db1.t1 to "mjj"@'%';

# 表示有所有的权限,除了grant这个命令,这个命令是root才有的。mjj用户对db1下的t1文件有任意操作
grant all privileges  on db1.t1 to "mjj"@'%';
#mjj用户对db1数据库中的文件执行任何操作 grant all privileges on db1.
* to "mjj"@'%';
#mjj用户对所有数据库中文件有任何操作 grant all privileges on
*.* to "mjj"@'%';
#取消权限 # 取消mjj用户对db1的t1文件的任意操作 revoke all on db1.t1
from 'mjj'@"%"; # 取消来自远程服务器的mjj用户对数据库db1的所有表的所有权限 revoke all on db1.* from 'mjj'@"%"; 取消来自远程服务器的mjj用户所有数据库的所有的表的权限 revoke all privileges on *.* from 'mjj'@'%';

 

4、mysql备份命令行操作

# 备份:数据表结构+数据
mysqdump -u root db1 > db1.sql -p


# 备份:数据表结构
mysqdump -u root -d db1 > db1.sql -p

#导入现有的数据到某个数据库 #
1.先创建一个新的数据库 create database db10; # 2.将已有的数据库文件导入到db10数据库中 mysqdump -u root -d db10 < db1.sql -p

 

posted @ 2018-10-12 11:25  葡萄想柠檬  Views(830)  Comments(0)    收藏  举报
目录代码