【三】MySQL数据库之MySQL软件基本管理

发布时间 2023-06-30 20:41:55作者: Chimengmeng

【三】MySQL数据库之MySQL软件基本管理

关于Linux版本的基本管理与破解密码

详情:

【1】登录,设置密码

(1)初始状态下,管理员root,密码为空,默认只允许从本机登录localhost

(2)设置密码

[root@egon ~]# mysqladmin -uroot password "123"      

(3)设置初始密码 由于原密码为空,因此-p可以不用

[root@egon ~]# mysqladmin -uroot -p"123" password "456"    

(4)修改mysql密码,因为已经有密码了,所以必须输入原密码才能设置新密码

  • 命令格式:
[root@egon ~]# mysql -h172.31.0.2 -uroot -p456
[root@egon ~]# mysql -uroot -p
[root@egon ~]# mysql                    以root用户

(5)登录本机,密码为空

【2】忘记密码

windows平台下,5.7版本mysql,破解密码的两种方式:

(1)方式一

1 关闭mysql
2 在cmd中执行:
mysqld --skip-grant-tables
3 在cmd中执行:
mysql
4 执行如下sql:
update mysql.user set authentication_string=password('') where user = 'root';
flush privileges;
5 tskill mysqld #taskkill -f /PID 7832
6 重新启动mysql

(2)方式二

1. 关闭mysql
  • 可以用 tskill mysqld 将其杀死
2. 在解压目录下
  • 新建mysql配置文件 my.ini
3. my.ini内容,指定
[mysqld]
skip-grant-tables
4. 启动mysqld
5. 在cmd里直接输入mysql登录,然后操作
update mysql.user set authentication_string=password('') where user='root and host='localhost';
flush privileges;
6. 注释 my.ini 中的 skip-grant-tables
7.然后启动myqsld,然后就可以以新密码登录了

【3】在windows下,为mysql服务指定配置文件

强调:配置文件中的注释可以有中文,但是配置项中不能出现中文

(1)在mysql的解压目录下,新建my.ini,然后配置

(2)在执行mysqld命令时,下列配置会生效

  • 即mysql服务启动时生效
[mysqld]
;skip-grant-tables
port=3306
character_set_server=utf8
default-storage-engine=innodb
innodb_file_per_table=1

(3)解压的目录

basedir=E:\mysql-5.7.19-winx64
# data目录
datadir=E:\my_data 
# 在mysqld --initialize时,就会将初始数据存入此处指定的目录,在初始化之后,启动mysql时,就会去这个目录里找数据

(4)针对客户端命令的全局配置

  • 当mysql客户端命令执行时
  • 下列配置生效
[client]
port=3306
default-character-set=utf8
user=root
password=123

(5)只针对mysql这个客户端的配置

  • 2中的是全局配置
  • 而此处的则是只针对mysql这个命令的局部配置
[mysql]
;port=3306
;default-character-set=utf8
user=egon
password=4573

!!!如果没有[mysql],则用户在执行mysql命令时的配置以[client]为准

【4】统一字符编码

1. 修改配置文件

[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
[mysql]
default-character-set=utf8

2. 重启服务

3. 查看修改结果:

\s
show variables like '%char%'