win7 64位下如何安装配置mysql-5.7.4-m14-winx64
1. mysql-5.7.4-m14-winx64.zip下载
官方网站下载地址:http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.17-winx64.zip
2、解压到D:\mysql.(路径自己指定)
3、在D:\mysql\mysql-5.7.4-m14-winx64下新建my.ini配置文件
内容如下:
####################配置文件开始###################
# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.6/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/mysql-5.7.4-m14-winx64/"
datadir ="D:/mysql/mysql-5.7.4-m14-winx64/data/"
tmpdir ="D:/mysql/mysql-5.7.4-m14-winx64/data/"
socket ="D:/mysql/mysql-5.7.4-m14-winx64/data/mysql.sock"
log-error="D:/mysql/mysql-5.7.4-m14-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/mysql-5.7.4-m14-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"
#sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
####################配置文件结束###################
重点是以下配置,其中datadir的目录名称必须是:D:/mysql/mysql-5.7.4-m14-winx64/data/。
4、在windows系统环境变量path,加入如下内容
D:\mysql\mysql-5.7.4-m14-winx64\bin;(注意加分号)
5、将mysql注册为windows系统服务
具体操作是在命令行中执行以下命令(需要以管理员身份运行命令行):
mysqld install MySQL --defaults-file="D:\mysql\mysql-5.7.4-m14-winx64\my.ini"
移除服务命令为:mysqld remove
6、第5步成功后,打开系统服务管理
可以看到mysql系统服务:(此处需要注意)
需要在服务的登陆属性里配置管理员用户登陆(不配置从服务管理里启动报1035错误,在命令行启动报启动失败),如下:
在命令行启动mysql命令为: net start mysql
关闭mysql命令为:net stop mysql
7、修改root的密码为123456
命令行执行:mysql –uroot
mysql>show databases;
mysql>use mysql;
mysql> UPDATE user SET password=PASSWORD("123456") WHERE
user='root';
mysql> FLUSH PRIVILEGES;
mysql> QUIT
(如果不行就试试在安装mysql的文件夹下的bin文件夹的路径下执行试试)
PS:
mysql ERROR 1045 (28000): Access denied for user解决方法
C:\AppServ\MySQL> mysql -u root -p
Enter password:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
编辑mysql配置文件my.ini(不知道在哪请搜索),在[mysqld]这个条目下加入
skip-grant-tables
保存退出后重启mysql
1.点击“开始”->“运行”(快捷键Win+R)。
2.启动:输入 net stop mysql
3.停止:输入 net start mysql
这时候在cmd里面输入mysql -u root -p就可以不用密码登录了,出现password:的时候直接回车可以进入,不会出现ERROR 1045 (28000),但很多操作都会受限制,因为我们不能grant(没有权限)。按下面的流程走(红色部分为输入部分,粉红色的是执行后显示的代码不用输入):
1.进入mysql数据库:
mysql> use mysql;
Database changed
2.给root用户设置新密码,蓝色部分自己输入:
mysql> update user set password=password("新密码") where user="root";
Query OK, 1 rows affected (0.01 sec)
Rows matched: 1 Changed: 1 Warnings: 0
3.刷新数据库
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
4.退出mysql:
mysql> quit
Bye
改好之后,再修改一下my.ini这个文件,把我们刚才加入的"skip-grant-tables"这行删除,保存退出再重启mysql就可以了。
另外:
MySQL5.7更改密码时出现ERROR 1054 (42S22): Unknown column 'password' in 'fie
新安装的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 authentication_string=password('root')
where user='root' ;即可
8、此时可以在本机上客户端连接了(本人用的是SQLyog)
遇到错误:
ERROR 1862 (HY000): Your password has expired. To log in you must
change it using a client that supports expired passwords.
原因是:
MySQL 5.6 introduces password-expiration capability, to enable database administrators to expire account passwords and require users to reset their password.
5.6介引入了MySQL的密码过期功能,使数据库管理员帐户密码到期并要求用户重置其密码。
所以只需重新修改下密码即可,修改方式如下:
以root权限登录mysql:(这里我的账户是root,密码也是root)
mysql -uroot -proot
然后更改密码:
SET PASSWORD = PASSWORD('root');
OK,可以正常使用了。
9、远程登陆配置
允许root用户在任何地方进行远程登录,并具有所有库任何操作权限,具体操作如下:
1)在本机先使用root用户登录mysql:
命令行执行:mysql -u root -p
输入密码(第7步中设置的密码):123456
2)进行授权操作:
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'
IDENTIFIED BY 'youpassword' WITH GRANT OPTION;
重载授权表:
mysql>FLUSH PRIVILEGES;
退出mysql:quit