mysql5.7.24 解压版安装步骤以及遇到的问题
1、下载
https://dev.mysql.com/downloads/mysql/
2、解压到固定位置,如d:\mysql\mysql-5.7.24
3、添加my.ini文件
跟bin同级
[mysql] # 设置mysql客户端默认字符集 default-character-set=utf8 [mysqld] #设置3306端口 port = 3306 # 设置mysql的安装目录 basedir=d:\mysql\mysql-5.7.24 # 设置mysql数据库的数据的存放目录 datadir=d:\mysql\mysql-5.7.24\data # 允许最大连接数 max_connections=200 # 服务端使用的字符集默认为8比特编码的latin1字符集 character-set-server=utf8 # 创建新表时将使用的默认存储引擎 default-storage-engine=innodb max_connect_errors=100 explicit_defaults_for_timestamp=true
4、初始化
mysqld --install mysql --defaults-file=d:\mysql\mysql-5.7.24\my.ini
5、安装服务
mysqld --install mysql
6、启动
net start mysql
完成
遇到的问题
1、本地计算机上的mysql服务启动后停止。某些服务在未由其他服务或程序使用时将自动停止
或者控制台报错
mysql 服务无法启动
服务没有报告任何错误
可以重新进行初始化,重新启动,初始化之前要清空data文件夹(跟bin同级)
还可以删除服务,重新注册
mysqld -remove mysql
2、重新注册会发现可能有其他错误如:timestamp with implicit default value is deprecated
解决方法:
在my.ini 文件中的[mysqld]下添加一行explicit_defaults_for_timestamp=true。就可以了
这个语句的含义是 #开启查询缓存,这也是web缓存之一,对重复查询只需要在缓存中读取就可以,减少对数据库的访问。
3、登录按照网上说的改密码:
mysqladmin -uroot -p password 新密码
发现也会报错
mysql access denied for user root@localhost错误
跳过密码登录,然后改表user
update user set password=password("新密码") where user="root";
password列名也可能是 authentication_string
然后刷新 flush privileges;
4、跳过密码登录的方法
mysql配置文件my.ini中,在[mysqld]下添加skip-grant-tables,关闭mysql服务并重新开启;
输入命令:mysql -u root -p
回车后,要求输入密码,直接回车跳过,则直接进入mysql。
这样设置之后,可以直接双击d:\mysql5.7.10\bin下的mysql.exe启动,而不用输入命令。
5、登陆后,使用use mysql 还会报错
you must reset your password using alter user statement before executing this statement.
解决方案
step 1: set password = password('your new password');
step 2: alter user 'root'@'localhost' password expire never;
step 3: flush privileges;
完成以上三步退出再登,使用新设置的密码就行了,以上除了将your new password修改成新密码外,其他原样输入即可
下一篇: 详解Linux中的命名空间