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:\Users\Luke.chen>mysqld # 启动MySQL服务
5、启动MySQL客户端并连接MySQL服务
C:\Users\Luke.chen>mysql # 连接MySQL服务器
按照上述的方法启动MySQL服务,当重新开关机时还需要在重新输入mysqld 来启动MySQL服务,且因为在执行【mysqd】启动MySQL服务器时,当前终端会被hang住;
因此要将MySQL服务制作成windows服务
# 制作MySQL的Windows服务,需要以管理员的身份启动cmd:
注意:
--install前,必须用mysql启动命令的绝对路径
"c:\mysql-5.7.16-winx64\bin\mysqld" --install
# 移除MySQL的Windows服务,在终端执行此命令:
"c:\mysql-5.7.16-winx64\bin\mysqld" --remove
注册成服务之后,以后再启动和关闭MySQL服务时,仅需执行如下命令,需要以管理员的身份:
# 启动MySQL服务
C:\WINDOWS\system32>net start MySQL
# 关闭MySQL服务
C:\WINDOWS\system32>net stop mysql
windows平台mysql密码设置与破解
selec user(); #查看当前登录的用户
mysql> select user(); +----------------+ | user() | +----------------+ | ODBC@localhost | #localhost代表当前主机下的用户 +----------------+ 1 row in set (0.00 sec)
默认的登录用户为:ODBC
切换登录用户:
C:\Users\Luke.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:\Users\Luke.chen>mysqladmin -uroot password "123" #设置初始密码 由于原密码为空,因此-p可以不用,设置密码为123
C:\Users\Luke.chen>mysqladmin -uroot -p"123" password "456" #有了密码后再修改,需要加-p后面跟上密码
破解密码
1 关闭mysql:net stop MySQL
C:\WINDOWS\system32>net stop MySQL MySQL 服务正在停止. MySQL 服务已成功停止。
#以管理员身份停止mysql服务,MySQL为服务名,在windows下服务下查看
2 跳过授权表启动mysqld:
C:\WINDOWS\system32>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:\Users\Luke.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:\Users\Luke.chen>tasklist |findstr mysql mysqld.exe 11988 Console 1 433,584 K
C:\WINDOWS\system32>taskkill /F /PID 11988 成功: 已终止 PID 为 11988 的进程。
6 重新启动mysql
C:\WINDOWS\system32>net start MySQL MySQL 服务正在启动 . MySQL 服务已经启动成功。
此时通过root用户登录就不需要密码了
C:\WINDOWS\system32>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:\WINDOWS\system32>net stop MySQL #必须要以管理员的身份打开cmd
3. 查看修改结果:
登录mysql客户端后:
\s
show variables like '%char%'