mysql的数据库常用操作(添加用户)
1.Mysql添加用户
格式:grant select on 数据库.* to “用户名”@“登录主机” identified by “密码”;
例1、增加一个用户test1密码为abc,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入MYSQL,然后键入以下命令:
grant select,insert,update,delete on *.* to “test1”@”%” Identified by “abc”;
修改用户密码:
mysqladmin -u root -p password 123456
mysqladmin -u root -p123456 password root
MySQL的用户名有两部分组成: 用户名@机器名用户名:一般用字母组成。机器名:可以是机器IP也可以机器名。机器名可以用dns也可以在/etc/hosts中声明。所以可以新建多个root用户,但是可以有各自的登录密码
修改用户密码
mysql> UPDATE user SET Password=PASSWORD(’newpassword’) where USER=’root’; mysql> FLUSH PRIVILEGES;
补充所有权限语句:
由例1得: 将执行权限(select,insert,….)改为all privileges,即表示拥有所有权限,包括创建数据库权限,删除数据库,已经不局限于在一个数据库内操作
GRANT ALL PRIVILEGES ON *.* TO \’root\’@\’%\’ IDENTIFIED BY \’123456\’;
例2、 增加一个用户test2密码为abc,让他只可以在localhost上登录,并可以对数据库mydb进行查询、插入、修改、删除的操作 (localhost指本地主机,即MYSQL数据库所在的那台主机),这样用户即使用知道test2的密码,他也无法从internet上直接访问数据 库,只能通过MYSQL主机上的web页来访问了。
grant select,insert,update,delete on mydb.* to “test2”@localhost identified by “abc”;
2.mysql查询所有用户
mysql中所有用户的信息都存放在mysql.user表中。
select user from mysql.user;
3.mysql服务的启动和停止
net stop mysql
net start mysql
service mysqld restart(重启)
4.登录mysql
语法: mysql -u 用户名 -p 用户密码 -h 主机ip
5.显示表结构
describe 表名;
6.导出数据
mysqldump -u root -p 数据库名 -h IP地址 >f:/a.sql
7.导入数据
mysql 库名 < 文件名
8.指定数据库的字符集(避免出现乱码)
create database wikidb1 character set utf8;
数据存储的都是二进制,存取都需要指定字符集。
create database `TARGET_DB` default character set utf8 collate utf8_general_ci
9.查看database编码:show create database abctest;
修改database编码:alter database abctestcharacter set utf-8;
10.客户端不能正确显示数据时,考虑是不是字符编码出了问题
打开my.cnf
[client]
default-character-set=utf8 #设置为utf-8
任何一步涉及编码的操作都指定编码格式,导入导出要保持一致。
几个常用用例:
mysqldump -u 用户名 -p 数据库名 > 导出的文件名
mysqldump -u wcnc -p smgp_apps_wcnc > wcnc.sql
2.导出一个表
mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名
mysqldump -u wcnc -p smgp_apps_wcnc users> wcnc_users.sql
3.导出一个数据库结构
mysqldump -u wcnc -p -d –add-drop-table smgp_apps_wcnc >d:\wcnc_db.sql
常用source 命令
进入mysql数据库控制台,
如mysql -u root -p
mysql>use 数据库
mysql>source d:\wcnc_db.sql