本文共 2639 字,大约阅读时间需要 8 分钟。
今天用了一下MySQL,刚好看到之前电保存脑的笔记,于是整理了一下,还是记在博客上方便查询。
1、官网下载 https://dev.mysql.com/downloads/mysql/ 之前安装的是mysql-5.7.17-winx64.zip,现在2017年12月29日最新版本是5.7.20,因为电脑装的是5.7.17,所以下面记录的是5.7.17步骤。 2、解压到一个目录,如 D:\Software\mysql5.7.17 3、配置默认文件 在D:\Software\mysql5.7.17目录下,新建个my.ini。复制下面的代码(注意路径)保存 [mysql] # 设置mysql客户端默认字符集 default-character-set=utf8 [mysqld] #设置3306端口 port = 3306 # 设置mysql的安装目录 basedir=D:\Software\mysql5.7.17 # 设置mysql数据库的数据的存放目录 datadir=D:\Software\mysql5.7.17\data # 允许最大连接数 max_connections=200 # 服务端使用的字符集默认为8比特编码的latin1字符集 character-set-server=utf8 # 创建新表时将使用的默认存储引擎 default-storage-engine=INNODB 4、以管理员身份打开cmd窗口后,切换到bin目录,输入mysqld install运行安装。 执行完提示Service successfully installed.即在控制面板-服务里面创建一个默认叫mysql的服务,如果有多个服务,可以在命令后面指定服务名,例如 mysqld install mysql57 创建的服务名为mysql57。 5、初始化 5.7绿色版没有data文件夹,要先初始化,切换到bin目录运行下面命令 mysqld --initialize-insecure 说明:mysqld --initialize-insecure,这个命令会生成无密码的root用户。 而命令mysqld --initialize自动生成带随机密码的root用户。 6、启动服务 net start mysql 7、默认密码为空,修改密码,如修改为123456 以管理员身份打开cmd窗口后,运行mysql -uroot -p 提示Enter password时直接输入回车 输入下面修改密码 update mysql.user set authentication_string=password('123456') where user='root' and Host='localhost'; 输入flush privileges;刷新权限 8、一些基本的命令行 (1) show databases; 显示数据库列表 (2) use test; 切换到test数据库 (3) select * from user; 查询表user的数据9、新建数据库时,字符集、排序规则的推荐选择:
(1)字符集:utf8mb4 -- UTF-8 Unicode 字符集utf8、utf8mb4的区别: utf8只用最多3字节存储,也叫utf-8mb3。 MySQL在5.5.3之后增加了utf8mb4编码,utf8mb4编码是utf8编码的超集,兼容utf8,并且能存储4字节的表情字符。 (2)排序规则:utf8mb4_general_ci 排序规则ci为case insensitive缩写,表示不区分大小写。 unicode_ci准确度高,但校对速度稍慢 general_ci校对速度快,但准确度稍差。不区分大小写。(准确度够用,一般建库选择这个)。 建库语句: create database xxx default character set utf8mb4 collate utf8mb4_general_ci; MySQL数据库管理工具有navicat for mysql等。连接过程碰到的两个问题:
(1)Navicat for MySQL 只能输入localhost访问,输入IP地址提示:
1130-host ... is not allowed to connect to this MySql server,MySQL 解决方法: Navicat for MySQL用localhost登录后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%" 右键默认的根节点localhost_3306--刷新--权限。(2)本地能连接,远程不能连接
检查发现因为防火墙阻止了。
控制面板\所有控制面板项\Windows 防火墙 点击“高级设置” 进入“高级安全Windows 防火墙”窗口,点击“入站规则”--“新建规则” 规则类型:选择“端口”,然后下一步; 协议和端口:选择tcp ,特定本地端口,输入MySQL的端口号,为3306,然后下一步; 操作和配置文件默认选择,然后下一步; 名称:输入自定义名称和描述(如mysql,允许访问mysql),然后完成。
--------------------------------
2019.6.1
安装mysql-8.0.16-winx64记录
步骤和上面差不多,只是在navicat中连接mysql时,出现了如下错误提示:
1251 - client does not support authentication protocol requested by server;consider upgrading MySQL client
原因:
mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password 解决方法是修改为之前加密规则,在cmd控制台中mysql -uroot -p并输入空密码登陆后,依次执行下面3条命令: use mysql; alter user 'root'@'localhost' identified with mysql_native_password by '123456'; flush privileges;转载地址:http://rlzrf.baihongyu.com/