记录mysql5.7.14安装与配置过程,梳理成文,希望对大家有所帮助。
1.配置文档:
####################配置文件开始###################
# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html
# *** DO NOT EDIT THIS FILE. It's a template which will be copied to the
# *** default location during install, and will be replaced if you
# *** upgrade to a newer version of MySQL.
[client]
default-character-set=utf8
[mysqld]
port=3306
basedir ="D:\mysql-5.7.14-winx64"
datadir ="D:\mysql-5.7.14-winx64/data/"
tmpdir ="D:\mysql-5.7.14-winx64/data/"
socket ="D:\mysql-5.7.14-winx64/data/mysql.sock"
log-error="D:\mysql-5.7.14-winx64/data/mysql_error.log"
#server_id = 2
#skip-locking
max_connections=100
table_open_cache=256
query_cache_size=1M
tmp_table_size=32M
thread_cache_size=8
innodb_data_home_dir="D:\mysql-5.7.14-winx64/data/"
innodb_flush_log_at_trx_commit =1
innodb_log_buffer_size=128M
innodb_buffer_pool_size=128M
innodb_log_file_size=10M
innodb_thread_concurrency=16
innodb-autoextend-increment=1000
join_buffer_size = 128M
sort_buffer_size = 32M
read_rnd_buffer_size = 32M
max_allowed_packet = 32M
explicit_defaults_for_timestamp=true
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
skip-grant-tables
#sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
####################配置文件结束###################
2. 添加环境变量
3.启动服务
net start mysql
MySQL 服务正在启动 .
MySQL 服务无法启动。
问题解决:删除data文件夹里的内容
然后输入如下命令:
4.登陆Access denied for user 'root'@'localhost'(using password: NO)问题解决
1).在mysql所在的根目录下找到my-default.ini,复制里面的全部内容,
新版建一个txt文档,把内容复制进去,然后保存名字改为my.ini,注重需要把文件类型也改为ini,方法查看文件类型,然后把txt后缀改为ini,如果不懂可以上网查找。
2).my.ini配置文件,打开配置文件,找到[mysqld]一行,在下面添加skip-grant-tables后保存该文件,重新版启mysql动服务。
----1.通过cmd进如到Mysql下的bin目录下,输入mysql -u root -p就可以不用密码登陆了,出现password:的时候直接回车可以进入,不会出现ERROR 1045 (28000),但很多操作都会受限制,因为我们不能grant(没有权限)。
----2.进入mysql数据库:mysql> use mysql;Database changed
----3.输入update mysql.user set authentication_string=password('root') where user='root' ;
输入update mysql.user set authentication_string=password('root') where user='root' ;其中password('‘)中为你今后的密码。
重复的原因是因为跟5.7以前的输入方式不同。
原因是:新版安装的MySQL5.7,登陆时提示密码错误,安装的时候并没有更改密码,后来通过免密码登陆的方式更改密码,输入update mysql.user set password=password('root') where user='root'时提示ERROR 1054 (42S22): Unknown column 'password' in 'field list',原来是mysql数据库下已经没有password这个字段了,password字段改成了authentication_string,所 以如果按照用以前的update mysql.user set password=password('root') where user] ,就会报错。
----4.编辑my.ini文件删掉skip-grant-tables 这一行,然后重启MySQL,否则MySQL仍能免密码登陆。
4.mysql error You must reset your password using ALTER USER statement before executing this statement.或者Your password has expired. To log in you must change it using a client that supports expired passwords.
5、设置编码问题(原文来自:设置MYSQL数据库编码为UTF-8)
1)、检查当前数据库编码。
使用语句:
show variables like ‘%character%';
show variables like'%collation%';
2)、如果不是以上情况,需要将mysql编码设置为utf-8。详细步骤如下:
如果安装mysql时安装了“MySql Sever Instance Configuration Wizard”,则只需要启动该程序进行相应设置就行了。如下面截图中所描述,需要将默认编码设置为utf8。
如果没有该程序,需要手动改mysql编码。
1>、 编辑MySql的配置文件
MySql的配置文件Windows下一般在系统目录下或者在MySql的安装目录下名字叫my.ini,可以搜索,Linux下一般是 /etc/my.cnf
--在 [mysqld] 标签下加上以下内容:
default-character-set = utf8
character_set_server = utf8
注重:如果此标签下已经存在“default-character-set=GBK”类似的内容,只需改就行了。
--在 [mysql] 标签下加上一行 default-character-set = utf8--在 [mysql.server]标签下加上一行 default-character-set = utf8
--在 [mysqld_safe]标签下加上一行 default-character-set = utf8--在 [client]标签下加上一行 default-character-set = utf8
2>、 重新版启动MySql服务
Windows可在服务管理器中操作,也可使用命令行:
net stop mysql 回车
net start mysql 回车 服务名可能不一定为mysql,请按自己的设置
Linux下面可是用 service mysql restart如果出现启动失败,请检查配置文件有没有设置错误
3>、 查看设置结果
登陆MySql命令行客户端:打开命令行mysql –uroot –p 回车,输入密码
进入mysql后 执行 :show variables like "% character %";
显示结果应该类似如下:
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
如果仍有编码不是utf8的,请检查配置文件,也可使用mysql命令设置:
set character_set_client = utf8;
set character_set_server = utf8;
set character_set_connection = utf8;
set character_set_database = utf8;
set character_set_results = utf8;
set collation_connection = utf8_general_ci;
set collation_database = utf8_general_ci;
set collation_server = utf8_general_ci;
另外:建立数据库时可以使用以下命令:
create database app_relation character set utf8;
use app_relation;
source app_relation.sql;
改数据库编码的命令为:alter database app_relation character set utf8;
精彩专题共享:
mysql不同版本安装教程
mysql5.7各版本安装教程
mysql5.6各版本安装教程
mysql8.0各版本安装教程
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持乐购源码。