MySql下载与安装-zip版本
前言
以前安装mysql一般都是下载的安装版,卸载不太容易卸载干净,如果卸载不干净,第二次再装就会失败,所以比较麻烦,幸运的是数据库装上就是装上了,不会经常性的卸载、安装,这个问题倒不是很突出。奈何本人有强迫症,有问题就一定要解决。所以今天下载个zip版本的安装一下,并且把安装的过程记录下来。
1. 下载
官网下载的64位windows zip版本:MySQL :: MySQL Community Downloadshttps://dev.mysql.com/downloads/ mysql版本有好几种,有兴趣可自行百度,这里就不多说了,如果人个开发用,下载如图版本即可。
2. 安装
2.1 初始化文件配置
解压好下载的zip文件,在根目录下找my.ini文件,如果没有找到,就自己新建一个
my.ini文件,然后配置一下数据库的信息,需要特别注意的是保存的时候保存成ANSI编码格式,如下:
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
#设置3306端口
port = 3306
# 设置mysql的安装目录
# 设置mysql数据库的数据的存放目录
basedir=D:\soft\mysql-5.7.33
datadir=D:\soft\mysql-5.7.33\data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
#skip-grant-tables
2.2 环境变量配置
环境变量跟jdk配置比较类似,新建一个MYSQL变量名,变量值为mysql的安装根目录,我的是D:\mysql;然后在系统变量path里追加;%MYSQL%\bin。这样配置目的是为了在安装输入命令的时候不用每次都要进入到bin目录下,直接以管理员身份打开控制台,直接输入就可以了。
2.3 命令行安装
以管理员身份打开cmd命令提示符:
- mysqld —initialize,进行初始化,初始化完成没有提示错误就说明初始化成功了;
- mysqld install 开始安装,提示Service successfully installed. 就说明安装成功了;
如果哪个地方一不小心配置错了,导致安装失败,可以管理员身份打开控制台,输入 mysqld —remove mysql ,移除mysql服务,然后再手工删根目录下的data文件,再严格检查以上各个步骤,再重新装。
3. 启动与停止
以管理员身份打开控制台,输入net start mysql 启动mysql服务,输入net stop mysql,停止mysql服务。默认管理员帐号是root,密码为空,随后自己可以再设置,输入 mysqladmin -u root登陆mysql。
4. 密码重置
初次安装完成,默认密码为空,需要重置密码。重置密码步骤:
1.在我们新建的my.ini文件里的[mysqld]下面加一句skip-grant-tables,然后还是保存在ASNI编码格式,输入命令net stop mysql 停止数据库服务,然后再输入net start mysql ,重新启动一下。
#停止mysql服务
net stop mysql
#启动mysql服务
net start mysql
2.以管理员身份在控制台输入下面命令,然后按Enter,要输入密码,不用输,直接按Enter,会提示你登陆成功;
mysql -u root -p
3.登陆成功后,输入use mysql;进入数据库,输入下面的命令,重新设置新的密码。
#选择数据库:
use mysql;
#更新root的密码:
update user set authentication_string=password('新密码') where user='root' and Host='localhost';
#刷新权限:
flush privileges;
4.输入exit退出登陆
5.输入net stop mysql停止数据库服务,把我们刚才在my.ini 里添加的skip-grant-tables前加#注掉或者删除,再保存一下,然后再输入net start mysql重新启动数据库服务.
6.使用命令mysql -u root -p,输入设置的密码验证密码设置是否成功。
注:这里有个坑,网上有很多人不加验证的就说可以用update mysql.user set password=password(‘root’) where user=’root’;来重置密码,其实这样是错误的,因为新的mysql数据库下已经没有password这个字段了,password字段改成了authentication_string。如果你还用老的字段去执行命令肯定会报错,ERROR 1054 (42S22): Unknown column ‘password’ in ‘field list’,另外一个特别要注意的地方,密码重置之后,一定要把在my.ini中添加的那句skip-grant-tables删除,然后保存,最后停止服务后再重启服务。
注意:如果是重新安装,且忘了原来的密码,可以这么做:
1.以管理员的权限打开cmd命令窗口,在mysql的bin目录下执行跳过mysql密码验证的命令,具体如下:
mysqld --console --skip-grant-tables --shared-memory
2.以管理员的权限另外再打一个cmd命令窗口,执行登陆指令,需要输入密码时,直接回车键就可以跳过mysql命令验证,以root身份登陆成功了,接下来按照上面的步骤执行修改密码的命令就可以重置密码了。
mysql -u root -p
5. 远程访问权限
在本地mysql安装完成后,如果你的同事在另外一台电脑上想要连接你电脑上安装的mysql服务,会发现连接失败,这是因为安装好的mysql默认是没有授予远程访问权限,需要手动授予远程访问的权限。授予远程访问权限操作如下:
1.登陆msyql后,查询 查询用户表:select User,authentication_string,Host from user,执行完后,可以看到所有默认用户都只有lochost访问权限
2.授予root用户在所有主机上的最大权限
GRANT ALL PRIVILEGES ON . TO 'root'@'%' IDENTIFIED BY '123456' ;
这里的123456为你给新增权限用户设置的密码,%代表所有主机,也可以具体到你的主机ip地址,如果是正式环境,可千万不可授予这么大的权限,要根据实际情况决定授予什么样的权限,这里只是作为演示。
3.刷新操作:flush privileges;
这一步一定要做,不然无法成功! 这句表示从mysql数据库的grant表中重新加载权限数据
4.再次查询用户就可以看到root用户拥有在所有主机上都可以访问mysql的权限了,远程的用户可以连接mysql服务了。
还没有评论,来说两句吧...