MySQL基本文件结构
Data目录为初始化的数据文件存放路径
Data目录里为每一个数据库创建了一个文件夹
Ibdata1和ib_logfile0/1为三个专为innodb存放数据和日志的共享文件
[root@localhost mysql_data]# ll -h total 165M -rw-r-----. 1 mysql mysql 56 Jun 27 03:12 auto.cnf -rw-r-----. 1 mysql mysql 2.4K Jun 27 05:05 binlog.000001 -rw-r-----. 1 mysql mysql 16 Jun 27 03:18 binlog.index -rw-------. 1 mysql mysql 1.7K Jun 27 03:12 ca-key.pem -rw-r--r--. 1 mysql mysql 1.1K Jun 27 03:12 ca.pem -rw-r--r--. 1 mysql mysql 1.1K Jun 27 03:12 client-cert.pem -rw-------. 1 mysql mysql 1.7K Jun 27 03:12 client-key.pem -rw-r-----. 1 mysql mysql 5.7K Jun 27 03:12 ib_buffer_pool -rw-r-----. 1 mysql mysql 12M Jun 27 05:05 ibdata1 -rw-r-----. 1 mysql mysql 48M Jun 27 05:05 ib_logfile0 -rw-r-----. 1 mysql mysql 48M Jun 27 03:12 ib_logfile1 -rw-r-----. 1 mysql mysql 12M Jun 27 03:18 ibtmp1 drwxr-x---. 2 mysql mysql 187 Jun 27 03:18 #innodb_temp -rw-r-----. 1 mysql mysql 710 Jun 27 03:58 localhost.localdomain.err -rw-r-----. 1 mysql mysql 6 Jun 27 03:18 localhost.localdomain.pid drwxr-x---. 2 mysql mysql 143 Jun 27 03:12 mysql -rw-r-----. 1 mysql mysql 24M Jun 27 05:05 mysql.ibd drwxr-x---. 2 mysql mysql 4.0K Jun 27 03:12 performance_schema -rw-------. 1 mysql mysql 1.7K Jun 27 03:12 private_key.pem -rw-r--r--. 1 mysql mysql 452 Jun 27 03:12 public_key.pem -rw-r--r--. 1 mysql mysql 1.1K Jun 27 03:12 server-cert.pem -rw-------. 1 mysql mysql 1.7K Jun 27 03:12 server-key.pem drwxr-x---. 2 mysql mysql 28 Jun 27 03:12 sys -rw-r-----. 1 mysql mysql 10M Jun 27 05:04 undo_001 -rw-r-----. 1 mysql mysql 10M Jun 27 05:05 undo_002
MySQL启动相关参数
• basedir = /usr/local/mysql
• 代表MySQL安装路径
• datadir = /usr/local/mysql/data
• 代表MySQL的数据文件路径
• port = 3306
• 指定MySQL的侦听端口
• log-error=/usr/local/mysql/data/M00006.err
• 记录MySQL启动日志和运行错误日志
• bind-address(默认是*)
• *代表接受所有来自IPV4、IPV6主机网卡的TCP/IP连接
• 0.0.0.0代表接受所有来自IPV4主机网卡的TCP/IP的连接
• 指定的IP如127.0.0.1,代表只接受此地址请求的TCP/IP
character-set-server(默认是latin1)
• 指定MySQL的字符集
• collation-server(默认是latin1_swedish_ci)
• 指定MySQL的排序规则
• default-storage-engine(默认是InnoDB)
• 指定MySQL的默认存储引擎
• default-time-zone
• 指定默认时区,如果没有指定则和系统默认时区一致
• open-files-limit(默认5000)
• 指定Mysqld运行过程中可以打开的文件数,避免出现” Too many open files”报错
• pid-file=/usr/local/mysql/data/M00006.pid
• 指定Mysqld进程对应的程序ID文件,默认是在数据文件目录里MySQL启动相关参数
• Skip-grant-tables
• 指定避开MySQL内部的权限表启动服务
• Tmpdir
• 指定临时表
现在以字符集、err日志路径和监听端口配置为例:
当前在my.cnf里没配置这三个参数,所以都是默认值
[root@localhost mysql_data]# /etc/init.d/mysql start Starting MySQL.............. SUCCESS! [root@localhost mysql_data]# netstat -ntlp|grep LISTEN|grep mysql #3306 tcp6 0 0 :::3306 :::* LISTEN 73923/mysqld tcp6 0 0 :::33060 :::* LISTEN 73923/mysqld [root@localhost mysql_data]# mysql -uroot -p Enter password: Welcome to the MySQL monitor. Commands end with ; or g. Your MySQL connection id is 9 Server version: 8.0.13 MySQL Community Server - GPL Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or 'h' for help. Type 'c' to clear the current input statement. mysql> show variables like 'log_error';#log_error日志路径 +---------------+-----------------------------+ | Variable_name | Value | +---------------+-----------------------------+ | log_error | ./localhost.localdomain.err | +---------------+-----------------------------+ 1 row in set (0.01 sec) mysql> show variables like 'character_set_server';#字符集 +----------------------+---------+ | Variable_name | Value | +----------------------+---------+ | character_set_server | utf8mb4 | +----------------------+---------+ 1 row in set (0.00 sec) mysql> show variables like 'collation_server';#排列顺序 +------------------+--------------------+ | Variable_name | Value | +------------------+--------------------+ | collation_server | utf8mb4_0900_ai_ci | +------------------+--------------------+ 1 row in set (0.00 sec) mysql>
修改my.cnf后
[root@localhost mysql_data]# vim /etc/my.cnf [root@localhost mysql_data]# /etc/init.d/mysql restart Shutting down MySQL..... SUCCESS! Starting MySQL.Logging to '/mysql8/mysql_data/LogError.log'. .. SUCCESS! [root@localhost mysql_data]# cat /etc/my.cnf [mysqld] basedir=/mysql8/mysql datadir=/mysql8/mysql_data log_error=/mysql8/mysql_data/LogError.log character-set-server=utf8 collation-server=utf8_unicode_ci port=3307 [root@localhost mysql_data]# netstat -ntlp|grep mysql tcp6 0 0 :::3307 :::* LISTEN 74678/mysqld tcp6 0 0 :::33060 :::* LISTEN 74678/mysqld [root@localhost mysql_data]# mysql -uroot -p Enter password: Welcome to the MySQL monitor. Commands end with ; or g. Your MySQL connection id is 8 Server version: 8.0.13 MySQL Community Server - GPL Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or 'h' for help. Type 'c' to clear the current input statement. mysql> show variables like 'log_error'; +---------------+---------------------------------+ | Variable_name | Value | +---------------+---------------------------------+ | log_error | /mysql8/mysql_data/LogError.log | +---------------+---------------------------------+ 1 row in set (0.02 sec) mysql> show variables like 'character_set_server'; +----------------------+-------+ | Variable_name | Value | +----------------------+-------+ | character_set_server | utf8 | +----------------------+-------+ 1 row in set (0.01 sec) mysql> show variables like 'collation_server%'; +------------------+-----------------+ | Variable_name | Value | +------------------+-----------------+ | collation_server | utf8_unicode_ci | +------------------+-----------------+ 1 row in set (0.00 sec) mysql> exit Bye [root@localhost mysql_data]# cat /mysql8/mysql_data/LogError.log 2020-06-27T12:22:32.020948Z 0 [System] [MY-010116] [Server] /mysql8/mysql/bin/mysqld (mysqld 8.0.13) starting as process 74678 2020-06-27T12:22:32.028951Z 0 [Warning] [MY-013242] [Server] --character-set-server: 'utf8' is currently an alias for the character set UTF8MB3, but will be an alias for UTF8MB4 in a future release. Please consider using UTF8MB4 in order to be unambiguous. 2020-06-27T12:22:32.029524Z 0 [Warning] [MY-013244] [Server] --collation-server: 'utf8_unicode_ci' is a collation of the deprecated character set UTF8MB3. Please consider using UTF8MB4 with an appropriate collation instead. 2020-06-27T12:22:33.057709Z 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed. 2020-06-27T12:22:33.133121Z 0 [System] [MY-010931] [Server] /mysql8/mysql/bin/mysqld: ready for connections. Version: '8.0.13' socket: '/tmp/mysql.sock' port: 3307 MySQL Community Server - GPL. 2020-06-27T12:22:33.159759Z 0 [System] [MY-011323] [Server] X Plugin ready for connections. Socket: '/tmp/mysqlx.sock' bind-address: '::' port: 33060 [root@localhost mysql_data]#