百万年薪python之路 -- MySQL数据库之 永久修改字符串编码 与 忘了密码和修改密码

时间:2022-05-19 10:12:06

永久修改字符集编码的方法:

在mysql安装目录下创建一个my.ini(Windows下)文件,写入下面的配置,然后重启服务端.

[client]
#设置mysql客户端默认字符集
default-character-set=utf8 

[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
user = 'root'
password = '123'

[mysqld]
#设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=F:\mysql-5.6.45-winx64
# 设置mysql数据库的数据的存放目录
datadir=F:\mysql-5.6.45-winx64\data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB

查看字符集编码的指令:

show variables like "%char%";

MySQL客户端连接服务端时的完整指令:

mysql -h 127.0.0.1 -P 3306 -u root -p

如果密码忘了怎么办?

1.停掉MySQL服务端(net stop mysql)
2.切换到MySQL安装目录的bin目录下,然后手动指定启动程序来启动mysql服务端,指令: MySQL.exe --skip-grant-tables
3. 重新再启动一个窗口,连接mysql服务端,
4. 修改mysql库里面的user表里面的root用户记录的密码:
    update user set password = password("新密码") where user = 'root';
5. 关闭mysql服务端,指令:
    tasklist|findstr mysqld
    taskkill /F /PID 进程号
6. 正常启动服务端(net start mysql)

修改密码的三种方式:

方法1: 用set password命令
        首先登录MySQL,使用mysql自带的那个客户端连接上mysql.
        格式: mysql>set password for 用户名@localhost = password('新密码');
        例子: mysql>set password for root@localhost = password('123');

方法2: 用mysqladmin (因为我们将bin已经添加到环境变量了,这个mysqladmin也在bin目录下,所有可以直接使用这个mysqladmin功能,使用它来修改密码)
        关于mysqladmin的介绍: 是一个执行管理操作的客户端程序,它可以用来检查服务器的配置和当前状态,创建和删除数据库,修改用户密码等等的功能,虽然mysqladmin的很多功能通过使用mysql自带的mysql客户端可以搞定,但是有时候使用mysqladmin操作会比较简单.
        格式: mysqladmin-u用户名 -p旧密码 password 新密码
        例子: mysqladmin -uroot -p666 password 123

方法3: 用update直接编辑那个自动的mysql库中的user表
        首先登录Mysql,连接上mysql服务端.
        mysql>use mysql;    #use mysql的意思是切换到mysql这个库,这个库是所有的用户表和权限相关的表都在这个库里面,我们进入到这个库才能修改这个库里面的表.
        mysql>update user set password = password('123') where user = 'root' and host = 'localhost';    # 其中password=password('123')前面的password是变量,后面的password是mysql提供的给密码加密用的,我们最好不要明文的存密码,对吧,其中user是一个表,存着所有的mysql用户的信息。
        mysql>flush privileges;     # 刷新权限,让其生效,否则不生效,修改不成功.