MySQL笔记6-MySQL配置与管理

    科技2022-07-14  115

    用户与授权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

    Processed: 0.010, SQL: 8