当前位置:首页 » 数据库存储

Mysql 常用操作

2012-03-29 14:20 本站整理 浏览(3)
1.远程登录mysql
mysql -h ip -u root -p 密码
2.创建用户
格式:grant 权限 on 数据库.* to 用户名@登录主机 identified by "密码";
例1:增加一个test1用户,密码为123456,可以在任何主机上登录,并对所有数据库有查询,增加,修改和删除的功能。需要在mysql的root用户下进行
//必须操作, 语句后面必须分号结束
use mysql ;
grant select,insert,update,delete on *.* to test1@"%" identified by "123456";
//刷新权限
flush privileges;
例2:增加一个test2用户,密码为123456,只能在192.168.2.12上登录,并对数据库student有查询,增加,修改和删除的功能。需要在mysql的root用户下进行
grant select,insert,update,delete on student.* to test2@192.168.2.12 identified by "123456";
flush privileges;
例3:授权用户test3拥有数据库student的所有权限
grant all privileges on student.* to test3@localhost identified by '123456';
flush privileges;
3.修改用户密码
update mysql.user set password=password('123456') where User='test1' ;
flush privileges;
4.删除用户
delete from user where user='test2' ;
flush privileges;
5.删除数据库和删除表
drop database 数据库名;
drop table 表名;
6.删除账户及权限
drop user 用户名@'%'
drop user 用户名@localhost
1366错误
1366错误是MySQL配置问题,你只要找到my.ini文件并查找
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"这句话,将双引号前面{STRICT_TRANS_TABLES,}
删除,改成sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
重启一下mysql后即可。前者很严格,不允许向数据库插入空值
远程连接数据库
1。 改表法。
可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"
mysql -u root -pvmwaremysql>use mysql;
mysql>update user set host = '%' where user = 'root';
mysql>select host, user from user;
2. 授权法。
例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;
如果你想允许用户myuser从ip为192.168.1.6的主机连接到mysql服务器,并使用mypassword作为密码
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;