mysql 服务压缩包安装,用户创建
wind7上安装mysql记录:
1.下载的包中没有ini配置文件,需要根目录手动创建my.ini文件
内容如下:
[client]
port=3306
default-character-set=utf8
[mysqld]
#下面这句话直接翻译是:跳过授权表,设置完root密码后再注释掉
skip-grant-tables
character_set_server=utf8
basedir = D:\mysql-5.7.20-win32
datadir = D:\mysql-5.7.20-win32\data
lower_case_table_names=0
port = 3306
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
2.执行初始化和安装命令:
初始化命令:mysqld --initialize
安装命令:mysqld -install
启动服务命令:net start mysql
3.默认账户是root
登录命令: mysql -u root -p
要求输入时直接回车键
切换数据库命令:use mysql;
修改密码命令:update user set authentication_string=password('123456') where user='root' and Host = 'localhost';
刷新数据库命令:flush privileges;
退出命令:quit;
关闭服务命令:net stop mysql
然后把my.ini文件skip-grant-tables的注释掉
然后再次启动服务,用密码登录root账户,直接执行一个sql语句试试:select user from mysql.user;
可能会提示你(我遇到的是这样子):需要重置你的密码然后才能执行sql语句(具体英语提示忘记了)
直接执行:SET PASSWORD FOR 'root'@'localhost' = 'password5565';
4.创建新用户
CREATE USER 'jeffrey'@'localhost' IDENTIFIED BY 'password';
备注:如果jeffrey需要远程访问,需要把host从localhost修改为%,命令为update mysql.user set host ='%' where user = 'reffrey';
5.给jeffrey授权
官网文档里有权限列表:https://dev.mysql.com/doc/refman/5.7/en/grant.html
参考命令:GRANT SELECT, INSERT ON *.* TO 'jeffrey'@'%';
grant all privileges on db1.b1 to "用户名"@"%"; 某一个用户可以对db1下的b1表进行任何操作.
备注 *.* 格式是:第一个*表示数据库,第二个表示数据表
关于8.0+ noinstaller 安装方式
Installing MySQL on Microsoft Windows
1. 将下载Zip包解压到任意目录
2.在根目录创建my.ini文件
[mysqld] # set basedir to your installation path basedir=C:\\Users\\Downloads\\mysql-8.0.22-winx64 # set datadir to the location of your data directory datadir=C:\\Users\\Downloads\\mysql-8.0.22-winx64\\data
3.执行命令进行初始化
bin/mysqld --initialize
这个命令执行了之后,会给root账户生成一个随机密码,然后需要进行一次登录(第5步骤),会生成错误日志,日志中会将这个密码打印出来
错误日志在
C:\\Users\\Downloads\\mysql-8.0.22-winx64\\data 目录中(.err后缀)
此例中错误日志文件为D63QQ72.err
.......
2021-01-15T06:41:53.427439Z 0 [System] [MY-013169] [Server] C:\Users\maofu\Downloads\mysql-8.0.22-winx64\bin\mysqld.exe (mysqld 8.0.22) initializing of server in progress as process 29076
2021-01-15T06:41:53.452925Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2021-01-15T06:41:54.894762Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2021-01-15T06:41:57.249972Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: G!.?gyRaz7zh
2021-01-15T06:45:23.089207Z 0 [System] [MY-010116] [Server] C:\Users\maofu\Downloads\mysql-8.0.22-winx64\bin\mysqld.exe (mysqld 8.0.22) starting as process 111220
.......
4.执行命令启动服务
bin/mysqld --console
5.执行命令登录
新开启命令窗口,执行登录命令
bin/mysql -u root -p
提示输入密码时,直接回车,目的是为了生成日志,从日志(第3步骤)中找到密码后使用密码登录
使用密码登录,然后使用如下命令修改密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass'
修改后会提示 Query OK, 0 rows affected (0.02 sec)
其实已经修改了