• mysql_istall_db


    mysql_istall_db说明

    安装完mysql server时,一般要执行这个脚本对数据库初始化.运行这个脚本会初始化mysql的data目录,并创建那些系统表.同样也会初始化系统表空间并且关联innodb表与数据结构.

    用法示例

    ./mysql_istall_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql3306

    • --user为mysqld服务的运行用户
    • --basedir--datadir则分别代表mysql的安装目录和数据存放目录

    选项

    • help 显示帮助信息
    • --basedir=path mysql安装目录的路径
    • --builddir=path build目录的路径,用于out-of-source构建
    • --cross-bootstrap 供内部使用
    • --datadir=path mysql数据目录的路径
    • --defaults-extra-file=file_name 在读取全局选项文件和在读取用户选项文件之前,读取这个文件(选项文件),如果该文件不存在,将会抛出错误(仅限unix平台)
    • --defaults-file=file_name 用被提供的选项文件,如果该文件不存在,将会抛出错误
    • --force 当dns无法用时将通过ip地址代替
    • --keep-my-cnf 在5.6.20中被添加,mysql_install_db保存任何已经存在的my.cnf文件,并且不创建新的默认my.cnf文件.
    • --1data=path--datadir同义
    • --no-defaults 不读取任何选项文件,该选项在mysql_install_db启动时,若因为读取了未知的参数而启动失败时使用.
    • --random-passwords
      5.6.8中加入该选项,在unix平台,该选项在mysql安装时增添了更多安全性.程序会给root初始化一个随机密码.被写入.mysql_secret文件,并且放置在对应用户的home目录下,如果.mysql_secret文件已经存在,新密码信息会被追加上去,每一个密码都会有时间戳信息,该文件默认权限是600.并且没有匿名mysql用户存在.
      通过RPM新安装mysql并使用mysql_install_db时,将会默认调用--random-passwords选项.在5.6.9, solaris PKG新安装并且使用mysql_install_db时,同样也会调用--random-passwords.
      用二进制或者源码安装时,可以在使用mysql_install_db时手动的添加--random-passwords选项
    • --rpm 供内部使用
    • --skip-name-resolve 当创建授权表时,用IP地址而不是host名,这个选项在你的DNS不起作用时,非常有用.
    • --srcdir=path 供内部使用
    • --user=user_name 运行mysqld的系统用户名,通过mysqld创建的文件和目录的归属者将为该用户
    • --verbose verbose模式,打印更多关于这个程序的信息
    • windows 供内部使用

    实例

    以新加一个mysql实例为例.例如服务器上已经安装了3306端口的mysql服务,需要再启一个3308端口的mysql服务.假设mysql安装在/usr/local/mysql路径下,找一个磁盘空间剩余比较大的盘,如/data1, 把3308端口的mysql的数据保存在/data1下.

    • mkdir /data1/mysql_3308
    • mkdir /data1/mysql_3308/data
    • chown -R mysql:mysql /data1/mysql_3308
    1. 复制一个mysql配置文件my.cnf/data1/mysql_3308

    2. 修改配置文件,将端口和相关目录的都改为新的配置
      vi /data1/mysql_3308/my.cnf

      [client]
      character-set-server = utf8
      port    =3308
      socket  = /tmp/mysql_3308.sock
      
      [mysqld]
      user    =mysql
      port    =3308
      socket  = /tmp/mysql_3308.sock
      basedir = /usr/local/mysql
      datadir = /data1/mysql_3308/data
      log-error = /data1/mysql_3308/mysql_error.log
      pid-file = /data1/mysql_3308/mysql.pid
      ......其他略
      
    3. 确保配置文件无误,运行下面命令进行数据库的初始化
      ./mysql_install_db --defaults-file=/data1/mysql_3308/my.cnf --datadir=/data1/mysql_3308/data
      完成新的3308数据库的初始化,如果有报错,则按照报错的提示查看报错日志,一般情况下都是my.cnf配置文件的问题,修正后即可

    4. 启动新mysql

      • 启动3308端口的mysql服务
        ./mysqld_safe --defaults-file=/data1/mysql_3308/my.cnf
      • 检查是否启动
        ps aux | grep mysql
        如果有3308字样说明已经启动成功,可将启动命令加入/etc/rc.local随服务器启动
      • 新加的mysql没有设置root密码,可以通过下面命令设置root密码:
        /usr/local/mysql/bin/mysqladmin -S /tmp/mysql_3308.sock -u root password 'new password'
  • 相关阅读:
    解析包含空格的字符串
    机器学习实战之Logistic回归
    复杂的数据类型
    k-近邻算法
    C&C++
    位运算
    文件操作
    结构体与共用体
    预处理-04-#if defined和#if !defined
    预处理-03-文件包含、条件编译、小结
  • 原文地址:https://www.cnblogs.com/zane-zong/p/6808339.html
Copyright © 2020-2023  润新知