近期更换服务器,在此再记录一遍mysql 安装教程
1.下载
https://cdn.mysql.com//Downloads/MySQLInstaller/mysql-installer-community-5.7.26.0.msi
可以用迅雷下载,速度会快一点,我的一篇博客有介绍:Oracle旗下软件官网下载速度过慢解决办法
2.安装
双击运行程序
i accept -> next
选择 custom 自定义
根据自己系统位数选择
点击刚才选择的版本,进行自定义安装位置->next
点击Execute,安装必要控件
I agree -> install
会发现在前面有一个勾->next
选择服务器专用
设置端口号,默认3306,可以根据自己需求修改
选择强加密或者以前加密方式
(这里得看自己使用的是什么版本的Navicat,如果以后使用的是低版本的,则选择下面那个,使用以前的加密方式;如果使用最新版本的Navicat,则可以选择强加密方式)
设置密码
设置服务器名称,一般默认即可
Execute
可能需要等待一段时间
都检测通过后 点击Finish 然后继续Next 最后Finish即安装完成
如果中间发生错误,可能你的数据库版本高 与本系统不适配 可以降低数据库版本 或者升级系统版本
配置:
打开my.ini文件,建议使用Notepad++,默认位置:
C:ProgramDataMySQLMySQL Server 8.0(这里ProgramData是隐藏文件夹,得先打开查看隐藏文件夹)
修改innodb_flush_log_at_trx_commit为0:
innodb_flush_log_at_trx_commit=0
修改innodb_buffer_pool_size为1G:(我这里服务器是2G内存)
innodb_buffer_pool_size=1G
数值一般修改为实际内存的一半即可
修改数据库编码为UTF8
在[client]
下添加default-character-set=utf8
[client] default-character-set=utf8
在[mysqld]
下添加character-set-server=utf8
[mysqld] character-set-server=utf8
重启My SQL服务
远程连接时发现报host * is not allowed to connect to this mysql server错误的话
命令行切换到目录mysql 安装文件夹bin下
运行mysql -uroot -p,输入密码
mysql -uroot -p
执行
use mysql;
执行
update user set host = '%' where user = 'root';
执行(刷新权限)
FLUSH PRIVILEGES;
可以查询一下看一下结果:
select host from user where user = 'root';
查看看是否修改成功
如果使用的是低版本的Navicat,可能会报
Authentication plugin 'caching_sha2_password' cannot be loaded错误
出现这个原因是(也就是上面安装的时候选择的加密方式问题)
mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password,
解决问题方法有两种,一种是升级navicat驱动,一种是把mysql用户登录密码加密规则还原成mysql_native_password.
这里介绍第二种方法:
命令行切换到目录mysql 安装文件夹bin下
运行mysql -uroot -p,输入密码
mysql -uroot -p
1.修改加密规则
如果没有执行过我上面说的远程连接修改的
update user set host = '%' where user = 'root';
的执行下面语句
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
如果已经做了修改的
执行下面语句
ALTER USER 'root'@'%' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
password 替换为自己的密码即可
2.修改密码
同上,未执行过修改的
执行下面语句
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
执行过修改的
执行下面语句
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'password';
password 替换为自己的密码即可
3.刷新权限
FLUSH PRIVILEGES;
4.重置一下密码
同上,未执行过修改的
执行下面语句
alter user 'root'@'localhost' identified by '你的密码';
执行过修改的
执行下面语句
alter user 'root'@'%' identified by '你的密码';
结束