安装包 mysql5.7
1、管理员cmd下删除服务 sc delete mysql
2、在bin同级目录新建data文件夹和 my.ini
3、编辑my.ini
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
#设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=D:\mysql-5.7.20-winx64
# 设置mysql数据库的数据的存放目录
datadir=D:\mysql-5.7.20-winx64\data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
explicit_defaults_for_timestamp=1
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
//在my.ini中这个默认打开,等修改密码过后再注释
#skip_grant_tables
4、初始化
mysqld --initialize --user=mysql --console
5、安装服务
bin 路径下 安装服务 mysqld install MySQL --defaults-file="D:\mysql-5.7.20-winx64\my.ini"
6、在执行修改密码时候如果有报1290的错误
//在my.ini中这个默认打开,等修改密码过后再注释
#skip_grant_tables
root 密码为空的时候配置文件中下面这句:
skip-grant-tables
GRANT ALL PRIVILEGES ON *.* TO IDENTIFIED BY '123' WITH GRANT OPTION;
执行这句时候错误:
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
mysql> GRANT ALL PRIVILEGES ON *.* TO IDENTIFIED BY '123' WITH GRANT OPTION;
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
这个时候我们只需要
flush privileges
7、默认初始密码是空
>mysql -u root -p
进入mysql命令行后,使用下面命令,设置密码 SET PASSWORD = PASSWORD('新密码');
修改密码:set password for root@localhost = password('123456');
5.6方式
update mysql.user set password=PASSWORD('123456') where User='root';
5.7方式
update mysql.user set authentication_string=PASSWORD('123456') where User='root';
在mysql中user表中修改数据
8、mysql服务启动与停止
输入"net start mysql"启动mysql,
输入"net stop mysql"停止mysql服务
9、授权并创建新用户
grant all on *.* to root@'%' identified by 'password';