MySQL8数据库安装配置和启动
1,下载MySQL
打开MySQL的官网www.mysql.com,发现有一个DOWNLOADS
点击它,进入到MySQL的下载页面,在页面的底部有一个MySQL Community (GPL) Downloads »的蓝色的链接
点击它,进入到社区版本,也就是免费版本的下载页面 ,找到MYSQL Community Server ,这里同时也有MYSQL WorkBench
点击MYSQL Community Server , 这才真正进入到MySQL 的下载页面,
它也会根据电脑默认选中操作系统,当然你也可以手动选择操作系统,最终出现适合我们操作系统的版本
选择一个,点击右侧的Download按钮进行下载,它会跳转到一个页面让你注册,如果你想登录或注册,就点击页面上两个大按钮,如果不想注册,就点击页面中的No thanks 的字样(如下图),点击它,就可以进行下载
最近在下载的时候,链接非常慢,我做了一个百度云盘的链接 https://pan.baidu.com/s/1H1BbBxTX9wO85YNH-hbQvQ
下载完成后,它是一个压缩文件,把它放到想要放置的位置,如E 盘,用解压软件解压到当前文件夹,E盘就会多了一个文件夹,如下图
2,配置环境变量
把MySQL的bin路径 E:\mysql-8.0.18-winx64\bin,放到环境变量中。配置完成后,打开cmd命令窗口,输入mysql -V, 如果输出版本号,表示配置成功。
3,MySQL 配置
打开刚才解压后的文件夹,就是E:盘下的mysql-8.0.18-winx64 ,新建一个my.ini文件
用记事本打开它,输入如下内容并保存。
[client]
port=3306
default-character-set=utf8
[mysqld]
# 设置为自己MYSQL的安装目录
basedir=E:\mysql-8.0.18-winx64
# 设置为MYSQL的数据目录
datadir=E:\mysql-8.0.18-winx64\data
port=3306
# 允许最大连接数
max_connections=200
# 允许连接失败的次数,这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10
# 服务端使用的字符集默认为UTF8
character_set_server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password
#联接方式
shared-memory
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
这里一定要注意 default_authentication_plugin=mysql_native_password 的配置,我估计mysql 更改了验证规则,以前配置MySQL5 的时候,我都是配置skip 跳过登录验证,但MySQL8 不行,因为配置跳过验证规则以后,MySQL workbench 一直链接不上本地数据库,使用jdbc 链接的时候,也是链接不上,只能在命令行中操作数据库(都是自己实验的,不一定对)。还要注意 shared-momery. 这也是我在本地安装的时候,没有这个配置也是报错。
打开命令行工具,执行mysqld 命令,安装mysql 服务,使用cmd 黑色窗口,或powershell 蓝色窗口,都可以。不过要注意,一定用管理员身份运行命令. 在win10下,用PowerShell 更便捷。在桌面状态栏中,右键单击最左边的开始按钮出现下图,点击Windows PowerShell(管理员), 就可以了。
打开powershell 以后,cd e: -> cd mysql-8.0.18-winx64 -> cd bin, 进入bin 目录。输入mysqld --initialize 初始化mysql,生成data文件夹。如果没有报错,就表示初始化完成。这里如果出错了,很大的原因是my.ini 文件中basedir 和datadir 的配置路径不对。 再输入 mysqld --install ,安装MySQL. 如果出现Service successfully installed 说明注册成功了 ,现在终于可以启动服务器了。最好先关闭命令窗口再重新打开(仍然是管理员身份), net start mysql 命令启动服务器。关闭服务器用net stop mysql
服务启动以后,就要登录mysql,涉及到MySQL 命令的常用参数: -u: u代表username(用户名); -p: p 代表password(登录密码); -h: host-name(主机名); -P: port (端口)。登录MySQL,需要提供用户名,密码,主机名,端口号信息。语法 mysql [-u username] [-h host] [-p[password]]; 安装MySQL后,我们会得到初始的用户名root, 和一个暂时的密码。密码在哪里呢?打开mysql安装目录里面的data文件夹, 里面有个.err文件,用记事本打开,可以看到里面有行
*G)IBtv4tcP9 就是初始密码。本地启动服务器,主机名是localhost, 端口号是3306. 当然,如果访问的是本地服务和使用默认端口的话,可以不写-h和-P。 现在登录一下, net start mysql 启动mysql服务器. 命令行中输入mysql -u root -p 后,提示我们输入密码,输入初始密码即可。
登陆MySQL成功后,会有msql>提示符,这时要做的第一件事就是更改mysql 的登陆密码。输入:ALTER user 'root'@'localhost' IDENTIFIED BY '你的密码';,ALTER user 'root'@'localhost' IDENTIFIED BY '123'; 登录密码就改成123了。
现在我们就可以操作数据库了。当然操作完成后还是要退出的,mysql退出有如下三种方法。注意,每一行语句要以; 分号结尾。如果按enter,你会发现它会另起一行,有一个箭头,表法该语句并没有结束。 exit; quit; \q;
4,MySQL5 的删除
以前安装过mysql 5的话,如果要安装MySQL8, 就要先清除掉以前的mysql 服务。这个地方也是我自己实验的,不一定对。删除mysql 5 的时候,我直接把整个mysql 文件夹删除了,它并没有删除mysql服务, 可以使用sc delete mysql, 注意要使用管理员身份执行该命令,mysql 是服务名称。当时安装mysql 5 的时候,我直接mysqld install,默认服务名就是mysql. 所以执行完sc delete mysql 以后,以前的mysql 服务器删除了。如果不记得服务器名也没有关系,在右键单击‘此电脑’,点管理
然后弹出计算机管理的窗口,点击‘服务和应用’ 下面的服务,右侧出现计算机的所有服务。 随便选中一个,再按 my,就会出现mysql, 这是显示以my开头命名的服务,如果一点都不记得,只能一个一个找。
可以看到服务名称,就是Mysql, sc delete mysql 没有问题。如果想彻底删除mysql 服务,还需要操作注册表。 win + r, 输入regedit , 进入注册表编辑器, 可能有两个路径
路径1:\HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\eventlog\Application\MySQL
路径2:\HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\services\eventlog\Application\MySQL
我的是在路径1下,删除整个MySQL文件夹即可,有可能还需要重启电脑。
删除完之后,我重新安装mysql 8. net start mysql 的时候,一直不成功,这时提示 MySQL 服务正在启动 . MySQL 服务无法启动。 服务没有报告任何错误。在这个地方查询了很久。终于找到了解决办法。如果服务启动不成功,可以打印一下日志看一看,输入mysqld --console, 看到一个error, TCP/IP, --shared-memory, or --named-pipe should be configured, 百度一下这个错误,原来是要在my.ini 文件中加入shared-memory, 这也是我加上shared-memory 的原因
#联接方式
shared-memory
5,MySQL 系统错误(以前的错误记录)
但某一天,启动mysql时,突然报错发生系统错误,系统找不到指定的文件。当时有点懵,安装mysql 之后,一直就没有修改过,怎么会报错呢?上网搜索了一下,重新安装一下mysql服务就可以了,现在也不知道什么原因。
以管理员身份打开CMD命令窗口,切换到mysql 的bin 目录下, 注意,以管理员身份运行时,cd 命令后面要加 /d 才能切换目录。
执行mysqld --remove 命令,把以前的服务删除。
执行mysqld --install 命令,重新安装mysql 服务。
现在执行net start mysql 启动服务器。
服务器启动成功。