mysql命令行操作:
#登录mysql [root@18d ~]# mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. #查看数据库 mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | sevenfal | +--------------------+ 4 rows in set (0.00 sec) #操作数据库 mysql> use sevenfal; Database changed #查看表 mysql> show tables; +-------------------------+ | Tables_in_sevenfal | +-------------------------+ | user | +-------------------------+ 1 rows in set (0.00 sec) #查看表结构 mysql> show columns from user; +------------------------+-----------------------------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +------------------------+-----------------------------------+------+-----+---------+-------+ | Host | char(60) | NO | PRI | | | | User | char(16) | NO | PRI | | | | Password | char(41) | NO | | | | +------------------------+-----------------------------------+------+-----+---------+-------+ 42 rows in set (0.00 sec) #查看值 mysql> select host,user,password from user; +-----------+----------+-------------------------------------------+ | host | user | password | +-----------+----------+-------------------------------------------+ | localhost | root | * | | 127.0.0.1 | root | * | | ::1 | root | * | | localhost | sevenfal | * | | localhost | ss | * | | 127.0.0.1 | sevenfal | * | +-----------+----------+-------------------------------------------+ 6 rows in set (0.01 sec) #修改项值(修改mysql数据库中user表的root所在行host列的值为‘%’,即允许从任意位置登录) mysql> update user set host = '%' where user = 'root' 录
mysql导出导入:
#方法一 #cmd 到mysql bin目录下用 如下命令 mysqldump --opt -h192.168.0.156 -uusername -ppassword --skip-lock-tables databasename>database.sql # 把ip改成localhost就可以的 # 如果装了navicate那就更简单了 先连接上数据库,选中数据库 再选择转储sql 就好了 #方法二 #进入cmd (注意在os cmd中 而不是在mysql中) # =================== # 1.导出数据库(sql脚本) mysqldump -u 用户名 -p 数据库名 > 导出的文件名 mysqldump -u root -p db_name > test_db.sql # 2.mysql导出数据库一个表 mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名 mysqldump -u wcnc -p test_db users> test_users.sql (结尾没有分号) #方法三 #启动mysql服务 /etc/init.d/mysql start #导出整个数据库 mysqldump dbname > c:mydb.sql -u root -p #导入数据库 source mydb.sql mysql -u用户名 -p 数据库名 < 数据库名.sql #更详细的导入数据库教程 #2.1. 导出sql脚本 #在原数据库服务器上,可以用php教程myadmin工具,或者mysqldump(mysqldump命令位于mysql/bin/目录中)命令行,导出sql脚本。 #2.1.1 用phpmyadmin工具 #导出选项中,选择导出"结构"和"数据",不要添加"drop database"和"drop table"选项。 #选中"另存为文件"选项,如果数据比较多,可以选中"gzipped"选项。 #将导出的sql文件保存下来。 #2.1.2 用mysqldump命令行 #命令格式 mysqldump -u用户名 -p 数据库名 > 数据库名.sql #范例: mysqldump -uroot -p abc > abc.sql #(导出数据库abc到abc.sql文件) #提示输入密码时,输入该数据库用户名的密码。 #2.2. 创建空的数据库 #通过主控界面/控制面板,创建一个数据库。假设数据库名为abc,数据库全权用户为abc_f。 #2.3. 将sql脚本导入执行 #同样是两种方法,一种用phpmyadmin(mysql数据库管理)工具,或者mysql命令行。 #2.3.1 用phpmyadmin工具 #从控制面板,选择创建的空数据库,点"管理",进入管理工具页面。 #在"sql"菜单中,浏览选择刚才导出的sql文件,点击"执行"以上载并执行。 #注意:phpmyadmin对上载的文件大小有限制,php本身对上载文件大小也有限制,如果原始sql文件 #比较大,可以先用gzip对它进行压缩,对于sql文件这样的文本文件,可获得1:5或更高的压缩率。 #gzip使用方法: # gzip xxxxx.sql #得到 #xxxxx.sql.gz文件。 #2.3.2 用mysql命令行 #命令格式 mysql -u用户名 -p 数据库名 < 数据库名.sql #范例: mysql -uabc_f -p abc < abc.sql #(导入数据库abc从abc.sql文件) #提示输入密码时,输入该数据库用户名的密码。法
MySQL创建用户与授权方法:
一, 创建用户:
命令:
CREATE USER 'username'@'host' IDENTIFIED BY 'password';
说明:username - 你将创建的用户名, host - 指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost, 如果想让该用户可以从任意远程主机登陆,可以使用通配符%. password - 该用户的登陆密码,密码可以为空,如果为空则该用户可以不需要密码登陆服务器.
例子:
CREATE USER 'dog'@'localhost' IDENTIFIED BY '123456'; CREATE USER 'pig'@'192.168.1.101_' IDENDIFIED BY '123456'; CREATE USER 'pig'@'%' IDENTIFIED BY '123456'; CREATE USER 'pig'@'%' IDENTIFIED BY ''; CREATE USER 'pig'@'%';
二,授权:
命令:
GRANT privileges ON databasename.tablename TO 'username'@'host'
说明: privileges - 用户的操作权限,如SELECT , INSERT , UPDATE 等(详细列表见该文最后面).如果要授予所的权限则使用ALL.;databasename - 数据库名,tablename-表名,如果要授予该用户对所有数据库和表的相应操作权限则可用*表示, 如*.*.
例子:
GRANT SELECT, INSERT ON test.user TO 'pig'@'%'; GRANT ALL ON *.* TO 'pig'@'%';
注意:用以上命令授权的用户不能给其它用户授权,如果想让该用户可以授权,用以下命令:
GRANT privileges ON databasename.tablename TO 'username'@'host' WITH GRANT OPTION;
三.设置与更改用户密码
命令:
SET PASSWORD FOR 'username'@'host' = PASSWORD('newpassword');
如果是当前登陆用户用SET PASSWORD = PASSWORD("newpassword");
例子:
SET PASSWORD FOR 'pig'@'%' = PASSWORD("123456");
四.撤销用户权限
命令:
REVOKE privilege ON databasename.tablename FROM 'username'@'host';
说明: privilege, databasename, tablename - 同授权部分.
例子:
REVOKE SELECT ON *.* FROM 'pig'@'%';
注意: 假如你在给用户'pig'@'%'授权的时候是这样的(或类似的):GRANT SELECT ON test.user TO 'pig'@'%', 则在使用REVOKE SELECT ON *.* FROM 'pig'@'%';命令并不能撤销该用户对test数据库中user表的SELECT 操作.相反,如果授权使用的是GRANT SELECT ON *.* TO 'pig'@'%';则REVOKE SELECT ON test.user FROM 'pig'@'%';命令也不能撤销该用户对test数据库中user表的Select 权限.
具体信息可以用命令SHOW GRANTS FOR 'pig'@'%'; 查看.
五.删除用户
命令:
DROP USER 'username'@'host';
参考资料:
http://www.jbxue.com/db/15478.html
http://www.111cn.net/database/mysql/33830.htm
http://www.jb51.net/article/31850.htm
其他常用命令
# 查询所有表包含的条目数量 select table_name,table_rows from information_schema.tables where TABLE_SCHEMA = '数据库名称' order by table_rows desc;
文章评论(0)