MySQL 最新版 8.0.12 的安装配置及使用

更新时间:2018.08.09

在cmd里执行时一定要用管理员身份执行

下载

地址:https://dev.mysql.com/downloads/mysql/

参考:https://blog.csdn.net/weixin_42373448/article/details/81275655

选择版本:Windows (x86, 64-bit), ZIP Archive

解压到一个指定目录

比如,D:\Tools\

最终的目录结构如下:

创建安装批处理文件,比如文件名为mysqlinstall.bat

@echo off

rem https://blog.csdn.net/weixin_42373448/article/details/81275655
rem 参考上述链接,里面有对“ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using passwor”的描述
rem 主要是初始密码的问题
rem **********************************MySQL环境变量部署*****************************************
cd /d %~dp0
del /F %cd%\my.ini 
echo 删除完成
echo [client]>> my.ini 
rem echo port = 3306>> my.ini 
echo default-character-set=utf8mb4>>my.ini
echo [mysqld]>> my.ini 
echo ft_min_word_len=2>>my.ini
echo character-set-client-handshake = FALSE>>my.ini
echo collation-server=utf8mb4_unicode_ci>>my.ini
echo init_connect=’SET NAMES utf8mb4'>>my.ini
echo log-error=%cd:\=\\%\\error>>my.ini
echo character_set_server=utf8mb4>>my.ini
echo default_storage_engine=INNODB>> my.ini 
echo basedir=%cd:\=\\%\\>>my.ini 
echo datadir=%cd:\=\\%\\data>> my.ini 
rem echo innodb_data_file=ibdata1:50M;ibdata2:10M:autoextend>> my.ini 
rem echo transaction-isolation=READ-COMMITTED>> my.ini 
echo explicit_defaults_for_timestamp=true>> my.ini
echo port=3306>> my.ini 
echo max_connections=200>>my.ini
echo max_allowed_packet=64M>> my.ini 
echo tmp_table_size=64M>> my.ini 
echo [mysql]>>my.ini
echo default-character-set=utf8mb4>>my.ini 
echo my.ini生成成功
cd /d %~dp0


echo "注册MySql服务开始"
echo "停止已存在的服务MySQL"
net stop MySQL
echo "删除已存在的服务MySQL"
sc delete MySQL

"%~dp0"\bin\mysqld.exe --initialize

echo "删除服务执行文件项"
"%~dp0"\bin\mysqld.exe -romve
REG Delete HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MySQL /v ImagePath /f
"%~dp0"\bin\mysqld.exe  -install
echo "添加服务执行文件项"
REG add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MySQL /v ImagePath /t REG_EXPAND_SZ /d "%cd%\bin\MySqld.exe --defaults-file=\"%cd%\my.ini\" MySQL" /f
net start mysql

进入cmd命令行执行批处理

会启动MySQL服务

修改密码

进入error.err文件并找到这一行

2018-08-03T05:40:23.440594Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: SEVo?sluU3lV

使用命令行进入mysql

mysql -u root -p

会提示你输入密码,密码就是上面文件里的临时密码

使用新密码更新,比如我要改成密码为root

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY'root';

使用全文检索

参考:https://phpartisan.cn/news/87.html

我测试过的检索命令:

#select id, from_remark_name, from_nick_name,  msg_id, msg_digest, create_time from messages where wx_uin='2441227902' and which_day=CURDATE();
#select count(*) from messages where wx_uin='2441227902' and which_day=CURDATE() and is_self=1;

#truncate taobao_order
#ALTER TABLE `messages` ADD FULLTEXT INDEX ft_actual_content  (`actual_content`)
SELECT * FROM `messages` WHERE MATCH(`actual_content`) AGAINST('人才' IN BOOLEAN MODE)
#ALTER TABLE `messages` ADD FULLTEXT INDEX `ft_actual_content` (`actual_content`)  WITH PARSER ngram;

字符集

设置支持emoji

参考:https://www.cnblogs.com/zhangwufei/p/7017325.html

需要设置utf8mb4

[client]
default-character-set=utf8mb4 

[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
init_connect=’SET NAMES utf8mb4'

[mysql]
default-character-set=utf8mb4

完整的配置如下 ,完后需要重启mysql

[client] 
default-character-set=utf8mb4
[mysqld] 
ngram_token_size=2
collation-server=utf8mb4_unicode_ci
log-error=D:\\Tools\\mysql-8.0.12-winx64\\error
character_set_server=utf8mb4
init_connect=’SET NAMES utf8mb4'
character-set-client-handshake = FALSE
default_storage_engine=INNODB 
basedir=D:\\Tools\\mysql-8.0.12-winx64\\ 
datadir=D:\\Tools\\mysql-8.0.12-winx64\\data 
explicit_defaults_for_timestamp=true
port=3306 
max_connections=300
max_allowed_packet=64M 
tmp_table_size=64M  
[mysql]
default-character-set= utf8mb4

MySQL-Front遇到的问题

mysql-front does not support passwords with mysql 8 and higher

[mysqld]
default_authentication_plugin=mysql_native_password
validate_password=OFF

Fiddler2

capture指定网站的traffic信息

rule菜单下,

6 down vote accepted

 

Manipulate the OnBeforeRequest function using the following syntax:

if (!oSession.HostnameIs("domainIcareabout.com") &&
        !oSession.HostnameIs("anotherDomainIcareabout.com"))
{
    oSession["ui-hide"] = "Hiding other domains"; // String value not important
}
发布了34 篇原创文章 · 获赞 43 · 访问量 19万+

猜你喜欢

转载自blog.csdn.net/tiplip/article/details/40261513