一、下载
1.mysql官网下载地址:https://downloads.mysql.com/archives/community/
2.下载完成后解压,解压后如图:
3.放置位置,把解压好的文件夹放在自己喜欢的位置
二、配置mysql
1.mysql-5.7.17-winx64目录下,新建一个my.ini。复制下面的代码保存就可以了。my.ini会替换掉下面的my-default.ini文件
注:my.ini文件的内容:
[mysql]
; 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
;设置3306端口
port = 3306
; 设置mysql的安装目录
basedir=F:\mysql-5.7.10-winx64
; 设置mysql数据库的数据的存放目录
datadir=F:\mysql-5.7.10-winx64\data
; 允许最大连接数
max_connections=200
; 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
; 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
三、安装mysql服务
1、右击开始按键选择搜索输入cmd,会出现一个命令提示符右键选择以管理员身份运行这个选项,不然就会出现一个身份不够的错误码
2.以管理员身份打开cmd窗口后,将目录切换到你的解压文件bin目录下。再输入mysqld install回车运行就可以了,注意是mysqld不是mysql。出现安装成功就可以了。由于 我已经安装过了所以就出现这个了。
3.这时我们可以先用mysqld --initialize 先初始化data目录:
四、修改密码
1、my.ini配置文件[mysqld]条目下加一条命令skip-grant-tables,然后重启mysql
2.
(1)进入mysql数据库:
mysql> use mysql;Database changed
(2)给root用户设置新密码mysql> update user set authentication_string=password("新密码") where user="root";
Query OK,1 rows affected(0.01sec)Rows matched:1 Changed:1Warnings: 0
(3)刷新数据库 (一定要记得刷新)mysql>flush privileges; QueryOK, 0 rows affected (0.00 sec)
(4)退出mysql:mysql> quit
最后把配置文件中的skip-grant-tables 注释掉。下次输入mysql -uroot -p 就可以用新密码登录了
注意事项1.允许远程用户登录访问mysql的方法
需要手动增加可以远程访问数据库的用户。
方法一、本地登入mysql,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,将"localhost"改为"%"
#mysql -u root -proot
mysql>use mysql;
mysql>update user set host = '%' where user = 'root';
mysql>select host, user from user;
方法二、直接授权(推荐)
从任何主机上使用root用户,密码:youpassword(你的root密码)连接到mysql服务器:
# mysql -u root -proot
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'youpassword' WITH GRANT OPTION;
操作完后切记执行以下命令刷新权限
FLUSH PRIVILEGES
注意事项2 windows环境下MySQL重启的命令行说明
ctrl+r 弹出运行框,输入cmd,然后再控制太输入命令;
1.点击“开始”->“运行”(快捷键Win+R)。
2.启动:输入 net stop MySQL
3.停止:输入 net start mysql
windows下不能直接重启(restart),只能先停止,再启动。
这个只是说本地装了mysql的情况下。或者远程连接到mysql服务器,然后在远程机器上操作此命令。
注意事项3 充值密码
You must SET PASSWORD before executing this statement的解决方法
ERROR 1820 (HY000): You must SET PASSWORD before executing this statement
非常诡异啊,明明用密码登陆进去了,怎么还提示需要密码。
参考官方的一个文档,见http://dev.mysql.com/doc/refman/5.6/en/alter-user.html。如下操作后就ok了:
mysql> create database yan1;
ERROR 1820 (HY000): You must SET PASSWORD before executing this statement
mysql> SET PASSWORD = PASSWORD('123456');
Query OK, 0 rows affected (0.03 sec)
mysql> create database yan1;
Query OK, 1 row affected (0.00 sec)
也就是用mysql> SET PASSWORD = PASSWORD('123456');这句话重新设置一次密码!大爷的,真费劲啊。
这位仁兄也遇到了相同的问题。
最近新装好的mysql在进入mysql工具时,总是有错误提示:
# mysql -u root -p
Enter password:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
或者
# mysql -u root -p password 'newpassword'
Enter password:
mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost' (using password: YES)'
现在终于找到解决方法了。本来准备重装的,现在不必了。
方法操作很简单,如下:
# /etc/init.d/mysql stop
# mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
# mysql -u root mysql
mysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root' and host='root' or host='localhost';//把空的用户密码都修改成非空的密码就行了。
mysql> FLUSH PRIVILEGES;
mysql> quit # /etc/init.d/mysqld restart
# mysql -uroot -p
Enter password: <输入新设的密码newpassword>
MySql5.6操作时报错:You must SET PASSWORD before executing this statement解决
mysql> SET PASSWORD = PASSWORD('123456');
Query OK, 0 rows affected (0.03 sec)
mysql> create database roger;
Query OK, 1 row affected (0.00 sec)
也就是用mysql> SET PASSWORD = PASSWORD('123456');这句话重新设置一次密码!