MySQL 数据库

 下载安装

 Window版本

1、下载:MySQL Community Server 5.7.16 http://dev.mysql.com/downloads/mysql/

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

3、添加环境变量 【右键计算机】--》【属性】--》【高级系统设置】--》【高级】--》【环境变量】--》【在第二个内容框中找到 变量名为Path 的一行,双击】 --> 【将MySQL的bin目录路径追加到变值值中,用 ; 分割】

4、启动MySQL服务

C:UsersLuke.chen>mysqld # 启动MySQL服务

5、启动MySQL客户端并连接MySQL服务

C:UsersLuke.chen>mysql # 连接MySQL服务器

 

按照上述的方法启动MySQL服务,当重新开关机时还需要在重新输入mysqld 来启动MySQL服务,且因为在执行【mysqd】启动MySQL服务器时,当前终端会被hang住;

因此要将MySQL服务制作成windows服务

 

# 制作MySQL的Windows服务,需要以管理员的身份启动cmd:

  注意:--install前,必须用mysql启动命令的绝对路径

   "c:mysql-5.7.16-winx64inmysqld" --install

# 移除MySQL的Windows服务,在终端执行此命令:

"c:mysql-5.7.16-winx64inmysqld" --remove

 

注册成服务之后,以后再启动和关闭MySQL服务时,仅需执行如下命令,需要以管理员的身份:

# 启动MySQL服务

C:WINDOWSsystem32>net start MySQL

# 关闭MySQL服务

C:WINDOWSsystem32>net stop mysql

 

 windows平台mysql密码设置与破解

 selec user(); #查看当前登录的用户

mysql> select user();
+----------------+
| user()         |
+----------------+
| ODBC@localhost | #localhost代表当前主机下的用户
+----------------+
1 row in set (0.00 sec)

默认的登录用户为:ODBC

切换登录用户:

C:UsersLuke.chen>mysql -uroot -p #以root用户连接MySQL服务器
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or g.
mysql> select user();
+----------------+
| user()         |
+----------------+
| root@localhost |
+----------------+
1 row in set (0.00 sec)

切换到了root用户(root就是管理员账号),默认没有密码。

设置密码:

mysqladmin mysql的一种客户端工具,专门用来执行一些管理员命令

C:UsersLuke.chen>mysqladmin -uroot password "123" #设置初始密码 由于原密码为空,因此-p可以不用,设置密码为123
C:UsersLuke.chen>mysqladmin -uroot -p"123" password "456" #有了密码后再修改,需要加-p后面跟上密码

  

破解密码

1 关闭mysql:net stop MySQL

C:WINDOWSsystem32>net stop MySQL
MySQL 服务正在停止.
MySQL 服务已成功停止。

  #以管理员身份停止mysql服务,MySQL为服务名,在windows下服务下查看

  

2 跳过授权表启动mysqld:

C:WINDOWSsystem32>mysqld --skip-grant-tables
2018-04-09 15:54:08 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2018-04-09 15:54:08 0 [Note] --secure-file-priv is set to NULL. Operations related to importing and exporting data are disabled
2018-04-09 15:54:08 0 [Note] mysqld (mysqld 5.6.39) starting as process 11988 ...

3 再次登录root用户据不需要密码了: 

C:UsersLuke.chen>mysql -uroot -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or g.
mysql> select user();
+--------+
| user() |
+--------+
| root@  |
+--------+
1 row in set (0.00 sec) 

4 执行如下sql,更改密码,以下设置密码为空:

以下指令针对5.6版本的mysql:

mysql> update mysql.user set password=password("") where user="root" and host="localhost";
Query OK, 1 row affected (0.01 sec)
Rows matched: 1  Changed: 1  Warnings: 0

   以下指令针对5.6版本的mysql:

mysql> update mysql.user set authentication_string=password('') where user='root and host='localhost';

     在执行下列语句刷新列表:

mysql> flush privileges;
Query OK, 0 rows affected (0.02 sec)

 5 结束mysqld进程,需要管理员权限

C:UsersLuke.chen>tasklist |findstr mysql
mysqld.exe                   11988 Console                    1    433,584 K
C:WINDOWSsystem32>taskkill /F /PID 11988
成功: 已终止 PID 为 11988 的进程。

    6 重新启动mysql

C:WINDOWSsystem32>net start MySQL
MySQL 服务正在启动 .
MySQL 服务已经启动成功。

  此时通过root用户登录就不需要密码了

C:WINDOWSsystem32>mysql -uroot -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or g.

    

统一字符编码

查看字符编码

mysql> s
--------------
mysql  Ver 14.14 Distrib 5.6.39, for Win64 (x86_64)

Connection id:          1
Current database:
Current user:           ODBC@localhost
SSL:                    Not in use
Using delimiter:        ;
Server version:         5.6.39 MySQL Community Server (GPL)
Protocol version:       10
Connection:             localhost via TCP/IP
Server characterset:    latin1
Db     characterset:    latin1
Client characterset:    gbk
Conn.  characterset:    gbk
TCP port:               3306
Uptime:                 1 hour 2 min 36 sec
Server characterset服务端字符编码
Db characterset数据库字符编码
Client characterset客户端字符编码
Conn. characterset链接字符编码
字符编码不统一,需要修改配置文件:
1.在mysql的解压目录下,新建my.ini,然后配置
2. 修改配置文件
[mysqld]
default-character-set=utf8 
[client]
default-character-set=utf8 
[mysql]
default-character-set=utf8

#mysql5.5以上:修改方式有所改动,如下
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
[client]
default-character-set=utf8
#client下的配置是针对所有客户端的 [mysql] #给单独的mysql客户端定制字符编码,如有mysql客户端没有单独设置参数,则会使用client下的配置 default-character-set=utf8
user="root"
password=""

2. 重启服务

C:WINDOWSsystem32>net stop MySQL #必须要以管理员的身份打开cmd

3. 查看修改结果:

  登录mysql客户端后:

  s

  show variables like '%char%'

原文地址:https://www.cnblogs.com/lukechenblogs/p/8759280.html