MySQL 5.7.22的安装及编码问题解决方案

    最近在本地安装了mysql5.7.22,由于这个版本是解压免安装版的,需要手动配置一些信息,很不习惯,于是我百度了一些安装教程,照着操作了,结果过程费尽周折,遇到各种问题,以下是我最终尝试成功的安装步骤,特整理出来,以备以后再用(注意:以下操作均需要以管理员身份运行cmd.exe时操作):

1.新建txt文件重命名为my.ini,将该文件保存到安装文件的bin目录下,该配置文件内容如下(标红部分为自己的安装目录):

[mysqld]
port = 3306
basedir=F:\mysql-5.7.22-winx64
datadir=F:\mysql-5.7.22-winx64\data
max_connections=200
character-set-server=utf8
default-storage-engine=INNODB
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[mysql]
default-character-set=utf8

2. 配置系统环境变量:MYSQL_HOME:(F:\mysql-5.7.22-winx64),编辑path,添加:(%MYSQL_HOME%\bin)
3. 运行命令:mysqld --initialize (此时会生成data目录)
4. 运行mysqld -install (安装)
5. 执行:mysqld --defaults-file="F:\mysql-5.7.22-winx64\bin\my.ini" --console --skip-grant-tables
6. 保留当前窗口,新打开一个cmd命令控制窗口;
7. mysql -uroot -p 回车两下,可以免密登录,修改密码:
>update mysql.user set authentication_string=password("root") where user="root";
>flush privileges;(刷新账户信息)
>quit;(退出mysql)
8. 关闭第一个启动窗口,重新启动mysql服务:net start mysql
9. 测试登录:mysql -uroot -proot,就可以用root用户名和root密码登陆了

这些操作都无误后,能正常登录了,但是我查看了一下编码格式(show variables like 'character%';),发现还是系统默认编码格式,并不是my.ini指定的UTF-8格式:

+--------------------------+----------------------------------------+
| Variable_name            | Value                                  |
+--------------------------+----------------------------------------+
| character_set_client     | gbk                                    |
| character_set_connection | gbk                                    |
| character_set_database   | latin1                                 |
| character_set_filesystem | binary                                 |
| character_set_results    | gbk                                    |
| character_set_server     | latin1                                 |
| character_set_system     | utf8                                   |
| character_sets_dir       | F:\mysql-5.7.22-winx64\share\charsets\ |
+--------------------------+----------------------------------------+

    查找了很多改编码的方法都不起作用(快要崩溃了),只好自己综合查到的资料尝试各种办法来解决,以下是我的成功解决方案:

1、退出mysql登录到dos命令行,停止mysql服务: C:\WINDOWS\system32>net stop mysql
2、删除服务:C:\WINDOWS\system32>sc delete mysql
3、 单独复制一个bin目录下的my.ini文件,保存在F:\mysql-5.7.22-winx64目录下,修改如下
[mysqld]
port = 3306
basedir=F:\mysql-5.7.22-winx64
datadir=F:\mysql-5.7.22-winx64\data
max_connections=200
collation-server=utf8_general_ci
character-set-server=utf8
default-storage-engine=INNODB
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[mysql]
default-character-set=utf8
[mysql.server]
default-character-set = utf8
[mysqld_safe]
default-character-set = utf8
[client]
default-character-set = utf8

注:红色为在原基础上的修改内容
4、执行:mysqld --install mysql --defaults-file="F:\mysql-5.7.22-winx64\my.ini"
5、启动:net start mysql
6、运行mysql -uroot -proot登录,查看编码格式,显示成功:

+--------------------------+----------------------------------------+
| Variable_name            | Value                                  |
+--------------------------+----------------------------------------+
| character_set_client     | utf8                                   |
| character_set_connection | utf8                                   |
| character_set_database   | utf8                                   |
| character_set_filesystem | binary                                 |
| character_set_results    | utf8                                   |
| character_set_server     | utf8                                   |
| character_set_system     | utf8                                   |
| character_sets_dir       | F:\mysql-5.7.22-winx64\share\charsets\ |
+--------------------------+----------------------------------------+

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值