最近在本地安装了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
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;(刷新账户信息)
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\ |
+--------------------------+----------------------------------------+
查找了很多改编码的方法都不起作用(快要崩溃了),只好自己综合查到的资料尝试各种办法来解决,以下是我的成功解决方案:
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\ |
+--------------------------+----------------------------------------+