用户与授权GRANT 用户与密码 默认的,MySQL自带root用户,而且密码为空
系统表mysql.user 在系统自带的表mysql.user里,记录了用户名和密码的信息 mysql.user内的元素: Host:允许从哪台主机登录(客户端IP限制) User:用户名 Password:密码 权限:select,insert,creat,… 注:这个表是用了联合主键Host+User
设置用户授权GRANT GRANT命令用法:
设置密码
GRANT /*all privilege表示授予所有权限,其实可以把各项权限单列出来*/ ALL PRIVILEGES /*on指定该用户可以访问的数据库、表*/ ON 库名.表名 /*to指定用户名和客户端IP范围*/ TO '用户名'@'IP地址' /*identified by指定密码*/ IDENTIFIED BY '密码' /*后面还可以分别制定增删改查权限*/ WITH GRANT OPTION;示例:
//给localhost增加一个值为‘12345’的密码 GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY '12345' WITH GRANT OPTION;修改密码 示例:
UPDATE mysql.user SET`password`=PASSWORD('12345') WHERE `HOST`='127.0.0.1'AND `USER`=`root`其中,PSEEWORD是一个MySQL的函数,用于把字符串加密成密码字符串
允许root远程访问 即允许客户端从任意IP来访问服务器
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION; FLUSH PRIVILEGES;其中,‘root’@’%'是设置这两个字段:
Host='%' User='root'其实也设置为一个子网范围,如’root’@'192.168.8.%'则允许root从IP地址为192.168.8.%的子网来访问
注意: 1、数据库应该设置一个密码 2、用户指的是访问数据库的用户,并非业务系统里的用户 3、MySQL一般不开放远程访问,一般限制为内网访问,否则可能遭受互联网攻击 4、一般开放’root’@'机户内网网段’就足够了
允许远程访问 远程访问:指从另一台电脑登陆访问MySQL服务器 服务器配置 1、在MySQL里,允许’root’@’%'访问 2、关闭防火墙
服务器配置 修改my.ini里的配置项,重启MySQL生效 MySQL文件里的数据和程序是分开的,程序在bin目录下,数据在data目录下
备份与还原 数据库备份可以防止数据意外丢失,需要做到: 1、定期导出数据 2、出现意外灾害时,重建服务器,并导入数据
方法一、自动操作: 右键需要备份的数据库 -> 点击备份/导出 -> 点击备份数据库,转储到SQL -> 导出 SQL转储有结构唯一、仅有数据、结构和数据三个选项,一般情况下选择结构和数据 然后到数据库data目录,可以看到被导出的sql脚本文件
方法二、使用MySQL自带工具 mysqldump.exe(用于备份) Mysql.exe(用于还原) 1、打开cmd 2、切换到mysql的bin目录 3、打开mysqldump.exe导出数据库,输入如下: mysqldump.exe -hlocalhost -pa1b2c3 --databases school >d:\backup.sql 其中:主机localhost,用户名root,密码a1b2c3,数据库school,导出到d:\backup.sql 打开导出目录里的backup.sql就是该数据库的导出文件 4、导入SQL mysql.exe -hlocalhost -uroot -pa1b2c3 <d:\backup.sql