MySQL数据库的初始化mysql_install_db

一、mysql_install_db说明
当MySQL的系统库(mysql系统库)发生故障或需要新加一个mysql实例时,需要初始化mysql数据库。
需要使用的命令:/usr/local/mysql/bin/mysql_install_db
#/usr/local/mysql/bin/mysql_install_db --help 可以查看帮助信息如下
Usage: /usr/local/mysql/bin/mysql_install_db [OPTIONS]
  --basedir=path       The path to the MySQL installation directory.
  --cross-bootstrap    For internal use.  Used when building the MySQL system
                       tables on a different host than the target.
  --datadir=path       The path to the MySQL data directory.
  --force              Causes mysql_install_db to run even if DNS does not
                       work.  In that case, grant table entries that normally
                       use hostnames will use IP addresses.
  --ldata=path         The path to the MySQL data directory.
  --rpm                For internal use.  This option is used by RPM files
                       during the MySQL installation process.
  --skip-name-resolve  Use IP addresses rather than hostnames when creating
                       grant table entries.  This option can be useful if
                       your DNS does not work.
  --srcdir=path        For internal use.  The directory under which
                       mysql_install_db looks for support files such as the
                       error message file and the file for popoulating the
                       help tables.
  --user=user_name     The login username to use for running mysqld.  Files
                       and directories created by mysqld will be owned by this
                       user.  You must be root to use this option.  By default
                       mysqld runs using your current login name and files and
                       directories that it creates will be owned by you.

All other options are passed to the mysqld program
除了支持以上的参数,还支持mysqld的参数。

二、举例:
   本文以新加一个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
 
   复制一个mysql配置文件my.cnf到/data1/mysql_3308目录下
#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
......其他略

  确保配置文件无误。
运行下面命令进行数据库的初始化:
#/usr/local/mysql/bin/mysql_install_db --defaults-file=/data1/mysql_3308/my.cnf --datadir=/data1/mysql_3308/data

完成后新的3308数据库就初始化好了,如果有报错,则按照报错的提示查看报错日志,一般情况下都是my.cnf配置文件的问题,修正后即可。

三、启动新mysql
启动3308端口的mysql服务
#/usr/local/mysql/bin/mysqld_safe --defaults-file=/data1/mysql_3309/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'

### 在 PyCharm 中使用 Django 进行 MySQL 数据库初始化的详细教程 #### 1. 安装必要依赖 在开始配置之前,需要确保安装了 `pymysql` 和 `mysqlclient`。这些库用于连接和操作 MySQL 数据库。可以通过以下命令安装: ```bash pip install pymysql mysqlclient ``` 此外,可以在 PyCharm 的设置中通过 `Python Interpreter` 来安装上述依赖[^1]。 #### 2. 修改 Django 配置文件 进入项目的 `settings.py` 文件,找到 `DATABASES` 配置项,并将其修改为以下内容以支持 MySQL 数据库: ```python DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', # 指定数据库引擎 'NAME': 'your_database_name', # 数据库名称 'USER': 'your_username', # 数据库用户名 'PASSWORD': 'your_password', # 数据库密码 'HOST': '127.0.0.1', # 数据库主机地址 'PORT': '3306', # 数据库端口号 } } ``` 此配置将 Django 项目与本地 MySQL 数据库绑定[^2]。 #### 3. 初始化数据库连接 为了确保 Django 能够正确识别并连接到 MySQL 数据库,需要执行以下命令来生成迁移文件并应用到数据库中: ```bash python manage.py makemigrations python manage.py migrate ``` 这一步会根据项目的模型定义创建相应的数据库表结构[^1]。 #### 4. 验证数据库连接 验证数据库连接是否成功的方法之一是通过 Django 提供的交互式 shell: ```bash python manage.py shell ``` 在交互式环境中,可以尝试导入 `pymysql` 并检查连接状态。例如: ```python import pymysql pymysql.connect(host='127.0.0.1', user='your_username', password='your_password', db='your_database_name') ``` 如果未抛出异常,则说明连接成功[^2]。 #### 5. 配置静态文件路径 为了确保前端页面能够正常加载静态资源(如 CSS 文件),需要在 `settings.py` 中添加以下配置: ```python STATIC_URL = '/static/' STATICFILES_DIRS = [BASE_DIR / "static"] ``` 同时,在模板文件中正确引用静态资源。例如,HTML 文件中的 CSS 引用如下所示: ```html {% load static %} <link rel="stylesheet" href="{% static 'front/index.css' %}"> ``` CSS 文件的目录结构应与 HTML 文件中的路径一致[^2]。 #### 6. 示例代码:创建简单的模型并迁移 以下是一个简单的 Django 模型示例,用于演示如何创建表并进行迁移: ```python from django.db import models class Book(models.Model): title = models.CharField(max_length=100) author = models.CharField(max_length=100) published_date = models.DateField() def __str__(self): return self.title ``` 保存模型后运行以下命令以生成并应用迁移: ```bash python manage.py makemigrations python manage.py migrate ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值