‘壹’ 在linux系统中,mysql 中的命令 -o 怎么用
MYSQL命令行参数的详细说明:Usage:mysql [OPTIONS] [database]
-?, --help #显示帮助信息并退出
-I, --help #显示帮助信息并退出
--auto-rehash #自动补全功能,就像linux里面,按Tab键出提示差不多
-A, --no-auto-rehash #默认状态是没有自动补全功能的。-A就是不要自动补全功能
-B, --batch #mysql不使用历史文件,禁用交互
--character-sets-dir=name #字体集的安装目录
--default-character-set=name #设置数据库的默认字符集
--column-type-info #结果集返回时,同时显示字段的类型等相关信息
-c, --comments #Preserve comments. Send comments to the server. The
default is --skip-comments (discard comments), enable
with –comments
-C, --compress #在客户端和服务器端传递信息时使用压缩
-#, --debug[=#] #bug调用功能
-D, --database=name #使用哪个数据库
--default-character-set=name #设置默认的字符集
--delimiter=name #设置默认命令结束符
-e, --execute=name #执行mysql的sql语句
-E, --vertical #垂直打印查询输出
-f, --force #如果有错误跳过去,继续执行下面的
-G, --named-commands #Enable named commands. Named commands mean thisprogram's
internal commands; see mysql> help . When enabled, the named commandscan be used from any line of the query, otherwise only from the first line,before an enter.
Disable with --disable-named-commands. This option is disabled by default.
-g, --no-named-commands
Named commands are disabled. Use * form only, or use named commands onlyin the beginning of a line ending with a semicolon (;) Since version 10.9 theclient now starts with this option ENABLED by default! Disable with '-G'. Longformat commands still work from the first line. WARNING: option deprecated;
use --disable-named-commands instead.
-i, --ignore-spaces #忽视函数名后面的空格.
--local-infile #启动/禁用LOAD DATA LOCAL INFILE.
-b, --no-beep #sql错误时,禁止嘟的一声
-h, --host=name #设置连接的服务器名或者Ip
-H, --html #以html的方式输出
-X, --xml #以xml的方式输出
--line-numbers #显示错误的行号
-L, --skip-line-numbers #忽略错误的行号
-n, --unbuffered #每执行一次sql后,刷新缓存
--column-names #查寻时显示列信息,默认是加上的
-N, --skip-column-names #不显示列信息
-O, --set-variable=name #设置变量用法是--set-variable=var_name=var_value
--sigint-ignore #忽视SIGINT符号(登录退出时Control-C的结果)
-o, --one-database #忽视除了为命令行中命名的默认数据库的语句。可以帮跳过日志中的其它数据库的更新。
--pager[=name] #使用分页器来显示查询输出,这个要在linux可以用more,less等。
--no-pager #不使用分页器来显示查询输出。
-p, --password[=name] #输入密码
-W, --pipe #Use named pipes to connect to server.
-P, --port=# #设置端口
--prompt=name #设置mysql提示符
--protocol=name #设置使用的协议
-q, --quick #不缓存查询的结果,顺序打印每一行。如果输出被挂起,服务器会慢下来,mysql不使用历史文件。
-r, --raw #写列的值而不转义转换。通常结合--batch选项使用。
--reconnect #如果与服务器之间的连接断开,自动尝试重新连接。禁止重新连接,使用--disable-reconnect。
-s, --silent #一行一行输出,中间有tab分隔
-S, --socket=name #连接服务器的sockey文件
--ssl #激活ssl连接,不激活--skip-ssl
--ssl-ca=name #CA file in PEM format (check OpenSSL docs, implies--ssl).
--ssl-capath=name #CA directory (check OpenSSL docs, implies --ssl).
--ssl-cert=name #X509 cert in PEM format (implies --ssl).
--ssl-cipher=name #SSL cipher to use (implies --ssl).
--ssl-key=name #X509 key in PEM format (implies --ssl).
--ssl-verify-server-cert #连接时审核服务器的证书
-t, --table #以表格的形式输出
--tee=name #将输出拷贝添加到给定的文件中,禁时用--disable-tee
--no-tee #根--disable-tee功能一样
-u, --user=name #用户名
-U, --safe-updates #Only allow UPDATE and DELETE that uses keys.
-U, --i-am-a-mmy #Synonym for option --safe-updates, -U.
-v, --verbose #输出mysql执行的语句
-V, --version #版本信息
-w, --wait #服务器down后,等待到重起的时间
--connect_timeout=# #连接前要等待的时间
--max_allowed_packet=# #服务器接收/发送包的最大长度
--net_buffer_length=# #TCP/IP和套接字通信缓冲区大小。
--select_limit=# #使用--safe-updates时SELECT语句的自动限制
--max_join_size=# #使用--safe-updates时联接中的行的自动限制
--secure-auth #拒绝用(pre-4.1.1)的方式连接到数据库
--server-arg=name #.
--show-warnings #显示警告
‘贰’ 如何动态修改Mysql的配置参数
登入mysql:
mysql -h localhost -u root -p
然后会让输入密码
查看当前配置参数(wait_timeout为例):
show session variables like '%wait_timeout%'; (或去掉session也一样)这是当前会话配置参数
现在我们来改这个值:
set wait_timeout=90;
然后我们一起再查看下当前配置参数:
show variables like '%wait_timeout%';
这是修改当前会话配置,当退出再新起一个会话时就会恢复原样。
想在所有会话都有效可以设置全局配置,参数把session改为global就可以了
set global wait_timeout=90;后再查看
show global variables like '%wait_timeout%';
再退出后重新进入看看,值还是在。
‘叁’ 如何使用mysql命令行
net stop mysql
net start mysql
语法如下: mysql -u用户名 -p用户密码
键入命令mysql -uroot -p, 回车后提示你输入密码,输入12345,然后回车即可进入到mysql中了,mysql的提示符是:
mysql>
注意,如果是连接到另外的机器上,则需要加入一个参数-h机器IP
格式:grant 权限 on 数据库.* to 用户名@登录主机 identified by "密码"
如,增加一个用户user1密码为password1,让其可以在本机上登录,
并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入mysql,然后键入以下命令:
grant select,insert,update,delete on *.* to user1@localhost Identified by
"password1";
如果希望该用户能够在任何机器上登陆mysql,则将localhost改为"%"。
如果你不想user1有密码,可以再打一个命令将密码去掉。
grant select,insert,update,delete on mydb.* to user1@localhost identified by
"";
登录到mysql中,然后在mysql的提示符下运行下列命令,每个命令以分号结束。
1、 显示数据库列表。
show databases;
缺省有两个数据库:mysql和test。 mysql库存放着mysql的系统和用户权限信息,我们改密码和新增用户,实际上就是对这个库进行操作。
2、 显示库中的数据表:
use mysql;
show tables;
3、 显示数据表的结构:
describe 表名;
4、 建库与删库:
create database 库名;
drop database 库名;
5、 建表:
use 库名;
create table 表名(字段列表);
drop table 表名;
6、 清空表中记录:
delete from 表名;
7、 显示表中的记录:
select * from 表名;
1. 导出数据:
mysqlmp --opt test > mysql.test
即将数据库test数据库导出到mysql.test文件,后者是一个文本文件
如:mysqlmp -u root -p123456 --databases dbname > mysql.dbname
就是把数据库dbname导出到文件mysql.dbname中。
2. 导入数据:
mysqlimport -u root -p123456 < mysql.dbname。
不用解释了吧。
3. 将文本数据导入数据库:
文本数据的字段数据之间用tab键隔开。
use test;
load data local infile "文件名" into table 表名;
1:使用SHOW语句找出在服务器上当前存在什么数据库:
mysql> SHOW DATABASES;
2:2、创建一个数据库MYSQLDATA
mysql> CREATE DATABASE MYSQLDATA;
3:选择你所创建的数据库
mysql> USE MYSQLDATA; (按回车键出现Database changed 时说明操作成功!)
4:查看现在的数据库中存在什么表
mysql> SHOW TABLES;
5:创建一个数据库表
mysql> CREATE TABLE MYTABLE (name VARCHAR(20), sex CHAR(1));
6:显示表的结构:
mysql> DESCRIBE MYTABLE;
7:往表中加入记录
mysql> insert into MYTABLE values ("hyq","M");
8:用文本方式将数据装入数据库表中(例如D:/mysql.txt)
mysql> LOAD DATA LOCAL INFILE "D:/mysql.txt" INTO TABLE MYTABLE;
9:导入.sql文件命令(例如D:/mysql.sql)
mysql>use database;
mysql>source d:/mysql.sql;
10:删除表
mysql>drop TABLE MYTABLE;
11:清空表
mysql>delete from MYTABLE;
12:更新表中数据
mysql>update MYTABLE set sex="f" where name='hyq';