免安装版MySQL的配置
一、MySQL下载地址
MySQL最新版下载地址:https://dev.mysql.com/downloads/mysql/
MySQL旧版本下载地址:https://downloads.mysql.com/archives/community/
在这里选择最新版的进行下载,点开链接,然后进行下载,如下图所示
这里会提示要登录,直接点击 No thanks,just start my download. 进行下载就好了。
对下载来的文件进行解压,会发现是没有my.ini文件的,这时候就需要自己创建一个my.ini文件。
二、初始化my.ini文件
创建一个my.ini文件,内容如下
[mysqld] # 设置3306端口 port=3306 # 设置mysql的安装目录(自定义) basedir=F:\data # 设置mysql数据库的数据的存放目录(自定义) datadir=F:\data # 允许最大连接数 max_connections=200 # 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统 max_connect_errors=10 # 服务端使用的字符集默认为UTF8 character-set-server=UTF8MB4 # 创建新表时将使用的默认存储引擎 default-storage-engine=INNODB # 默认使用“mysql_native_password”插件认证(设置密码时需要) default_authentication_plugin=mysql_native_password
# 开启二进制日志(若是没有则默认存放目录下)
# log_bin=E:\db_data
# 允许到处文件(null:不支持、/tmp:导出到指定地址、"":不做限制)
# secure_file_priv=F:\tmp [mysql] # 设置mysql客户端默认字符集 default-character-set=UTF8MB4 [client] # 设置mysql客户端连接服务端时默认使用的端口 port=3306 default-character-set=UTF8MB4
根据上面的模板,让后创建一个my.ini文件,并对相关地址进行更改( 因为已安装过其他版本的mysql,所以这里使用3305端口(3306端口已被占用)),如下
然后打开bin目录,在地址栏输入cmd打开dos系统,通过
mysqld --initialize --console
初始化my.ini文件 文件,如下图所示
这个密码在登录mysql时需要用到,只有先登录了,才能对密码进行更改~
三、注册服务
通过下面的语句
mysqld -install 服务名
来注册进服务里面(若是服务名不填,默认为MySQL)
然后就可以在服务里面看到已注册的MySQL8.0.26了,如下图所示
然后输入My,就可以看到M开头服务了,如下所示
四、更改密码
可以通过下面的语句(或者直接使用服务启动)
net start 服务名
启动mysql服务
启动服务后,就需要进行登录了。通过
mysql -u root -p
输入密码后进行登录(密码,就是初始化my.ini文件root@localhost后面的那一串)
登录成功后,如下图所示
通过下面的语句更改初始密码
alter user root@localhost identified with mysql_native_password by '密码';
这里将密码更改成123456,如下图所示
更改成功后,使用新密码重新登录,如下图所示
至此,mysql免安装版的基础配置就完成啦
五、重新初始化my.ini
先关闭服务,然后将my.ini初始化生成的文件删除掉(如:db_data)
停止mysql服务后,然后通过下面语句删除服务
mysqld -remove 服务名
删除掉之前初始化my.ini文件生成的文件夹,如下图
然后重新初始化my.ini文件 ,后面的步骤就跟上述的一样啦
六、错误处理
1.当出现类似VCRUNTIME140.dll缺失时,请点击下方链接,安装VC运行库即可
最新:Latest supported Visual C++ Redistributable downloads | Microsoft Docs
2.当出现下面的情况的时候,请用管理员身份运行CMD即可
3.当无法使用ip连接时
# 切换数据库 use mysql; # 第一种,只更新root账号的 # ‘%':表示允许访问到mysql的ip地址,也可以配置为具体到ip名称,%表示所有ip均可以访问 update user set host='%' where user='root'; # 第二种,自定义一个用户名、ip、密码来访问,也就是创建一个账号 GRANT ALL PRIVILEGES ON *.* TO '用户名'@'ip' IDENTIFIED BY '密码' WITH GRANT OPTION; # 刷新权限 flush privileges;
本文来自博客园,作者:爱吃糖的橘猫,转载请注明原文链接:https://www.cnblogs.com/sglblog/p/15240414.html