Windows Server安装配置MySQL
引言
因为各种各样的原因,好久没来园子发表随笔了。像工作忙没时间啊,文章内容缺乏亮点啊,没有技术新颖性啊之类。好吧,我就承认了,一个字,懒,足以概括以上种种理由^_^。
居住在英雄的城市,经历了疫情的洗礼,还是出来冒个泡,刷一下存在感,走起……
图片来源于网络
起因
之前最爱使用的数据库,还是SQLite这种轻量级,便携且可跨平台的文件型数据库。其次,是不硬公司的MS SQL Express,配合数据库管理工具,维护管理方便得不要不要的。
虽然MySQL也是IT业大受欢迎的数据库,因没有业务驱动需求,一直没有使用的动力。虽然以前也安装使用过(很久以前,部署过Joomla系统),过程早已尘封到久远的记忆中模糊不清了。
最近因项目应用需使用到MySQL,特将安装配置要点进行一下整理,以作备忘。
版本选择
MySQL原本是一个开源数据库,自从被Orale公司收购后,分为了商业版和社区版本。
作为资深的白嫖一族,我们如何选择?
自然是选择不要钱的啊😊
出于对版权的尊重,我们选择社区版本。
下载在此,拿走不谢。
社区版本下载页面:https://dev.mysql.com/downloads/mysql/
本文主要介如windows server下的部署配置,linux环境请各位自行查阅相关资料。
社区版本只为Windows系统提供了ZIP格式的下载文件。并不提供msi格式的一键安装配置版本,有些蛋疼。
下载并解压,将64-bit版本目录复制到你喜欢的目录。
个人认为,老外们也大多是一些不太靠谱的人。
社区版将x86、x64放在一起下载,白白浪费下载时间啊。现在x86还有使用的场景吗?
就算老外们认为我大天朝还在农耕女织时代,还在使用x86的服务器,那更要考虑下我们绢绢细流的下载带宽,将x86和x64分别打包下载啊。
另外解压后,对应目录中有一个接近200MB的data目录。完全可以删除。
删除x86和x64目录中的data,压缩备份的zip就只剩下50多MB了。我宝贵的SSD硬盘空间啊。还是丢到云盘吧。
开始配置
废话了半天,我们言归正传。
在mysql主目录下创建配置文件 my.ini
内容如下:
1 [mysqld] 2 3 # 设置 3306 端口 4 5 port=3306 6 7 # 设置 mysql 的安装目录 8 9 basedir="D:\program files\mysql-8.0.23-winx64" 10 11 # 设置 mysql 数据库的数据的存放目录 12 13 datadir="D:\program files\mysql-8.0.23-winx64\data" 14 15 # 允许最大连接数 16 17 max_connections=200 18 19 # 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统 20 21 max_connect_errors=10 22 23 24 25 # 服务端使用的字符集默认为 UTF8 26 27 character-set-server = utf8mb4 28 29 collation-server = utf8mb4_unicode_ci 30 31 init_connect = 'SET NAMES utf8mb4' 32 33 skip-character-set-client-handshake 34 35 36 # 创建新表时将使用的默认存储引擎 37 38 default-storage-engine=INNODB 39 40 41 42 # 默认使用“mysql_native_password”插件认证 43 44 #default_authentication_plugin=mysql_native_password 45 46 [mysql] 47 48 # 设置 mysql 客户端默认字符集 49 50 default-character-set=utf8mb4 51 52 53 54 [client] 55 56 # 设置 mysql 客户端连接服务端时默认使用的端口 57 58 port=3306 59 60 default-character-set=utf8mb4
配置文件中有详细的中文解释,就不多说明了。
注意,配置中的mysql安装目录改成你对应的目录。
初始化mysql
以管理员角色运行CMD,不要用PS,PS在异常时无提示信息。
什么?找不到cmd?
按下键盘上的win键,直接键入 cmd
在搜索到的命令提示符 应用菜单上,选择以管理员身份运行
熟悉的小黑屋又回来啦,别跑……
执行如下命令:
mysqld --initialize-insecure
其作用是初始化data目录,并授权一个无密码的root用户。
执行成功后,会在mysql安装目录下多出一个data子目录(用于存放数据库,对于早期版本,安装后就有该目录)。
启动mysql
在CMD窗口中运行mysqld,启动MySQL
修改管理员密码
在新的CMD窗口中运行
mysqladmin -u root -p password 回车
提示输入密码,直接回车(默认为空密码)
根据提示,输入新密码(请用小本本记下来哦)
重复确认,创建新密码成功。
安装服务
mysqld -install
移除服务
mysqld -remove
启动服务
net start mysql
配置远程访问权限
启动服务后,运行命令:
mysql -u root -p
use mysql;
select User,authentication_string,Host from user;
更新root用户域属性,'%'表示允许外部访问:
update user set host='%' where user ='root';
执行以上语句之后再执行:
FLUSH PRIVILEGES;
让更新配置生效
再执行授权语句:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION;
然后外部就可以通过账户密码访问了。
小伙伴们,可以愉快的和MySQL玩耍了,啦啦啦,下课!