最近碰到的一技术问题总结一(关于数据入库的问题)

来源:互联网 发布:英国读研要求gpa算法 编辑:程序博客网 时间:2024/06/08 06:45

最初始的问题:约有几百个G 的文件,约200多个数据文件,要分别导入到mysql 数据库中的40多个表中而碰到的问题。

问题一:mysql root密码的破解。

用root 用户登录到系统,# vi /etc/my.cnf

 1、在[mysqld]的段中加上一句:skip-grant-tables 
例如: 
[mysqld] 
datadir=/var/lib/mysql 
socket=/var/lib/mysql/mysql.sock 
skip-grant-tables 
保存并且退出vi。

2、重新启动 mysqld ,用到的命令

service mysqld restart  或# /etc/init.d/mysqld restart  ( systemctl restart mysqld.service   centos7)

3、重新登录到 mysql 数据库并修改密码

 #mysql -uroot -p

#use mysql;

#update user set password=password("new-password") where user='root'

#flush privileges;

#quit

Bye

4. 将mysql 的登录设置修改回来。

#vi /etc/my.cnf

将 mysqld 的段中加上 skip-grant-tables删除。

5.重新启动 mysqld

问题二、在复制的内容时,发现 datadir 所在目录的分区已满,即,使用 命令:#df -h 想看 有分区被 填满了。如下:

[root@jinniu-test3 mysql]# df -h
文件系统               容量    已用      可用      已用%   % 挂载点
/dev/sda2              49G   49G     20K      100%      /
tmpfs                 933M     0       933M     0%        /dev/shm
/dev/sda1             194M   31M   153M     17%       /boot
/dev/sda5             219G  701M   207G    1%           /opt
解决方案:更改数据库的存储目录。
在 home 目录下建立mysql_data目录 
1) #cd /opt 
2) # mkdir mysql_data
3)mv /var/lib/mysql  /opt/mysql_data
4)修改 my.cnf 配置文件
1)使用 “ #  ”  来注释原来的行,再增加二行  datadir=/opt/mysql_data/mysql  , 将 socket 改成  /opt/mysql_data/mysql/mysql.sock

-- 转载的-->修改第一个文件:修改之前先备份cp  /etc/my.cnf    /etc/my.cnfbak

     vi /etc/my.cnf
     打开之后修改datadir的目录为/opt/mysql_data/mysql
     把socket改成/opt/mysql_data/mysql/mysql.sock      #为了安全起见,你可以把原来的注释掉,然后重新加入一行,改成现在的目录。
==================================================================================
   修改第二个文件:修改之前先备份 cp /etc/init.d/mysqld    /etc/init.d/mysqldbak
   vi /etc/init.d/mysqld
   注意:准确的位置是/etc/rc.d/init.d/mysqld,由于这里这里有一个/etc/init.d到/etc/rc.d/init.d的映射,
   所以用上面的命令即可,也简单。
   把其中datadir=/var/lib/mysql一行中,等号右边的路径改成你现在的实际存放路径:/opt/mysql_data/mysql
=================================================================================
   修改第三个文件:修改之前先备份 cp /usr/bin/mysqld_safe    /usr/bin/mysqld_safebak
   vi /usr/bin/mysqld_safe
   这里也是修改datadir的目录为/opt/mysql_data/mysql
==================================================================================
4、下面需要建立一个mysql.sock的链接:
   ln -s /opt/mysql_data/mysql/mysql.sock    /var/lib/mysql/mysql.sock
   
  

至此所有的修改都完成了,下面启动mysql

   service mysqld start
   或者重启linux
   reboot
   如果能正常启动,说明修改成功。

如果工作正常移动就成功了,否则对照前面的7步再检查一下。还要注意目录的属主和权限。 
复制内容到剪贴板 
代码:
[root@sample ~]# chown -R mysql:mysql /opt/mysql_data/mysql  ← 改变数据库的归属为mysql

[root@sample ~]# chmod 700 /opt/mysql_data/mysql  ← 改变数据库目录属性为700

[root@sample ~]# chmod 660 /opt/mysql_data/mysql/test/*  ← 改变数据库中数据的属性为660

<-----转载的---

问题三、用python 来读取文件并创建 相关的数据库


问题四、用 shell/python来将数据导入到数据库中




0 0
原创粉丝点击