企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
注意:数据存放目录需要更改,端口号建议修改,可以屏蔽部分端口扫描威胁。 5.2.1 程序下载 官网:<https://www.mysql.com/>下载版本:5.7.25,要求为社区版。 ![Image](https://box.kancloud.cn/996d31aa93aabae5a0a079a185829687_1154x672.png) 5\.2.2 安装时底层库缺失的错误 如果出现以下情况,是基础的库没有安装。需要安装微软vc++库 ![Image](https://box.kancloud.cn/d9ccc4aafbf597a88cbb40d936af98c8_515x195.png) ![Image](https://box.kancloud.cn/62f7519fb8a6bd2eb59cab105d89e99a_1076x420.png) ..3 基础配置 初始化:进入到mysql根目录下的bin文件夹,在该目录下进入cmd窗口。并执行初始化命令:.\\mysqld.exe --initialize --user=mysql --console,此处会执行初始化生成data目录,还会打印初始密码。 ![Image](https://box.kancloud.cn/054496d74345e062e677dc6d072ef559_1026x549.png) ![Image](https://box.kancloud.cn/9563949173c40b303f34789abda79a58_1060x554.png) 然后继续在该目录下执行安装命令:mysqld –-install MySQL (服务名 自定义即可) 再使用初始密码登陆后,重新设置密码。 set password for root@localhost=password('你的密码'); 然后修改远程登陆: mysql -uroot -P50681 -p use mysql; select host,user from user; 更改远程地址: update user set host = ’%’ where user = ’root’; 修改权限: Grant all on \*.\* to 'root'@'%' identified by 'root用户的密码' with grant option; flush privileges; 5.2.5配置文件 \[mysqld\] #设置服务器字符集为utf8mb4 character\_set\_server\=utf8mb4 collation-server\=utf8mb4\_general\_ci #大小写敏感 lower\_case\_table\_names\=2 #设置mysql允许的最大连接数 max\_connections\=500 #设置mysql的安装目录 basedir = D:/test\_project/mysql-5.7.25-winx64\_50681 #设置mysql的数据文件存放目录 datadir = D:/test\_project/mysql-5.7.25-winx64\_50681/data #mysql中TIMESTAMP类型和其他的类型有点不一样(在没有设置explicit\_defaults\_for\_timestamp=1的情况下) explicit\_defaults\_for\_timestamp = 1 #设置mysql服务所绑定的端口 port = 50681 #设置mysql允许的最大连接数 max\_connections\=15 #禁用DNS主机名查找,启用以后用内网地址向mysqlslap请求响应快了一半 skip\_name\_resolve = 1 #这个值定义了日志文件的大小,innodb日志文件的作用是用来保存redo日志。一个事务对于数据或索引的修改往往对应到表空间中的随机的位置,因此当刷新这些修改到磁盘中就会引起随机的I/O,而随机的I/O往往比顺序的I/O更加昂贵的开销,因为随机的I/O需要更多的开销来定位到指定的位置。innodb使用日志来将随机的I/O转为顺序的I/O,只要日志文件是安全的,那么事务就是永久的,尽管这些改变还没有写到数据文件中,如果出现了当机或服务器断电的情况,那么innodb也可以通过日志文件来恢复以及提交的事务。但是日志文件是有一定的大小的,所以必须要把日志文件记录的改变写到数据文件中,innodb对于日志文件的操作是循环的,即当日志文件写满后,会将指针重新移动到文件开始的地方重新写,但是它不会覆盖那些还没有写到数据文件中的日志,因为这是唯一记录了事务持久化的记录 #如果对 Innodb 数据表有大量的写入操作,那么选择合适的 innodb\_log\_file\_size 值对提升MySQL性能很重要。然而设置太大了,就会增加恢复的时间,因此在MySQL崩溃或者突然断电等情况会令MySQL服务器花很长时间来恢复 innodb\_log\_file\_size = 4G #事务在内存中的缓冲。 分配原 则:控制在2-8M.这个值不用太多的。他里面的内存一般一秒钟写到磁盘一次 innodb\_log\_buffer\_size = 16M \# Remove leading # to set options mainly useful for reporting servers. \# The server defaults are faster for transactions and fast SELECTs. \# Adjust sizes as needed, experiment to find the optimal values. \# join\_buffer\_size = 128M \# sort\_buffer\_size = 2M \# read\_rnd\_buffer\_size = 2M #========慢日志查询 slow\_query\_log = 1 #是否开启慢查询日志收集 slow\_query\_log\_file = D:/test\_project/mysql-5.7.25-winx64\_50681/log/mysql-slow.log #慢查询日志位置 log\_queries\_not\_using\_indexes = 1 #是否记录未使用索引的语句 log\_slow\_admin\_statements = 1 #慢查询也记录那些慢的optimize table,analyze table和alter table语句 log\_slow\_slave\_statements = 1 #记录由Slave所产生的慢查询 log\_throttle\_queries\_not\_using\_indexes = 10 #设定每分钟记录到日志的未使用索引的语句数目,超过这个数目后只记录语句数量和花费的总时间 expire\_logs\_days = 90 #日志自动过期清理天数 long\_query\_time = 1 #设置记录慢查询超时时间 min\_examined\_row\_limit = 100 #查询检查返回少于该参数指定行的SQL不被记录到慢查询日志 #临时文件 tmpdir = D:/test\_project/mysql-5.7.25-winx64\_50681/tmp #错误日志 \[mysqld\_safe\] log-error\=D:/test\_project/mysql-5.7.25-winx64\_50681/log/mysqld.log \[client\] #设置客户端字符集 default-character-set\=utf8mb4 \[WinMySQLadmin\] Server = D:/test\_project/mysql-5.7.25-winx64\_50681/bin/mysqld.exe sql\_mode\=NO\_ENGINE\_SUBSTITUTION,STRICT\_TRANS\_TABLES