阿亮 2020-04-25
前天开发商城项目的时候,没注意d盘满了,后来5.5的mysql就突然无法启动,而且提示2003错误,在cmd中启动也是没有任何报错信息。
然后就找5.5原因,在windows的,控制面板,管理工具,事件查看器,应用程序中的日志里只找到,aborting,大概是这个的错误,这个错误查了不解决办法。
然后,卸载,删除注册表中mysql,c盘中mysql,安装路径中mysql文件夹。重装5.5,可是换端口和服务名称也是安装的时候未响应,所以只能换版本。
最后,准备装5.7.直接解压缩的版本。需要修改my-default.ini为my.ini。设置相应的属性。注意路径的斜杠为双斜杠。相应的错误可以在应用程序的日志中找到。
my.ini的基本配置
[client] port=3306 [mysql] no-beep # default-character-set= [mysqld] port=3306 # mysql根目录 basedir=安装路径\\mysql-5.7.9-winx64 # 放所有数据库的data目录 datadir=安装路径\mysql-5.7.9-winx64\\data # character-set-server= # 默认存储引擎innoDB default-storage-engine=INNODB # Set the SQL mode to strict sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" #日志输出为文件 log-output=FILE # 是否开启sql执行结果记录,必须要设置general_log_file参数,日志的路径地址 # 即日志跟踪,1为开启,0为关闭 general-log=0 general_log_file="execute_sql_result.log" # 配置慢查询,5.7版本默认为1 slow-query-log=1 slow_query_log_file="user-slow.log" long_query_time=10 #默认不开启二进制日志 #log-bin=mysql-log #错误信息文件设置,会将错误信息放在data/mysql.err文件下 log-error=mysql.err # Server Id.数据库服务器id,这个id用来在主从服务器中标记唯一mysql服务器 server-id=1 #lower_case_table_names: 此参数不可以动态修改,必须重启数据库 #lower_case_table_names = 1 表名存储在磁盘是小写的,但是比较的时候是不区分大小写 #lower_case_table_names=0 表名存储为给定的大小和比较是区分大小写的 #lower_case_table_names=2, 表名存储为给定的大小写但是比较的时候是小写的 lower_case_table_names=1 #限制数据的导入导出都只能在Uploads文件中操作,这个是在sql语句上的限制。 #secure-file-priv="D:\AppServ\mysql-5.7.23/Uploads" #值为null ,也就是注释掉这个参数或者secure-file-priv=null。表示限制mysqld 不允许导入|导出 #值为/tmp/ ,即secure-file-priv="/tmp/" 表示限制mysqld 的导入|导出只能发生在/tmp/目录下 #没有具体值时,即secure-file-priv= 表示不对mysqld 的导入|导出做限制 # 最大连接数 max_connections=151 # 打开表的最大缓存数 table_open_cache=2000 # tmp_table_size 控制内存临时表的最大值,超过限值后就往硬盘写,写的位置由变量 tmpdir 决定 tmp_table_size=16M # 每建立一个连接,都需要一个线程来与之匹配,此参数用来缓存空闲的线程,以至不被销毁, # 如果线程缓存中有空闲线程,这时候如果建立新连接,MYSQL就会很快的响应连接请求。 # 最大缓存线程数量 thread_cache_size=10 explicit_defaults_for_timestamp=true tmpdir=\\mysql-5.7.9-winx64\\temp
2.配置环境路径到bin;
3..需要生成data文件夹
cmd总在bin路径下,执行mysqld --initialize。
4.mysqld -install,安装mysql服务到服务,可以到服务中查看。重装需要删除服务的时候mysqld --remove 服务名
5.net start mysql启动mysql
6.停止MySQL服务,输入命令行net stop mysql
7.初始密码在mysql目录/data下面,找到一个.err文件,打开,发现了密码password。
mysql mysql -uroot -p回车,输入初始密码。执行 set password for = password(‘123456‘)后设置新密码。5.7的密码需要设置比较复杂
8.要查看日志找出问题:mysqld --console 看到报错信息 。
问题遗留:为啥存储满了之后,直接服务无法启动。