mysql数据库优先_MySQL数据库配置文件之优先级

本文详细介绍了MySQL数据库配置的多种方式,包括预编译、配置文件设置和命令行参数。重点讨论了配置文件的读取顺序和优先级,如~/.my.cnf、$basedir/my.cnf、/etc/mysql/my.cnf和/etc/my.cnf,并通过实例演示了不同配置文件和命令行参数如何影响服务端启动和客户端连接。最后总结了配置优先级及其在实际应用中的注意事项。
摘要由CSDN通过智能技术生成

1.数据库配置方式

1)预编译

cmake . -DCMAKE_INSTALL_PREFIX=/application/mysql-5.7.20 -DMYSQL_DATADIR=/application/mysql-5.7.20/data -DMYSQL_UNIX_ADDR=/application/mysql-5.7.20/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_FEDERATED_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 -DWITH_ZLIB=bundled -DWITH_SSL=bundled -DENABLED_LOCAL_INFILE=1 -DWITH_EMBEDDED_SERVER=1 -DENABLE_DOWNLOADS=1 -DWITH_DEBUG=0

2)配置文件

vim /etc/my.cnf

basedir=

datadir=

socket=

server_id=

log_err=

log_bin=

3)命令行

--skip-grant-tables

--skip-networking

--datadir=/application/mysql/data

--basedir=/application/mysql

--defaults-file=/etc/my.cnf

--pid-file=/application/mysql/data/db01.pid

--socket=/application/mysql/data/mysql.sock

--user=mysql

--port=3306

--log-error=/application/mysql/data/db01.err

2.数据库配置文件

1)配置文件

/etc/my.cnf

/etc/mysql/my.cnf

$basedir/my.cnf

~/.my.cnf

#defaults-extra-file (类似include)

2)配置文件读取顺序

# 注意: 使用方式为/etc/init.d/方式启动才行,如果使用systemctl方式启动会读取文件:

/usr/lib/systemd/system/mysqld.service 里面有写默认读取文件为/etc/my.cnf 对配置文件的读取顺序则不会以下面为准。

1./etc/my.cnf

2./etc/mysql/my.cnf

3.$basedir/my.cnf

4.~/.my.cnf

3)配置文件优先级

# 虽然第二步的读取顺序首先读取文件/etc/my.cnf但是后面继续读取文件,会将上次读取内容覆盖,所以还是最后读取的优先级最高,然后依次

1.~/my.cnf

2.$basedir/my.cnf

3./etc/mysql/my.cnf

4./etc/my.cnf

4)配置文件生效顺序测试

#配置~/.my.cnf

[[email protected] ~]# vim ~/.my.cnf

[mysqld]

server_id=1

#配置$basedir/my.cnf

[[email protected] ~]# vim /service/mysql/my.cnf

[mysqld]

server_id=2

#配置/etc/mysql/my.cnf

[[email protected] ~]# vim /etc/mysql/my.cnf

[mysqld]

server_id=3

#配置/etc/my.cnf

[[email protected] ~]# vim /etc/my.cnf

server_id=4

#重启数据库

[[email protected] ~]# /etc/init.d/mysqld start

#查看id测试

[[email protected] ~]# mysql -uroot -p123 -e ‘show variables like "server_id"‘

Warning: Using a password on the command line interface can be insecure.

+---------------+-------+

| Variable_name | Value |

+---------------+-------+

| server_id | 4 |

+---------------+-------+

3.配置生效顺序

#1.预编译制定socket文件

cmake . -DMYSQL_UNIX_ADDR=/usr/local/mysql-5.6.46/tmp/mysql.sock

#2.配置文件制定

[[email protected] ~]# vim /etc/my.cnf

[mysqld]

socket=/tmp/mysql.sock

#3.配置a.txt

[[email protected] ~]# vim a.txt

[mysqld]

socket=/opt/mysql.sock

#4.命令行

--socket=/tmp/commond.sock

#5.分别使用以下命令测试生效的配置

[[email protected] ~]# mysqld_safe --defaults-file=a.txt --socket=/tmp/commond.sock &

[[email protected] ~]# mysqld_safe --defaults-file=a.txt

[[email protected] ~]# mysqld_safe

#6.查看socket文件位置判断优先级

4.mysql配置优先级总结

#优先级从高到低

命令行 > --defaults-file > ~/my.cnf > $basedir/my.cnf > /etc/mysql/my.cnf > /etc/my.cnf > defaults-extra-file > 初始化 > 预编译

5.配置文件的作用

1)作用

1.影响客户端的连接

2.影响服务端启动

2)影响客户端的连接

[[email protected] ~]# vim /etc/my.cnf

[mysqld]

socket=/tmp/mysql.sock

[mysql]

socket=/tmp/mysql.sock

user=root

password=123

#不需要重启,直接mysql就可以连接数据库

3)影响服务端启动

[[email protected] ~]# vim /etc/my.cnf

[mysqld]

socket=/tmp/mysql.sock

server_id=1

#配置server_id,必须要重启,查看才生效

4)总结

1.客户端也受配置文件影响[mysql] [client]

2.客户端配置以后可以不重启

3.服务端配置以后必须重启[mysqld][server]

4.企业一般配置

[[email protected] ~]# vim /etc/my.cnf

[mysqld]

socket=/tmp/mysql.sock

server_id=1

[mysql]

socket=/tmp/mysql.sock

原文:https://www.cnblogs.com/tcy1/p/13299683.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值