作用
初始化配置的方法
1 2 3
| 初始化配置文件(例如/etc/my.cnf) 启动命令行上进行设置(例如:mysqld_safe mysqld) 预编译时设置(仅限于编译安装时设置)
|
初始化配置文件
初始化配置文件的默认读取路径
1 2 3 4 5 6
| # 默认配置文件读取顺序 mysqld --help --verbose |grep my.cnf /etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf ~/.my.cnf
默认情况下,MySQL启动时,会依次读取以上配置文件,如果有重复选项,会以最后一个文件设置的为准 如果启动时加入了--defaults-file=xxxx时,以上的所有文件都不会读取
|
配置文件的书写方式
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| 格式: [标签] 配置项=xxxx
标签类型:服务端、客户端 服务器端标签: [mysqld] [mysqld_safe] [server]
客户端标签: [mysql] [mysqldump] [client]
配置文件的示例: cat /etc/my.cnf [mysqld] user=mysql # 用户 basedir=/usr/local/mysql # 软件目录 datadir=/data/mysql/data # 数据目录 socket=/tmp/mysql.sock # socket位置 server_id=6 # 服务器ID号 port=3306 # 端口 log_error=/data/mysql/mysql.log # 日志位置 [mysql] socket=/tmp/mysql.sock
|
多实例配置
1 2 3 4
| mkdir /data/330{7,8,9}/data -p chown -R mysql.mysql /data/* tree -L 2 /data/
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| cat > /data/3307/my.cnf <<EOF [mysqld] basedir=/usr/local/mysql datadir=/data/3307/data socket=/data/3307/mysql.sock log_error=/data/3307/mysql.log port=3307 server_id=7 log_bin=/data/3307/mysql-bin EOF
cat > /data/3308/my.cnf <<EOF [mysqld] basedir=/usr/local/mysql datadir=/data/3308/data socket=/data/3308/mysql.sock log_error=/data/3308/mysql.log port=3308 server_id=8 log_bin=/data/3308/mysql-bin EOF
cat > /data/3309/my.cnf <<EOF [mysqld] basedir=/usr/local/mysql datadir=/data/3309/data socket=/data/3309/mysql.sock log_error=/data/3309/mysql.log port=3309 server_id=9 log_bin=/data/3309/mysql-bin EOF
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
| mv /etc/my.cnf{,.bak}
mysqld --initialize-insecure --user=mysql --datadir=/data/3307/data --basedir=/usr/local/mysql mysqld --initialize-insecure --user=mysql --datadir=/data/3308/data --basedir=/usr/local/mysql mysqld --initialize-insecure --user=mysql --datadir=/data/3309/data --basedir=/usr/local/mysql
cp /etc/systemd/system/mysqld.service /etc/systemd/system/mysqld3307.service cp /etc/systemd/system/mysqld.service /etc/systemd/system/mysqld3308.service cp /etc/systemd/system/mysqld.service /etc/systemd/system/mysqld3309.service
vim /etc/systemd/system/mysqld3307.service ExecStart=/application/mysql/bin/mysqld --defaults-file=/data/3307/my.cnf
vim /etc/systemd/system/mysqld3308.service ExecStart=/application/mysql/bin/mysqld --defaults-file=/data/3308/my.cnf
vim /etc/systemd/system/mysqld3309.service ExecStart=/application/mysql/bin/mysqld --defaults-file=/data/3309/my.cnf
systemctl start mysqld3307.service systemctl start mysqld3308.service systemctl start mysqld3309.service
ps -ef |grep mysql netstat -lntup|grep 330
mysql -S /data/3307/mysql.sock -e 'select @@server_id' mysql -S /data/3308/mysql.sock -e 'select @@server_id' mysql -S /data/3309/mysql.sock -e 'select @@server_id'
|