配置环境变量
- 将C:\mysql\mysql8.0.12\mysql-8.0.11-winx64\bin添加到环境变量中
注意是自己解压mysql文件的目录下的bin文件目录下
创建my.ini文件
- 在mysql中与bin目录同级目录下创建my.ini文件
[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=C:/mysql/mysql-8.0.12-winx64/bin
# 设置mysql数据库的数据的存放目录
datadir=C:/mysql/mysql-8.0.12-winx64/bin/data
# 允许最大连接数
max_connections=200
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10
# 服务端使用的字符集默认为utf8mb4
character-set-server=utf8mb4
#使用–skip-external-locking MySQL选项以避免外部锁定。该选项默认开启
external-locking = FALSE
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password
[mysqld_safe]
log-error=C:/mysql/mysql-8.0.12-winx64/bin/mysql_oldboy.err
pid-file=C:/mysql/mysql-8.0.12-winx64/bin/mysqld.pid
# 定义mysql应该支持的sql语法,数据校验
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8mb4
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8mb4
初始化数据库
- 打开命令行窗口输入(以管理员身份运行!!!)
cd C:/mysql/mysql-8.0.12-winx64/bin
mysqld --initialize --user=mysql --console
-
注意此时会出现随机的初始密码,务必复制保存,后面要用
-
提示成功后输入
mysqld --install
修改root账户初始密码
- 运行cmd
net start mysql
- 如果提示:
启动成功...
无法启动...
修改服务中的MySQL为自动启动(并重启服务),具体操作见文档末尾
- 启动后输入(修改服务为自动启动后,以后进入命令行中直接使用以下命令进入)
mysql -u root -p
- 输入密码
粘贴之前保存的随机密码
- 修改密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'newpassword';
注意:newpassword为自己设的新密码,分号不能丢
- 提示成功后输入(刷新权限)
FLUSH PRIVILEGES;
错误一:django.db.utils.OperationalError: (2059, "Authentication plugin 'caching_sha2_password' cannot be loaded: \xd5\xd2\xb2\xbb\xb5\xbd\xd6\xb8\xb6\xa8\xb5\xc4\xc4\xa3\xbf\xe9\xa1\xa3\r\n")
原因:
经过一番查询,调试,最终发现了问题所在。主要就是mysql8.0的问题。
目前最新的mysql8.0对用户密码的加密方式为caching_sha2_password, django暂时还不支持这种新增的加密方式。只需要将用户加密方式改为老的加密方式即可。
解决方案:
以下命令是在cmd窗口下完成的。
1.登录mysql,连接用户为root。
mysql -u root -p
2.执行命令查看加密方式
use mysql;
select user,plugin from user where user='root';
3.执行命令修改加密方式
alter user 'root'@'localhost' identified with mysql_native_password by 'yourpassword'
4.属性权限使配置生效
flush privileges
重设mysql8.0的加密方式后,再次启动django服务器就没有任何问题了。
错误二:Mysql修改服务中可执行文件路径
Mysql服务中的可执行文件路径和Mysql安装目录不一致,导致mysql服务启动失败,此时需要修改可执行路径。
1,CMD------regedit,打开注册表编辑器
2,根据路径找到mysql注册表,HKEY_LOCAL_MACHINE----SYSTEM----CurrentControlSet----Services----mysql,修改ImagePath值为正确的路径。
3,运行mysql安装目录下的mysql\mysql-5.6.26-winx64\bin\mysqld.exe,接着再去启动mysql服务即可。
网友评论