首页 > 编程知识 正文

mysql重新初始化命令,mysql怎么初始化

时间:2023-05-04 22:44:10 阅读:239129 作者:3037

0. 作用 控制MySQL的启动影响客户端的连接 1. 初始化配置的方式 源码安装:编译过程中设置初始化参数配置文件:数据库启动前,设定配置文件参数 /etc/my.cnf启动脚本命令行:mysqld_safe –skip-grant-tables –skip-networking & 2. 配置文件的应用 2.1 配置文件读取顺序 [root@db01 ~]# 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指定配置文件时,以上的所有文件都不会读取. 2.2 配置文件书写格式 # 用户区分不同程序参数[标签]配置项=xxxx标签类型:服务端、客户端# 负责数据库服务端运行参数设定服务器端标签:[mysqld][mysqld_safe][server]# 影响客户端连接(只影响本地,不影响远程)客户端标签:[mysql][mysqldump][client]-------------------------------# 配置文件基础模板[mysqld]# 服务器端标签user=mysql# 负责数据库管理用户basedir=/app/database/mysql# 软件的安装位置datadir=/data/3306# 数据的存放位置server_id=6# 表示节点的唯一编号(主从有用)port=3306# 端口号socket=/tmp/mysql.sock# 套接字文件[mysql]# 客户端标签socket=/tmp/mysql.sock# 读取socket文件的位置点 3. MySQL的多实例 3.1 同版本多实例 3.1.1 规划 软件1份配置文件 3份 /data/330{7..9}/my.cnf数据目录 3份 /data/330{7..9}/data初始化数据 3次日志目录 3份 /dldxbclog/330{7..9}socket 3份 /tmp/mysql330{7..9}端口 3份 port=3307,3308,3309server_id 3份 server_id=7,8,9 3.1.2 配置过程 创建需要目录 [root@db01 ~]# mkdir -p /data/330{7..9}/data[root@db01 ~]# mkdir -p /dldxbclog/330{7..9} 创建配置文件 cat > /data/3307/my.cnf <<EOF[mysqld]basedir=/app/database/mysqldatadir=/data/3307/datasocket=/data/3307/mysql.socklog_error=/data/3307/mysql.logport=3307server_id=7log_dldxbc=/dldxbclog/3307/mysql-dldxbcEOFcat > /data/3308/my.cnf <<EOF[mysqld]basedir=/app/database/mysqldatadir=/data/3308/datasocket=/data/3308/mysql.socklog_error=/data/3308/mysql.logport=3308server_id=8log_dldxbc=/dldxbclog/3308/mysql-dldxbcEOFcat > /data/3309/my.cnf <<EOF[mysqld]basedir=/app/database/mysqldatadir=/data/3309/datasocket=/data/3309/mysql.socklog_error=/data/3309/mysql.logport=3309server_id=9log_dldxbc=/dldxbclog/3309/mysql-dldxbcEOF 初始化数据 chown -R mysql.mysql /data /dldxbclogmv /etc/my.cnf /etc/my.cnf.bakmysqld --initialize-insecure --user=mysql --datadir=/data/3307/data --basedir=/app/database/mysqlmysqld --initialize-insecure --user=mysql --datadir=/data/3308/data --basedir=/app/database/mysqlmysqld --initialize-insecure --user=mysql --datadir=/data/3309/data --basedir=/app/database/mysql 准备启动脚本 cat > /etc/systemd/system/mysql3307.service << EOF[Unit]Description=MySQL ServerDocumentation=man:mysqld(8)Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.htmlAfter=network.targetAfter=syslog.target[Install]WantedBy=multi-user.target[Service]User=mysqlGroup=mysqlExecStart=/app/database/mysql/dldxbc/mysqld --defaults-file=/data/3307/my.cnfLimitNOFILE = 5000EOFcat > /etc/systemd/system/mysql3308.service << EOF[Unit]Description=MySQL ServerDocumentation=man:mysqld(8)Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.htmlAfter=network.targetAfter=syslog.target[Install]WantedBy=multi-user.target[Service]User=mysqlGroup=mysqlExecStart=/app/database/mysql/dldxbc/mysqld --defaults-file=/data/3308/my.cnfLimitNOFILE = 5000EOFcat > /etc/systemd/system/mysql3309.service << EOF[Unit]Description=MySQL ServerDocumentation=man:mysqld(8)Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.htmlAfter=network.targetAfter=syslog.target[Install]WantedBy=multi-user.target[Service]User=mysqlGroup=mysqlExecStart=/app/database/mysql/dldxbc/mysqld --defaults-file=/data/3309/my.cnfLimitNOFILE = 5000EOF 启动多实例 systemctl stop mysqlsystemctl start mysql3307systemctl start mysql3308systemctl start mysql3309netstat -tulnp | grep mysqldtcp6 0 0 :::3307 :::* LISTEN 1796/mysqld tcp6 0 0 :::3308 :::* LISTEN 1857/mysqld tcp6 0 0 :::3309 :::* LISTEN 1892/mysqld 3.2 不同版本多实例 3.2.0 软链接不同版本软件,修改环境变量 ln -s mysql-5.6.46-linux-glibc2.12-x86_64 mysql56ln -s mysql-8.0.18-linux-glibc2.12-x86_64 mysql80mv /etc/my.cnf /etc/my.cnf.bakvim /etc/profile#export PATH=/app/database/mysql/dldxbc:$PATH 3.2.1 准备不同目录 mkdir -p /data/331{7..9}/datamkdir -p /dldxbclog/331{7..9}chown -R mysql.mysql /data /dldxbclog 3.2.2 准备配置文件 cat > /data/3317/my.cnf <<EOF[mysqld]basedir=/app/database/mysqldatadir=/data/3317/datasocket=/data/3317/mysql.socklog_error=/data/3317/mysql.logport=3317server_id=17log_dldxbc=/dldxbclog/3317/mysql-dldxbcEOFcat > /data/3318/my.cnf <<EOF[mysqld]user=mysqlbasedir=/app/database/mysql56datadir=/data/3318/datasocket=/data/3318/mysql.socklog_error=/data/3318/mysql.logport=3318server_id=18log_dldxbc=/dldxbclog/3318/mysql-dldxbcEOFcat > /data/3319/my.cnf <<EOF[mysqld]basedir=/app/database/mysql80datadir=/data/3319/datasocket=/data/3319/mysql.socklog_error=/data/3319/mysql.logport=3319server_id=19log_dldxbc=/dldxbclog/3319/mysql-dldxbcEOF 3.2.3 初始化数据 /app/database/mysql/dldxbc/mysqld --initialize-insecure --user=mysql --datadir=/data/3317/data --basedir=/app/database/mysql/app/database/mysql56/scripts/mysql_install_db --user=mysql --datadir=/data/3318/data --basedir=/app/database/mysql56/app/database/mysql80/dldxbc/mysqld --initialize-insecure --user=mysql --datadir=/data/3319/data --basedir=/app/database/mysql80 3.2.4 准备启动脚本 cat > /etc/systemd/system/mysql3317.service << EOF[Unit]Description=MySQL ServerDocumentation=man:mysqld(8)Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.htmlAfter=network.targetAfter=syslog.target[Install]WantedBy=multi-user.target[Service]User=mysqlGroup=mysqlExecStart=/app/database/mysql/dldxbc/mysqld --defaults-file=/data/3317/my.cnfLimitNOFILE = 5000EOFcat > /etc/systemd/system/mysql3318.service << EOF[Unit]Description=MySQL ServerDocumentation=man:mysqld(8)Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.htmlAfter=network.targetAfter=syslog.target[Install]WantedBy=multi-user.target[Service]User=mysqlGroup=mysqlExecStart=/app/database/mysql56/dldxbc/mysqld --defaults-file=/data/3318/my.cnfLimitNOFILE = 5000EOFcat > /etc/systemd/system/mysql3319.service << EOF[Unit]Description=MySQL ServerDocumentation=man:mysqld(8)Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.htmlAfter=network.targetAfter=syslog.target[Install]WantedBy=multi-user.target[Service]User=mysqlGroup=mysqlExecStart=/app/database/mysql80/dldxbc/mysqld --defaults-file=/data/3319/my.cnfLimitNOFILE = 5000EOF 3.2.5 启动多实例 systemctl start mysql3317systemctl start mysql3318systemctl start mysql3319netstat -tulnp | grep mysqldtcp6 0 0 :::3317 :::* LISTEN 3162/mysqld tcp6 0 0 :::3318 :::* LISTEN 3197/mysqld tcp6 0 0 :::3319 :::* LISTEN 3225/mysqld tcp6 0 0 :::33060 :::* LISTEN 3225/mysqld

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。