您的位置:首页 > 博客中心 > 数据库 >

细聊MySQL之常用工具及基本操作(一)

时间:2022-03-14 03:22

一、对于MySQL用户来说,使用MySQL的第一步就是启动它。要启动MySQL,我们需要mysqld或mysqld_safe命令。默认情况下,直接执行mysqld或mysqld_safe即可。如

    shell> mysqld & 或

    shell> mysqld_safe &。当然不是所有事情都那么顺利,如果启动不了,请指定相关的参数。服务器运行的前提是你已经执行了mysql_install_db脚本。当然,如果就这样启动,将有很多功能启动不了。如没有binlog,当某一天你不小心把数据库弄挂了,就没有挽回的余地了。所以在启动时,要先想好我们所需要的配置选项。

    mysqld_safe的常用参数如下:

--basedir=path--core-file-size=size--datadir=path--defaults-extra-file=file_name--defaults-file=file_name--ledir=path--log-error=file_name--malloc-lib=[lib-name]--mysqld=prog_name--nice=priority--no-defaults--open-files-limit=count--pid-file=file_name--plugin-dir=path--port=number--skip-kill-mysqld--skip-syslog--socket=path--syslog--syslog-tag=tag--timezone=timezone--user={user_name|user_id}
重要:指定MYSQL的安装路径
MYSQL能创建文件的大小,此参数将会传给ulimit,一般不设置。
MYSQL存放数据的路径
在全局配置后与用户配置前读指定的配置文件,如果填写的不是完整路径而仅仅是文件名,则读相对路径下的文件。与mysql内参数一样
读配置文件的路径,与mysql内参数一样
如果mysqld_safe找不到服务器,使用此选项指定服务器位置
写错误日志到指定的文件内
使用别的库替换malloc库
设置服务器名称
设置服务器被CPU调用的优先级
不读任何配置文件
MYSQL能打开的最大文件数
指定PID文件名
指定插件安装路径
服务器监听的端口号
不杀掉失效的myslqd进程
不写错误信息到syslog
socket文件读取路径
写错误信息到syslog
写到syslog内的标记
设置时区
设置运行用户

通常,我们需要设置--basedir、--datadir、--user 这样可以显式控制数据文件的存放位置、以什么用户运行。在默认情况下,启动mysqld_safe时会读取my.cnf配置文件。我们可以在以下位置放置my.cnf如/etc下,MYSQL安装目录下等。mysqld_safe会按一定的顺序去读取,下面是一个配置文件读取顺序表:

/etc/my.cnf/etc/mysql/my.cnfSYSCONFDIR/my.cnf$MYSQL_HOME/my.cnfdefaults-extra-file~/.my.cnf
全局配置
全局配置
全局配置
服务器指定配置
指定配置文件路径
用户范围的配置

也就是/etc/my.cnf > /etc/mysql/my.cnf > SYSCONFIGDIR/my.cnf > MYSQL_HOME/my.cnf > defaults-extra-file指定的配置文件路径 > 用户目录下的my.cnf。而通过命令行添加的参数会覆盖所有配置文件中的参数。当然,如果你想要自定义配置文件的路径,可以使用--defaults-file参数。

老规矩,给个例子大家参考下:shell> /usr/local/mysql/bin/mysqld_safe --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data &

启动后最好用ps aux 看下mysqld的进程是否在进程列表中,以确认启动成功。


二、在服务器启动成功后,我们就可以进行数据库操作了。要操作数据库,首先得通过mysql的客户端连到server。在这里,我们使用mysql客户端脚本进行服务器的连接。

    shell> mysql --host=localhost --user=myname --password=mypass mydb

    或shell> mysql -h localhost -u myname -pmypass mydb

    如果用下面这种形式,-p后应紧跟密码,不要有空格,否则密码会被命令解析成数据库名噢。

    其它参数:

--auto-rehash--auto-vertical-output--binary-mode--bind-address=ip_address--character-sets-dir=path--column-names--column-type-info--comments--compress--connect_timeout=value--database=dbname--debug[=debug_options]--debug-check--debug-info--default-auth=plugin--default-character-set=charset_name--defaults-extra-file=file_name--defaults-file=file_name--defaults-group-suffix=str--delimiter=str--execute=statement--force--host=host_name--html--init-command=str--line-numbers--max_allowed_packet=value--max_join_size=value--net_buffer_length=value--no-auto-rehash--no-beep--no-defaults--password[=password]--plugin-dir=path--port=port_num--print-defaults--prompt=format_str--protocol=type--quick--raw--reconnect--show-warnings--silent--skip-auto-rehash--skip-column-names--skip-reconnect--socket=path--ssl--syslog--table--tee=file_name--unbuffered--user=user_name--verbose--version--vertical--wait--xml
启动名字自动补全功能

启动结果集垂直显示

关闭将\r\n转换为\n和以\0作为查询结尾的处理


绑定指定的网络接口进行连线

指定字符集的安装目录

在结果集中显示列名

在结果集中显示数据库及表的元信息

将注释发送给服务器

发送服务器与客户端之间的传输信息

连接超时时间限制

要使用的数据库名

写debug日志

在客户端退出时打印一些debug信息

在客户端退出时打印一些debug信息,包括cpu和内存的统计

使用验证插件

指定默认的字符集

在全局配置后与用户配置前读指定的配置文件,如果填写的不是完整路径而仅仅是文件名,则读相对路径下的文件。

只读指定的配置文件,如果填写的不是完整路径而仅仅是文件名,则读相对路径下的文件。

