如果有服务,使用下面命令删除,管理员身份打开cmd :
net stop mysql
sc delete mysql
pause
1、下载 https://dev.mysql.com/downloads/mysql/5.7.html
没有的Oracle帐号怕麻烦的可以在些下载:
链接:https://pan.baidu.com/s/1E46mKltT4yenF3Souk1OZg
提取码:91et
2、解压为 D:SoftWaremysql-5.7.28-winx64,新建一个my.ini文件内容如下
[mysqld] skip-grant-tables # 设置3306端口 port=3306 # 设置mysql的安装目录 basedir=D:SoftWaremysql-5.7.28-winx64 # 切记此处一定要用双斜杠\,单斜杠我这里会出错。 # 设置mysql数据库的数据的存放目录 datadir=D:\SoftWare\mysql-5.7.28-winx64\Data # 此处同上 # 允许最大连接数 max_connections=200 # 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统 max_connect_errors=10 # 服务端使用的字符集默认为UTF8 character-set-server=utf8 # 创建新表时将使用的默认存储引擎 default-storage-engine=INNODB # 默认使用“mysql_native_password”插件认证 default_authentication_plugin=mysql_native_password [mysql] # 设置mysql客户端默认字符集 default-character-set=utf8 [client] # 设置mysql客户端连接服务端时默认使用的端口 port=3306 default-character-set=utf8
3、以管理员身份运行CMD命令窗口,并执行相应操作
D:
cd D:SoftWaremysql-5.7.28-winx64in
mysqld --defaults-file=D:SoftWaremysql-5.7.28-winx64my.ini --initialize --user=mysql --console
请把上图上初始密码记住!
4、安装MySQL服务,以管理员身份运行cmd
mysqld --install MySQL --defaults-file=D:SoftWaremysql-5.7.28-winx64my.ini
5、启动mysql,两种方式
#后台运行 net start mysql #前台运行 mysqld --defaults-file=D:mysqlmy.ini
6、首次连接需要修改root密码
mysql -uroot -p mysql> set password=password("mysql"); mysql> flush privileges;
Mysql添加用户与授权
1、本地环境
CentOS Linux release 7.5.1804 (Core)
mysql Ver 14.14 Distrib 5.7.22, for Linux (x86_64) using EditLine wrapper
2、以root用户登录Mysql
mysql -uroot -proot
3、切换到mysql数据库
use mysql
4、添加用户
//只允许指定ip连接
create user '新用户名'@'localhost' identified by '密码';
//允许所有ip连接(用通配符%表示)
create user '新用户名'@'%' identified by '密码';
5、为新用户授权
//基本格式如下
grant all privileges on 数据库名.表名 to '新用户名'@'指定ip' identified by '新用户密码' ;
//示例
//允许访问所有数据库下的所有表
grant all privileges on *.* to '新用户名'@'指定ip' identified by '新用户密码' ;
//指定数据库下的指定表
grant all privileges on test.test to '新用户名'@'指定ip' identified by '新用户密码' ;
6、设置用户操作权限
//设置用户拥有所有权限也就是管理员
grant all privileges on *.* to '新用户名'@'指定ip' identified by '新用户密码' WITH GRANT OPTION;
//拥有查询权限
grant select on *.* to '新用户名'@'指定ip' identified by '新用户密码' WITH GRANT OPTION;
//其它操作权限说明,select查询 insert插入 delete删除 update修改
//设置用户拥有查询插入的权限
grant select,insert on *.* to '新用户名'@'指定ip' identified by '新用户密码' WITH GRANT OPTION;
//取消用户查询的查询权限
REVOKE select ON what FROM '新用户名';
7、删除用户
DROP USER username@localhost;
8、修改后刷新权限
FLUSH PRIVILEGES;
附:可能碰到的问题
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
解决方法:
mysql> flush privileges; Query OK, 0 rows affected (0.01 sec) mysql> set password=password("mysql");(或 set password for 'root'@'localhost'=password('root');) Query OK, 0 rows affected, 1 warning (0.00 sec) flush privileges;
2、启动时一直启动不了,也停止不了
D:SOFTWAREmysql-5.7.28-winx64in>mysqld --console
报下面错:
Found option without preceding group in config file
原因:就是my.ini 文件格式为utf-8
解决:文件文件格式修改为ANSI
已存在mysql用户及库的安装配置
背景:我有一台mysql-5.7.21的数据库,备份后始终还原还到mysql-5.7.28版本的库上,所以干脆就把整个5.7.21版本库全迁过来
拷贝过来后 注意:my.ini文件中的路径及端口(不能与其他服务占用),进入bin下,以管理员身份安装服务启动方可。
mysqld --install MySQL[端口] --defaults-file=D:SoftWaremysql-5.7.21-winx64my.ini