在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
本文实例讲述了MySQL 的启动选项和系统变量。分享给大家供大家参考,具体如下: 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=3306 mysqld -P3306 mysqld -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修改,不是纯文件
配置组配置文件一共可以以下这些组别:mysqld、mysqld_safe、mysql.server、mysql、mysqladmin、mysqldump,可以针对不同组别进行配置 内容格式[server] (具体的启动选项...) [mysqld] (具体的启动选项...) [mysqld_safe] (具体的启动选项...) [client] (具体的启动选项...) [mysql] (具体的启动选项...) [mysqladmin] (具体的启动选项...) 例子: [mysqld] 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_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_user_connections = 0 max_connect_errors = 65535 open_files_limit = 10240 ......
系统变量MySQL服务器程序运行过程中会用到许多影响程序行为的变量,它们被称为MySQL系统变量。
查看格式: SHOW VARIABLES [LIKE 匹配的模式]; 例如: SHOW VARIABLES LIKE 'default_storage_engine'; 设置通过启动项设置命令行设置mysqld --default-storage-engine=MyISAM --max-connections=10 配置文件设置[mysqld] default-storage-engine = MyISAM max-connections = 10 ......
服务器程序运行过程中设置系统变量比较牛逼的一点就是,对于大部分系统变量来说,它们的值可以在服务器程序运行过程中进行动态修改而无需停止并重启服务器 作用域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的作用范围
有些系统变量是只读的,并不能设置值
启动选项与系统变量的关系启动选项是在程序启动时我们程序员传递的一些参数,而系统变量是影响服务器程序运行行为的变量
状态变量为了让我们更好的了解服务器程序的运行情况,MySQL服务器程序中维护了好多关于程序运行状态的变量,它们被称为状态变量。 查看格式: SHOW [GLOBAL|SESSION] STATUS [LIKE 匹配的模式]; 例如: SHOW STATUS LIKE 'thread%'; 更多关于MySQL相关内容感兴趣的读者可查看本站专题:《MySQL查询技巧大全》、《MySQL常用函数大汇总》、《MySQL日志操作技巧大全》、《MySQL事务操作技巧汇总》、《MySQL存储过程技巧大全》及《MySQL数据库锁相关技巧汇总》 希望本文所述对大家MySQL数据库计有所帮助。 |
请发表评论