首先zip安装需要64位的系统,自己看电脑是不是32位的。
- 然后你的路径不要有中文!!!
- 名字也不要不要带空格!!!计算机会把空格前的名字默认为一个目录,可以用引号引起来!
- 打开cmd需要管理员身份!!!
其次查看自己有没有MySQL的服务
错误1
make: *** No targets specified and no makefile found. Stop.
1、wget http://ftp.gnu.org/pub/gnu/ncurses/ncurses-5.6.tar.gz
2.、tar zxvf ncurses-5.6.tar.gz
3、 ./configure -prefix=/usr/local -with-shared-without-debug
4、make
5、make install
报错2:
Installing MySQL system tables..../bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
解决办法:
#yum install libaio* -y
报错3
FATAL ERROR: please install the following Perl modules before executing ./scripts/mysql_install_db:
Data::Dumper
解决办法:
#yum install -y perl-Data-Dumper
需要你把服务删掉,可能你的服务名是mysql80,mysql57,那你就需要更改服务名
打开cmd,先停止服务:net stop mysql
然后删除服务:sc delete mysql
msvcp140.dll或vcruntime140_1.dll丢失
第一个坑msvcp140.dll丢失
解决方法:
原因:没有安装VC++2015(Microsoft Visual C++ 2015 Redistributable)下载vc_redist.x64运行程序,安装即可
如果还是不行的话
解决方法: 这是缺少了动态链接库(.ddl文件), 跟mysql无关, 下载一份即可, https://cn.dll-files.com/vcruntime140_1.dll.html, 拖到下面, 我下载的是64位版本的压缩包
解压后将vcruntime140_1.dll复制到C:\Windows\System32即可
注意:
32位版本的vcruntime140_1.dll需要复制到C:\Windows\SysWOW64下
又或者vcruntime140_1.dll丢失
解决方法:下载运行库2019
初始化问题
第二个坑
好不容易解决第一个,执行mysqld --initialize --console 时提示:mysqld不是内部或外部命令,也不是可运行的程序或批处理文件
这是因为mysqld.exe在mysql的bin目录下,在cmd中运行需要进入到bin目录下才可以。所以必须将bin目录加入到windows的环境变量中。不懂怎么添加的百度一下。
刚解决环境问题,执行第一段mysqld --initialize-insecure,又踩坑
我用utf-8的编码完全没有问题,你可以试试把my.ini配置文件编码修改成ANSI。然后替换,再试试。路径也尽量双斜杠,避免计算机识别不出
(输入命令“mysqld --initialize”,运行需要一定时间,因为它在帮你生成data文件夹(路径与bin文件夹同级)及下面的文件。运行完如果没有提示任何,就证明初始化成功了。)
如果还有以下这个问题的话
D:\MySQL\Mysql\mysql-8.0.20-winx64\bin>mysqld --initialize --console
mysqld: Can't create directory 'D:\Program Files\MySQL\Data\' (OS errno 2 - No such file or directory)
2020-07-04T11:50:39.057233Z 0 【System】 【MY-013169】 【Server】 D:\MySQL\Mysql\mysql-8.0.20-winx64\bin\mysqld.exe (mysqld 8.0.20) initializing of server in progress as process 14340
2020-07-04T11:50:39.057307Z 0 【ERROR】 【MY-010338】 【Server】 Can't find error-message file 'D:\Program Files\MySQL\share\errmsg.sys'. Check error-message file location and 'lc-messages-dir' configuration directive.
2020-07-04T11:50:39.059675Z 0 【ERROR】 【MY-013236】 【Server】 The designated data directory D:\Program Files\MySQL\Data\ is unusable. You can remove all files that the server added to it.
2020-07-04T11:50:39.080952Z 0 【ERROR】 【MY-010119】 【Server】 Aborting
2020-07-04T11:50:39.083252Z 0 【System】 【MY-010910】 【Server】 D:\MySQL\Mysql\mysql-8.0.20-winx64\bin\mysqld.exe: Shutdown complete (mysqld 8.0.20) MySQL Community Server - GPL.
删除Data重新初始化一下
要不就再去检查一下你的my.ini的配置路径是不是对的。
还有些输入初始化命令之后没有反应的
直接在cmd上述路径下输入:
mysqld –-initialize
回车,此时你的MySQL根目录下会生成一个data文件夹
如果没有生成data文件夹,则输入下面代码:
mysqld --initialize-insecure --user=mysql
mysqld install出现The service already exits!
第三个坑,安装失败的问题:mysqld install
执行mysqld –install,出现The service already exits!这一错误
原因:之前安装过mysql,但由于某种原因未卸载干净,重新安装时,会导致此错误的发生。
解决方法:
方法1. 用sc delete mysql命令,删除之前的版本,再执行mysqld –install命令。
方法2. 用mysqld –remove 命令,卸载mysql服务,再执行mysqld –install命令。
千辛万苦启动服务,又踩了一个坑,美滋滋!:
输入NET HELPMSG 3534,服务也没提示任何报错!
删除data文件,重新执行之前的所有指令。不成功,便成仁,重装。
Access denied for user 'root'@'localhost' (using password: YES) 密码问题
第四个坑,打开以管理员方式运行命令窗口cmd,输入命令:net stop mysql,停止MySQL服务。
输入以下命令无密码启动mysql,百度到的很多版本都是修改my.ini文件,但这个在版本8里面没有作用;
mysqld --console --skip-grant-tables --shared-memory
再用管理员模式打开一个新的cmd,无密码登录MySQL,输入登录命令:mysql -u root -p
密码置为空,命令如下:
update user set authentication_string='' where user='root';
再执行 flush privileges;
设置新的mysql用户密码,命令:两个命令随便选一个
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码'; ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
退出mysql,命令:quit。并且用新密码重新登录测试,登录命令:mysql -u root -p
服务没有响应控制功能。
到了最后要启动的时候又发现服务无法启动,开不开心
C:\web\mysql-8.0.17-winx64\bin>net start mysql
服务没有响应控制功能。
请键入 NET HELPMSG 2186 以获得更多的帮助。
###############################
直接输入
mysqld --console服务端就开好了:
C:\web\mysql-8.0.17-winx64\bin>mysqld --console
2019-08-22T11:13:12.118311Z 0 [System] [MY-010116] [Server] C:\web\mysql-8.0.17-
winx64\bin\mysqld.exe (mysqld 8.0.17) starting as process 4200
2019-08-22T11:13:12.125312Z 0 [Warning] [MY-013242] [Server] --character-set-ser
ver: 'utf8' is currently an alias for the character set UTF8MB3, but will be an
alias for UTF8MB4 in a future release. Please consider using UTF8MB4 in order to
be unambiguous.
2019-08-22T11:13:16.860582Z 0 [Warning] [MY-010068] [Server] CA certificate ca.p
em is self signed.
2019-08-22T11:13:17.482618Z 0 [System] [MY-010931] [Server] C:\web\mysql-8.0.17-
winx64\bin\mysqld.exe: ready for connections. Version: '8.0.17' socket: '' por
t: 3306 MySQL Community Server - GPL.
2019-08-22T11:13:17.571623Z 0 [System] [MY-011323] [Server] X Plugin ready for c
onnections. Bind-address: '::' port: 33060
接着客户端就可以连接了
Mysql无法启动,报错3534
首先是检查my.ini文件确认basedir和datadir路径是否有误,如果不是在安装的时候出现这个报错那绝大部分可能应该是my.ini里面哪里改的有问题了然后启动报错
不过我这次是在安装的时候出的问题,检查了半天觉得配置文件没有问题,查到运行“mysqld - -console ”命令可以显示出启动错误信息。
先执行命令“mysqld –remove”将其删除并重新运行” mysqld –install “命令进行安装,再执行“mysqld --console” 命令查看报错信息
无法打开mysql库里的user表,那应该是mysqld --initialize-insecure --user=mysql的时候错了。
到data目录里一看,果然,几个系统库都没有在初始化的时候自动生成,然后到别的数据直接拷贝了几个系统库过去
再启动就成功了,不过这样拷贝过去的会连同被拷贝的数据库的用户密码一同拷贝过去,自己修改一下就好。
2058/2059报错
翻译过来就是:插件缓存——sha2_密码无法进行加载:乱码,这是由于 MySQL 8.0.19 的密码加密方法变了,SQLyog未能正确解析使用。
2059报错也是一样的,只是管理工具不同罢了。
解决此问题有两种方法,一种是更新驱动来解决此问题,一种是将mysql用户登录的加密规则修改为mysql_native_password;
根据网上大部分建议采取了第二种方式:
1.首先用管理员权限打开cmd,输入mysql -u root -p进入输入密码后进入mysql数据库;分号也要,密码是你设置的密码,例如123456,123456设置成你的密码。
mysql -u root -p
#修改加密规则:
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456' PASSWORD EXPIRE NEVER;
#修改密码:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
备注:红色标记的可以随意修改,只要你记得住就行。
#刷新数据:
FLUSH PRIVILEGES;
MySQL错误1042:无法连接到任何指定的MySQL主机。
把服务改成本地系统账户,就不报错了。
启动MySQL报错:ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061)
原因:长时间没有登录
重启一遍mysql服务就行
卸载mysql
sc delete mysql