设为首页 收藏本站
查看: 686|回复: 0

[经验分享] MySQL之常用工具及基本操作(一)

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2014-12-5 08:59:04 | 显示全部楼层 |阅读模式
一、对于MySQL用户来说,使用MySQL的第一步就是启动它。要启动MySQL,我们需要mysqld或mysqld_safe命令。默认情况下,直接执行mysqld或mysqld_safe即可。如
    shell> mysqld & 或
    shell> mysqld_safe &。当然不是所有事情都那么顺利,如果启动不了,请指定相关的参数。服务器运行的前提是你已经执行了mysql_install_db脚本。当然,如果就这样启动,将有很多功能启动不了。如没有binlog,当某一天你不小心把数据库弄挂了,就没有挽回的余地了。所以在启动时,要先想好我们所需要的配置选项。
    mysqld_safe的常用参数如下:

参数描述
--basedir=path重要:指定MYSQL的安装路径
--core-file-size=sizeMYSQL能创建文件的大小,此参数将会传给ulimit,一般不设置。
--datadir=pathMYSQL存放数据的路径
--defaults-extra-file=file_name在全局配置后与用户配置前读指定的配置文件,如果填写的不是完整路径而仅仅是文件名,则读相对路径下的文件。与mysql内参数一样
--defaults-file=file_name读配置文件的路径,与mysql内参数一样
--ledir=path如果mysqld_safe找不到服务器,使用此选项指定服务器位置
--log-error=file_name写错误日志到指定的文件内
--malloc-lib=[lib-name]使用别的库替换malloc库
--mysqld=prog_name设置服务器名称
--nice=priority设置服务器被CPU调用的优先级
--no-defaults不读任何配置文件
--open-files-limit=countMYSQL能打开的最大文件数
--pid-file=file_name指定PID文件名
--plugin-dir=path指定插件安装路径
--port=number服务器监听的端口号
--skip-kill-mysqld不杀掉失效的myslqd进程
--skip-syslog不写错误信息到syslog
--socket=pathsocket文件读取路径
--syslog写错误信息到syslog
--syslog-tag=tag写到syslog内的标记
--timezone=timezone设置时区
--user={user_name|user_id}设置运行用户通常,我们需要设置--basedir--datadir--user 这样可以显式控制数据文件的存放位置、以什么用户运行。在默认情况下,启动mysqld_safe时会读取my.cnf配置文件。我们可以在以下位置放置my.cnf如/etc下,MYSQL安装目录下等。mysqld_safe会按一定的顺序去读取,下面是一个配置文件读取顺序表:

文件名作用域
/etc/my.cnf全局配置
/etc/mysql/my.cnf全局配置
SYSCONFDIR/my.cnf全局配置
$MYSQL_HOME/my.cnf服务器指定配置
defaults-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关闭将\r\n转换为\n和以\0作为查询结尾的处理



--bind-address=ip_address绑定指定的网络接口进行连线


--character-sets-dir=path指定字符集的安装目录


--column-names在结果集中显示列名


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


--comments将注释发送给服务器


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


--connect_timeout=value连接超时时间限制


--database=dbname要使用的数据库名


--debug[=debug_options]写debug日志


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


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


--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如果SQL出错,继续执行


--host=host_name指定连接的主机


--html生成html输出


--init-command=str在连接到服务器后,运行指定的SQL


--line-numbers当错误发生时记下行号


--max_allowed_packet=value服务器与客户端通讯的最大包的长度


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


--net_buffer_length=valueTCP或socket连线的buffer大小


--no-auto-rehash关闭自动补全功能


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


--no-defaults不使用配置文件


--password[=password]在建立连线时输入密码


--plugin-dir=path安装指定插件


--port=port_num连接使用的端口号


--print-defaults打印配置文件信息


--prompt=format_str设置提示符格式


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


--quick不缓存查询结果


--raw不转义列值


--reconnect自动重连


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


--silent产生更少的输出


--skip-auto-rehash禁止名字补全功能


--skip-column-names在结果集中不写列名


--skip-reconnect禁止重新连接


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


--ssl启动SSL连接


--syslog记录交互式声明到syslog5.7.1

--table表格式输出


--tee=file_name添加输出的拷贝到指定的文件内


--unbuffered在每次查询后刷新缓存


--user=user_name连线时输入的用户名


--verbose详细模式


--version显示版本


--vertical每列一行显示


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


--xml输出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
写debug信息到error.log
drop db_name
删除数据库
extended-status
显示服务器状态变量和它们的值
flush-hosts
刷新主机缓存信息
flush-privileges
刷新权限表
flush-status
清除状态变量
flush-tables
刷新所有的表
flush-threads
刷新线程缓存
kill id,id,...
杀掉服务器线程
password new-password
设置新密码
ping
ping服务器
processlist
显示活动的服务器线程列表
reload
重载授权表
refresh
刷新所有的表并关闭打开的日志文件
shutdown
关闭服务器
start-slave
在从服务器上开始主从复制
status
显示简短的服务器状态消息
stop-slave
在从服务器上停止主从复制
variables
显示服务器系统变量和它们的值
version
显示服务器版本信息
Uptime(status命令结果集中显示的)
status结果集中显示服务器运行时间
Threads(status命令结果集中显示的)
status结果集中显示服务器活动进程数
Questions(status命令结果集中显示的)
status结果集中显示自服务器运行开始客户端的查询数
Slow queries(status命令结果集中显示的)
status结果集中显示慢查询的数量
Opens(status命令结果集中显示的)
status结果集中显示服务器打开表的数量
Flush tables(status命令结果集中显示的)
status结果集中显示服务器执行flush、refresh和reload命令的次数
Open tables(status命令结果集中显示的)
status结果集中显示当前打开表的数量

可选参数列表如下所示:
参数描述适用弃用
--bind-address=ip_address同mysql命令


--compress同mysql命令


--connect_timeout=seconds同mysql命令


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


--debug[=debug_options]同mysql命令


--debug-check同mysql命令


--debug-info同mysql命令


--default-auth=plugin同mysql命令


--default-character-set=charset_name同mysql命令


--defaults-extra-file=file_name同mysql命令


--defaults-file=file_name同mysql命令


--defaults-group-suffix=str同mysql命令


--force同mysql命令


--help同mysql命令


--host=host_name同mysql命令


--no-beep同mysql命令


--no-defaults同mysql命令


--password[=password]同mysql命令


--plugin-dir=path同mysql命令


--port=port_num同mysql命令


--print-defaults同mysql命令


--protocol=type同mysql命令


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


--secure-auth同mysql命令5.7.45.7.5
--show-warnings同mysql命令5.7.2

--shutdown_timeout=seconds等待服务器关闭的最大秒数


--silent同mysql命令


--sleep=delay执行重复的命令,在之间睡眠N秒


--socket=path同mysql命令


--ssl同mysql命令


--ssl-ca=file_name同mysql命令


--ssl-capath=dir_name同mysql命令


--ssl-cert=file_name同mysql命令


--ssl-cipher=cipher_list同mysql命令


--ssl-crl=file_name同mysql命令


--ssl-crlpath=dir_name同mysql命令


--ssl-key=file_name同mysql命令


--ssl-verify-server-cert同mysql命令


--user=user_name,同mysql命令


--verbose同mysql命令


--version同mysql命令


--vertical同mysql命令


--wait同mysql命令

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


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-36218-1-1.html 上篇帖子: 细聊MySQL之基本安装与启动 下篇帖子: MySQL之常用工具及基本操作(二) 常用工具
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表