mysql安装
-
解压后在目录下,与bin并列新建文件my.ini,注意修改存放目录和安装目录为自己的
[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=D:\\software\\mysql-8.0.11
# 设置mysql数据库的数据的存放目录
datadir=D:\\software\\mysql-8.0.11\\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
-
配置环境变量
MYSQL_HOME D:\software\mysql-8.0.11
Path %MYSQL_HOME%\bin; -
初始化
在bin中shift+右键打开命令窗口,以下操作都在bin下执行;
执行命令:mysqld --initialize --console
成功获取密码:A temporary password is generated for root@localhost:
{注意事项:
①如果报错vcruntime140.dll丢失的解决方法:
360 微软常用运行库合集 64位 完美修复;
或者百度安装 c++ 2015,并安装vcruntime140.dll
②如果报错:mysqld: [ERROR] Found option without preceding group in config file D:\software\mysql-8.0.11\my.ini at line 1!
将文件my.ini保存时勾选为ANSI
③密码切记要记住
没记住,那也没事,删掉初始化的 datadir 目录,再执行一遍初始化命令
④如果报错:mysqld: Can’t create directory ‘D: software\mysql-8.0.11\Data’ (OS errno 2 - No such file or directory)
my.ini中的datadir目录要写成双斜杠\\,代替单斜杠\;
} -
安装
执行命令:mysqld --install
Service successfully installed.
{注意事项:
如果报错:①Install/Remove of the Service Denied
②发生系统错误 5。拒绝访问。
需要使用管理员登陆cmd;
} -
服务启动
执行命令:net start mysql
MySQL 服务已经启动成功。 -
用户登录及修改密码
1)登陆
执行命令:mysql -u root -p
Enter password:
输入刚才记录下的密码;
成功登陆显示Welcome to the MySQL monitor:
2)修改密码
执行命令: ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘123’;
到此root用户就登录成功了。
{注意事项:
①mysql>下的命令都要带分号;
②配置文件my.ini中default_authentication_plugin改为了mysql_native_password;
} -
退出
下面退出用户,关闭服务使用新密码重新登陆验证下:
mysql>exit; -
关闭服务
net stop mysql -
开启服务
net start mysql -
进入mysql命令台
mysql -u root -p
输入密码即可;
{注意事项:
如果报错:mysqld: Can not perform keyring migration : Invalid --keyring-migration-source option.
问题:mysqld命令是MySQL的主程序,用来安装初始化;mysql是MySQL的命令行工具;这里因为命令敲成了mysqld -u root -p导致的;
} -
查看使用数据库
mysql>show databases;(查看所有数据库)
mysql>create database testDB;(创建新的数据库,mysql是数据库名)
mysql>use testDB;(使用数据库才能做其他操作) -
管理用户:
1)查询
mysql>select user,host,plugin,grant_priv,authentication_string from mysql.user;
user表里面存储MySQL用户信息。
2)创建
mysql>CREATE USER firstUser IDENTIFIED BY ‘123’;
mysql>CREATE USER ‘secondUser’@‘localhost’ IDENTIFIED BY ‘123’;
{注意事项:
①firstUser是用户名,123是密码,记得密码加引号’’;
②管理员root的host是localhost,代表仅限localhost登录访问。如果要允许开放其他ip登录,则需要添加新的host。如果要允许所有ip访问,可以把localhost直接修改成“%”
③如果报错:ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘123’ at line 1;
密码加引号即可;
}
3)删除
mysql>DROP USER firstUser ;
mysql>DROP USER ‘secondUser’@‘localhost’;
{注意事项:
如果使用了@'localhost’创建用户的,后面的删除、授权等都需要加上@‘localhost’;
切换使用新用户前先授权;
} -
用户权限管理
1)授权
mysql>GRANT ALL PRIVILEGES ON *.* TO ‘secondUser’@‘localhost’;
mysql>GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTER ON *.* TO firstUser;
{注意事项:
可以赋予全部权限,也可以挑选基本的增删改查;
第一个*可以填写成数据库,将该数据库赋权限给firstUser:
mysql>GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTER ON testDB.* TO firstUser;
}
2)查询权限
mysql>show grants for firstUser;
3)撤销授权
mysql>REVOKE ALL PRIVILEGES ON *.* FROM firstUser;
4)刷新权限
mysql>FLUSH PRIVILEGES; -
切换用户
1)mysql> exit;
2)D:\software\mysql-8.0.11\bin>mysql -u firstUser-p
3)输入密码即可
{注意事项:
mysql -u first -p不要写分号;
要切换的用户一定要授权过;
}
4)选择数据库:mysql>use testDB;
5)查询当前用户
mysql> select user();
6)查询当前使用数据库
mysql> select database();
7)用户firstUser新建用户授权时无权限:
{注意事项:
在创建firstUser用户时没有设置grant_priv权限,加上with grant option
mysql>CREATE USER firstUser IDENTIFIED BY ‘123’ with grant option;
}
基本命令
- DDL
- DML