mysql启动命令 启动数据库命令mysql

MySQL的配置信息可以通过两种方式实现,一种是命令行形式,在MySQL服务启动时在后面取相关的配置参数,在MySQL重启后会失效。另一种是通过写配置文件,比如my.cnf,启动或重启MySQL服

本文最后更新时间:  2023-03-09 20:25:07

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 // 端口--user => -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.cnf //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.server、mysqladmin、mysqldump,可以针对不同的组进行配置。

内容格式[服务器](具体启动选项...)[ Mysd](具体启动选项...)【Mysd _ safe】(具体启动选项...)[客户端](具体启动选项...)【Mysql】(具体启动选项...)[管理员](特定启动选项...)示例:[mysqladmin]

PID-file =/var/run/mysqld/mysqld . PID socket =/var/run/mysqld/mysqld . sock datadir =/var/lib/MySQL log-error =/var/log/MySQL/error . log #优化wait _ time out = 10 back _ log = 600 key _ buffer _ size = 2048m read _ buffer _ size = 100 max _ allowed _ packet = 1000m thread _ stack = 192 kthread _ cache _ size = 4 myisam-recover-options…

注意1. [server]组下边的启动选项将作用于所有的服务器程序,如mysqld、mysqld_safe、mysql.server2. [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查看或set设置时)

服务器程序运行期间的设置

系统变量的优点是,对于大多数系统变量,它们的值可以在服务器程序运行期间动态修改,而无需停止和重新启动服务器。

但是,系统变量有全局和当前会话范围。

行动范围

GLOBAL:全局变量,影响服务器的整体操作。SESSION:会话变量,影响某个客户端连接的操作。(别名叫LOCAL)格式:1. SET [GLOBAL|SESSION] 系统变量名 = 值;2. SET [@@(GLOBAL|SESSION).]var_name = XXX;global例如:1. SET GLOBAL default_storage_engine = InnoDB;2. SET @@GLOBAL.default_storage_engine = InnoDB;session例如:1. SET SESSION default_storage_engine = InnoDB;2. SET @@SESSION.default_storage_engine = InnoDB;3. SET default_storage_engine = InnoDB;//默认 session查看格式:SHOW [GLOBAL|SESSION] VARIABLES [LIKE 匹配的模式];1. SHOW SESSION VARIABLES LIKE 'default_storage_engine';2. SHOW GLOBAL VARIABLES LIKE 'default_storage_engine';

注意:如果客户端在全局范围内更改系统变量的值,它不会影响当前连接的会话范围内的客户端的系统变量的值,而只会影响后续连接的会话范围内的客户端的值。

补充说明并不是所有系统变量都具有GLOBAL和SESSION的作用范围* 有一些系统变量只具有GLOBAL作用范围,比方说max_connections,表示服务器程序支持同时最多有多少个客户端程序进行连接* 有一些系统变量只具有SESSION作用范围,比如insert_id,表示在对某个包含AUTO_INCREMENT列的表进行插入时,该列初始的值* 有一些系统变量的值既具有GLOBAL作用范围,也具有SESSION作用范围,比如我们前边用到的default_storage_engine,而且其实大部分的系统变量都是这样的有些系统变量是只读的,并不能设置值比方说version,表示当前MySQL的版本,我们客户端是不能设置它的值的,只能在SHOW VARIABLES语句里查看。启动选项与系统变量的关系

启动选项是我们程序员在程序启动时传递的一些参数,而系统变量是影响服务器程序运行行为的变量。

* 大部分的系统变量都可以被当作启动选项传入* 有些系统变量是在程序运行过程中自动生成的,是不可以当作启动选项来设置,比如auto_increment_offset、character_set_client啥的* 有些启动选项也不是系统变量,比如defaults-file

态变数

为了让我们更好的了解服务器程序的运行情况,MySQL服务器程序维护了很多关于程序运行状态的变量,我们称之为状态变量。

例如,Threads_connected表示当前有多少客户端连接到服务器,Handler_update表示更新了多少行记录。

因为状态变量是用来显示服务器程序的运行状态的,所以它们的值只能由服务器程序自己设置,我们程序员不能。

考试

格式:SHOW [GLOBAL|SESSION] STATUS [LIKE 匹配的模式];例如:SHOW STATUS LIKE 'thread%';

温馨提示:内容均由网友自行发布提供,仅用于学习交流,如有版权问题,请联系我们。