为配置文件名内的组加后缀

设置声明语句后的分隔符

直接执行语句

如果SQL出错,继续执行

指定连接的主机

生成html输出

在连接到服务器后,运行指定的SQL

当错误发生时记下行号

服务器与客户端通讯的最大包的长度

当使用--safe-updates时限制最大行数

TCP或socket连线的buffer大小

关闭自动补全功能

当发生错误时不发出beep报警

不使用配置文件

在建立连线时输入密码

安装指定插件

连接使用的端口号

打印配置文件信息

设置提示符格式

连线使用的协议{TCP|SOCKET|PIPE|MEMORY} SOCKET仅用于unix,PIPE和MEMORY仅用于WINDOWS,TCP通用

不缓存查询结果

不转义列值

自动重连

显示每次查询后的警告信息

产生更少的输出

禁止名字补全功能

在结果集中不写列名

禁止重新连接

本地连线,指定socket文件位置

启动SSL连接

记录交互式声明到syslog5.7.1
表格式输出

添加输出的拷贝到指定的文件内

在每次查询后刷新缓存

连线时输入的用户名

详细模式

显示版本

每列一行显示

如果不能建立连线,等待并重试

输出XML格式

    里面有几个选项是比较常用的,在这里稍微提下。通常我们需要使用--user、--host、--password来建立连接,如果你是在本地进行连线,可以使用--socket指定socket文件。默认情况下,mysql是一个交互式的shell。如果你想直接得出查询结果,可以使用--execute选项,可以参考以下命令:/usr/local/mysql/bin/mysql --user=root --host=127.0.0.1 --execute="select * from user"。


三、客户端管理工具mysqladmin的使用。mysqladmin是一个客户端管理工具,你能使用它检查服务器的配置和当前状态或者创建和删除数据库以及更多其它的操作。

    mysqladmin的命令格式如下:shell> mysqladmin [options] command [command-arg]

    也就是mysqladmin后跟前缀为--的选项,接着跟命令,然后在命令后跟命令参数。

    可选命令:

命令名

create db_name

debug

drop db_name

extended-status

flush-hosts

flush-privileges

flush-status

flush-tables

flush-threads

kill id,id,...

password new-password

ping

processlist

reload

refresh

shutdown

start-slave

status

stop-slave

variables

version

Uptime(status命令结果集中显示的)

Threads(status命令结果集中显示的)

Questions(status命令结果集中显示的)

Slow queries(status命令结果集中显示的)

Opens(status命令结果集中显示的)

Flush tables(status命令结果集中显示的)

Open tables(status命令结果集中显示的)

描述

创建数据库

写debug信息到error.log

删除数据库

显示服务器状态变量和它们的值

刷新主机缓存信息

刷新权限表

清除状态变量
刷新所有的表

刷新线程缓存

杀掉服务器线程

设置新密码

ping服务器

显示活动的服务器线程列表

重载授权表

刷新所有的表并关闭打开的日志文件

关闭服务器

在从服务器上开始主从复制

显示简短的服务器状态消息

在从服务器上停止主从复制

显示服务器系统变量和它们的值

显示服务器版本信息

status结果集中显示服务器运行时间

status结果集中显示服务器活动进程数

status结果集中显示自服务器运行开始客户端的查询数

status结果集中显示慢查询的数量

status结果集中显示服务器打开表的数量

status结果集中显示服务器执行flush、refresh和reload命令的次数

status结果集中显示当前打开表的数量


可选参数列表如下所示:

--bind-address=ip_address--compress--connect_timeout=seconds--count=#--debug[=debug_options]--debug-check--debug-info--default-auth=plugin--default-character-set=charset_name--defaults-extra-file=file_name--defaults-file=file_name--defaults-group-suffix=str--force--help--host=host_name--no-beep--no-defaults--password[=password]--plugin-dir=path--port=port_num--print-defaults--protocol=type--relative--secure-auth--show-warnings--shutdown_timeout=seconds--silent--sleep=delay--socket=path--ssl--ssl-ca=file_name--ssl-capath=dir_name--ssl-cert=file_name--ssl-cipher=cipher_list--ssl-crl=file_name--ssl-crlpath=dir_name--ssl-key=file_name--ssl-verify-server-cert--user=user_name,--verbose--version--vertical--wait
同mysql命令

同mysql命令

同mysql命令

重复执行命令的次数,需要配合--sleep参数

同mysql命令

同mysql命令

同mysql命令

同mysql命令

同mysql命令

同mysql命令

同mysql命令

同mysql命令

同mysql命令

同mysql命令

同mysql命令

同mysql命令

同mysql命令

同mysql命令

同mysql命令

同mysql命令

同mysql命令

同mysql命令

当--sleep选项启动时显示上次值与当前值的差别

同mysql命令5.7.45.7.5
同mysql命令5.7.2
等待服务器关闭的最大秒数

同mysql命令

执行重复的命令,在之间睡眠N秒

同mysql命令

同mysql命令

同mysql命令

同mysql命令

同mysql命令

同mysql命令

同mysql命令

同mysql命令

同mysql命令

同mysql命令

同mysql命令

同mysql命令

同mysql命令

同mysql命令

同mysql命令

给个参考大家:/usr/local/mysql/bin/mysqladmin --user=root --host=127.0.0.1 processlist --sleep=5 --count=3 表示显示进程列表,显示3次,间隔时间5秒。

本文出自 “” 博客,请务必保留此出处

热门排行

今日推荐

热门手游