授予用户最大的权限,所有的权限
grant all privileges on *.* to root@'%' indentified by 'toor';
移除权限
revoke all privileges on . from root@"%" identified by 'toor';
数据库的备份与恢复
备份
mysqldump -u root -p --all-databases > /tmp/db.sql
数据导入,方式有2种
source /tmp/db.sql;
第二种
mysql -uroot -p < /tmp/db.sql
3.锁定数据库的库表,禁止写入
这个命令是全局读锁定,执行了命令之后所有库所有表都被锁定只读。一般都是用在数据库联机备份,这个时候数据库的写操作将被阻塞,读操作顺利进行。
解锁语句是:UNLOCK TABLES;flush table with read lock;
记录下主库的状态,记录下,日志文件的名字,和位置
show master status;
5.远程传输主库的数据,给从库,进行导入
scp /tmp/db.sql root@192.168.11.167:/tmp/
连接远程数据库:
C:/>mysql -h 192.168.5.116 -P 3306 -u root -p123456
二、配置mysql允许远程链接
一、改表法
在localhost登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,将"localhost"改称"%"
例如:
#mysql -u root -p mysql> mysql>update user set host = '%' where user = 'root'; mysql>select host, user from user;
二、授权法
例如: 你想myuser使用mypassword(密码)从任何主机连接到mysql服务器的话。
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'IDENTIFIED BY 'toor' WITH GRANT OPTION;
如果你想允许用户root从ip为192.168.1.6的主机连接到mysql服务器,并使用toor作为密码
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.3'IDENTIFIED BY 'toor' WITH GRANT OPTION;
mysql>FLUSH PRIVILEGES;
使修改生效,就可以了
常见问题: 1、在采用法二授权法之后,无法在本地登录mysql(如:#mysql -u root -p -h 192.168.5.116 Enter password: ERROR 1045 (28000): Access denied for user 'root'@'loadb116' (using password: YES) 上例中loadb116是主机名. 解决方法: 1、这时可以使用:mysql -u root -p 登录,进入到mysql后。 mysql> grant all privileges on *.* to 'root'@'loadb116' identified by '123456' with grant option; Query OK, 0 rows affected (0.00 sec) mysql> flush privileges; Query OK, 0 rows affected (0.00 sec) 2、在本地使用ip地址登录 # mysql -u root -p -h 192.168.5.116 Enter password:
|