首先要对MySQL的配置进行修改 我的配置如下
port =3306 basedir = D:\Servers\mysql datadir = D:\Servers\mysql\data log-error=D:\Servers\mysql\data\mysql_error.log max_connections=100 table_open_cache=256 query_cache_size=1M tmp_table_size=32M thread_cache_size=8 innodb_data_home_dir=D:\Servers\mysql\data\ innodb_flush_log_at_trx_commit =1 innodb_log_buffer_size=128M innodb_buffer_pool_size=128M innodb_log_file_size=10M innodb_thread_concurrency=16 innodb-autoextend-increment=1000 join_buffer_size = 128M sort_buffer_size = 32M read_rnd_buffer_size = 32M max_allowed_packet = 32M explicit_defaults_for_timestamp=true sql-mode=STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
配置完之后下一步需要在MySQL安装的根目录下面创建一个data子目录(备注:子目录的名称需要和你配置文件中datadir目录一致建议使用data)
在windows的命令行中通过cd命令切换到你的安装MySQL的目录的bin目录下执行下面的几行dos命令
mysqld --initialize --console
执行完上述命令之后会在最后一行看到localhost的登录MySQL数据库的随机密码通过该密码可以登录数据库。
下面要执行几行命令是在登录MySQL之后需要执行的命令来修改密码如果使用随机密码这时仍然是无法使用MySQL数据库的
SET PASSWORD = PASSWORD(‘your new password‘); ALTER USER ‘root‘@‘localhost‘ PASSWORD EXPIRE NEVER; flush privileges;
接下来就可以用修改的密码来登录和使用数据库啦。相比之前的版本配置有点麻烦啦,不过我想大概是出于安全的考虑吧,不过在首次使用上用户的体验性有点不好。
补充:初始化mysql数据库,要检查mysqld服务是否已经启动,如果没有执行mysqld
然后 mysql -u root -p 输入临时随机密码就能登录服务器