一、安装mysql数据库有两种方式。
(1)直接安装,在官网上下载MSI格式的安装包,然后直接无脑安装即可,这种方式,我好几个同学都装上了,但是我没有装上。有些尴尬。我遇到的问题是在程序装到start service这一步时,停止了。提示无法继续。如图所示。
并且会显示如右错误
网上的解决办法有两种:
(1)重新安装,删除注册表,删除应用程序,删除所有有关mysql的文件,在文件夹得索引目录下搜索即可,然后全选删除。这种方法并不能解决我的问题。
(2)在显示停留在start servce时,应当打开电脑服务,在控制面板中,找到服务,打开,然后找到mysql 。右键进入属性,然后勾选这个本地账户登录,重新启动下,如果能重新启动,那么恭喜你,问题解决了。如果不能,那么恭喜你,这种方法也不能解决你的问题。我是两种方法都没能解决我的问题。只能用ZIP安装
(2)使用ZIP安装的方法来进行安装,这种安装方式的缺点在于麻烦,需要自己手动配置。首先要确认自己删除完所有的注册表和mysql文件了(即保证自己电脑中没有之前装过的mysql痕迹)。去官网下载mysql zip压缩包,然后建议解压在C:\Program Files\MySQL此目录下(如果你自己懂得配置的话,可以解压在任何位置。)
因为我的系统版本是64,因此这里下载x64版本。下载完之后解压至D:\Dev\Mysql(即为mysql的自定义解压目录。)
我的习惯是下载完之后首先注册系统服务。CMD打开命令提示符,进入到D:\Dev\Mysql\bin 下,把MySql安装为服务:
mysqld.exe -install "servicename" ( 安装完成后先不要启动服务,因为会报错 )
添加环境变量
操作如下:
①右键单击我的电脑->属性->高级系统设置(高级)->环境变量
点击系统变量下的新建按钮
输入变量名:MYSQL_HOME
输入变量值:D:\Dev\Mysql
②选择系统变量中的Path ,点击编辑按钮
在变量值中添加变量值:%MYSQL_HOME%\bin (需要注意的是要在原有变量值后面用 ; 隔开,不能删除原来的变量值)
配置mysql.ini文件
把D:\Dev\Mysql根目录下的my-default.ini文件复制一份重命名为my.ini,内容用以下配置替换
[mysql] # 设置mysql客户端默认字符集 default-character-set=utf8 [mysqld] #设置3306端口 port = 3306 # 设置mysql的安装目录 basedir=D:\dev\mysql # 设置mysql数据库的数据的存放目录 datadir=D:\dev\mysql\data # 允许最大连接数 max_connections=200 # 服务端使用的字符集默认为8比特编码的latin1字符集 character-set-server=utf8 # 创建新表时将使用的默认存储引擎 default-storage-engine=INNODB
初始化Mysql
这也是跟之前版本最大的区别:从5.7.7开始,windows下的安装包不包含data目录,在启动服务之前需要先初始化数据:
以管理员身份打开cmd,输入mysqld --initialize-insecure --user=mysql
执行完这条命令后,MySQL会在根目录自建一个data文件夹,并且建好默认数据库,登录的用户名为root,密码为空
再输入 net start mysql 启动服务,OK启动成功
登陆Mysql数据库
输入mysql -u root -p ,默认是没有密码的。直接回车进入,root是用户名
此时使用show databases; 已经可以看到初始化生成的默认数据库了
修改root账户密码
连接进入mysql数据库后,用以下命令修改密码
set password=password('123456');
flush privileges;
退出再次登录,使用新密码就行了:
mysql -u root -p 123456
注:mysql5.6以后(好像是5.6以后,具体记不清楚了),在mysql.user表中不再出现password字段,所以使用update user set password=password("xxx")不再可行,只能使用alter user 'user'@'localhost' identified by '123456'这种方式修改密码了
以上是我正确安装的步骤,有一点希望大家注意,就是在DOS窗口输入你修改后的密码的时候 注意不要有空格 不然后报错。比如 密码和账户都是root 你应该这样输 mysql -uroot -proot 注意 -p后面没有空格,否则系统会认为空格也是密码的一部分。如果密码忘记了 ,可以去百度下解决办法。这个网上有很多人讲。