mysql的配置信息可以通过两种方式实现,一种是命令行形式,在启动mysql服务时后边带上相关配置参数,此种方式会在mysql重启后失效。另外一种是通过写入配置文件,如my.cnf,启动或者重启mysql服务都会生效,此种方式是永久生效。
在mysql服务命令启动时,带上配置参数
命令格式:启动命令 --启动选项1[=值1] --启动选项2[=值2] ... --启动选项n[=值n]
例如:mysqld --default-storage-engine=myisam //设置默认存储引擎
错误例子:mysqld --default-storage-engine = myisam //设置默认存储引擎原因:因为启动项和值之间的等号不能有空格
配置参数有长形式和短形式之分,有些作用是一样的,只是写法不同而已
--host => -h //主机--port => -p // 端口--ur => -u //用户--password => -p //密码--version => -v //版本......
例子:mysqld --port=3306mysqld -p3306mysqld -p 3306
注意:密码不能有空格mysqld -proot
配置文件my.cnf的位置,有可能是以下的几种,如mysql服务启动时未指定配置文件时,会从以下地方查找读取并初始化。
* /etc/my.cnf * /etc/mysql/my.cnf* defaults-extra-file //指定的额外配置文件路径* sysconfdir/my.cn留在我心底的风景f //cmake编译安装情况* $mysql_home/my.cnf //设置环境变量,默认安装路径* ~/.my.cnf //用户特定选项,家目录* ~/.mylogin.cnf //用户特定的登录路径选项(仅限客户端),mysql_config_editor修改,不是纯文件
注意1. 在配置文件中指定的启动选项不允许加--前缀,并且每行只指定一个选项,而且=周围可以有空白字符2. 如果我们在多个配置文件中设置了相同的启动选项,那以最后一个配置文件中的为准3. 如果同一个启动选项既出现在命令行中,又出现在配置文件中,那么以命令行中的启动选项为准4. mysqld --defaults-file=/tmp/myconfig.txt //在程序启动的时候将只在/tmp/myconfig.txt路径下搜索配置文件。如果文件不存在或无法访问,则会发生错误
配置文件一共可以以下这些组别:mysqld、mysqld_safe、mysql.rver、mysql、mysqladmin、mysqldump,可以针对不同组别进行配置
[rver](具体的启动选项...)[mysqld](具体的启动选项...)[mysqld_safe](具体的启动选项...)[client](具体的启动选项...)[mysql](具体的启动选项...)[mysqladmin](具体的启动选项...)
例子:
[mysqld]
pid-file = /var/run/mys肖申克的救赎影评qld/mysqld.pid socket = /var/run/mysqld/mysqld.sock datadir = /var/lib/mysql log-error = /var/log/mysql/error.log # 优化配置 wait_timeout=10 back_log=600 key_buffer_size = 2048m read_buffer_size = 100m max_allowed_packet = 1000m thread_stack = 192k thread_cache_size = 4 myisam-recover-options = backup max_connections = 4000 max_ur_connections = 0 max_connect_errors = 65535 open_files_limit = 10240 ……
注意1. [rver]组下边的启动选项将作用于所有的服务器程序,如mysqld、mysqld_safe、mys诸葛亮的人物特点ql.rver2. [client]组下边的启动选项将作用于所有的客户端程序,如mysql、mysqladmin、mysqldump3. 同一个配置文件中多个组的优先级,将以最后一个出现的组中的启动选项为准
mysql服务器程序运行过程中会用到许多影响程序行为的变量,它们被称为mysql系统变量。
例如:1. 允许同时连入的客户端数量用系统变量max_connections表示2. 表的默认存储引擎用系统变量default_storage_engine表示3. 查询缓存的大小用系统变量query_cache_size表示......
格式:show variables [like 匹配的模式];
例如:show variables like 'default_storage_engine';
mysqld --default-storage-engine=myisam --max-connections=10
[mysqld]default-storage-engine = myisammax-connections = 10......
注意:对于启动选项来说,如果启动选项名由多个单词组成,各个单词之间用短划线-或者下划线_连接起来都可以,但是它对应的系统变量的单词之间必须使用下划线_连接起来(即通过show查看或t设置时)
系统变量比较牛逼的一点就是,对于大部分系统变量来说,它们的值可以在服务器程序运行过程中进行动态修改而无需停止并重启服务器
不过系统变量有全局和当前会话作用域之分
global:全局利比亚事件变量,影响服务器的整体操作。ssion:会话变量,影响某个客户端连接的操作。(别名叫local)
格式:1. t [global|ssion] 系统变量名 = 值;2. t [@@(global|ssion).]var_name = xxx;
例如:1. t global default_storage_engine = innodb;2. t @@global.default_storage_engine = innodb;
例如:1. t ssion default_storage_engine = innodb;2. t @@ssion.default_storage_engine = innodb;3. t default_storage_engine = innodb;//默认 ssion
格式:show [global|ssion] variables [like 匹配的模式];1. show ssion variables like 'default_storage_engine';2. show global variables like 'default_storage_engine';
注意:如果某个客户端改变了某个系统变量在global作用范围的值,并不会影响该系统变量在当前已经连接的客户端作用范围为ssion的值,只会影响后续连入的客户端在作用范围为ssion的值。
* 有一些系统变量只具有global作用范围,比方说max_connections,表示服务器程序支持同时最多有多少个客户端程序进行连接* 有一些系统变量只具有ssion作用范围,比如inrt_id,表示在对某个包含auto_increment列的表进行插入时,该列初始的值* 有一些系统变量的值既具有global作用范围,也具有ssion作用范围,比如我们前边用到的default_storage_engine,而且其实大部分的系统变量都是这样的
比方说version,表示当前mysql的版本,我们客户端是不能设置它的值的,只能在show variables语句里查看。
启动选项是在程序启动时我们程序员传递的一些参数,而系统变量是影响服务器程序运行行为的变量
* 大部分的系统变量都可以被当作启动选项传入* 有些系统变量是在程序运行过程中自动生成的,是不可以当作启动选项来设置,比如auto_increment_offt、character_t_client啥的* 有些启动选项也不是系统变量,比如defaults-file
为了让我们更好的了解服务器程序的运行情况,mysql服务器程序中维护了好多关于程序运行状态的变量,它们被称为状态变量。
比方说threads_connected表示当前有多少客户端与服务器建立了连接,handler_update表示已经更新了多少行记录
由于状态变量是用来显示服务器程序运行状况的,所以它们的值只能由服务器程序自己来设置,我们程序员是不能设置的
格式:show [global|ssion] status [like 匹配的模式];例如:show status like 'thread%';
本文发布于:2023-04-04 06:48:52,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/b1323af6211a8a3578ee22c9b4fdd95b.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:mysql启动命令(启动数据库命令mysql).doc
本文 PDF 下载地址:mysql启动命令(启动数据库命令mysql).pdf
留言与评论(共有 0 条评论) |