Linux mysql那些遇到的一些坑

1.ERROR 1133 (42000): Can't find any matching row in the user table 解决:host跟user账号要在user表存在(localhost,root)

2.ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement 解决:flush privileges;

3.修改忘记的root密码,先修改/etc/my.cnf文件的mysqld的skip-grant-tables,重启mysql

4.django sqlite向mysql同步数据

复制代码
DATABASES = {
    "default": {
        "ENGINE": "django.db.backends.sqlite3",
        "NAME": "dev.db",
        "USER": "",
        "PASSWORD": "",
        "HOST": "",
        "PORT": "",
    },
    "slave": {
        "ENGINE": "django.db.backends.mysql",
        "NAME": "phodal",
        "USER": "root",
        "PASSWORD": "",
        "HOST": "",
        "PORT": "",
    },
}
复制代码

B.然后,在MYSQL建立空的数据库,将表结果从主库弄到从库:

CREATE DATABASE phodal CHARACTER SET utf8 COLLATE utf8_general_ci;

python ./manage.py migrate --database slave

C.确保每个APP的SQL过程语句生成,没有的话,运行以下语句:

python manage.py makemigrations FAT

D.将SQLITE主库的数据导出:

python manage.py dumpdata > mysite_all_data.json

E.切换主库和从库的setting.py设置,将MYSQL设置为主库,导入数据。

python manage.py loaddata mysite_all_data.json

  如果静态文件CSS.JS指向错误,则运行:

   python manage.py collectstatic

  然后将静态文修的放到合适的位置。

5.sudo yum install MySQL-python

6.import pymysql

pymysql.install_as_MySQLdb()

原文地址:https://www.cnblogs.com/runningzz/p/8698311.html