sql >> データベース >  >> RDS >> Mysql

Ubuntu18.04のlower_case_table_names=1では、mysqlを起動できません

    MySQL 8.0およびLinuxでこれを機能させるには、次の手順に従います

    1. を使用して次の手順を実行する前に、mysqlスキーマをバックアップしてください。

      mysqldump -h localhost -u root -p mysql> /home/username/dumps/mysqldump.sql

    次に、

    を使用してmysqlを停止します
    sudo service mysql stop
    
    1. / var / lib/mysqlディレクトリを移動または削除します。これにより、すべてのデータベースが削除されます!!!!

      mv /var/lib/mysql /tmp/mysql
      
    2. 新しい/var/ lib / mysqlディレクトリを作成し、mysqlユーザーを所有者にします

      mkdir /var/lib/mysql
      chown -R mysql:mysql /var/lib/mysql
      chmod 750 /var/lib/mysql
      
    3. /etc/mysql/mysql.conf.d/mysqld.cnfを編集し、

      の後に次の行を追加します。
      [mysqld]
      
      lower_case_table_names=1
      
    4. 以下を使用してmysqlを初期化します

      mysqld --defaults-file=/etc/mysql/my.cnf --initialize lower_case_table_names=1 --user=mysql --console
      

    defaults-fileをデフォルトファイルの実際の場所に変更します。mysqlの初期化の詳細については、こちらをご覧ください: https://dev.mysql.com/doc/refman/8.0/en/data-directory-initialization-mysqld.html

    1. (オプション)繰り返し

      chown -R mysql:mysql /var/lib/mysql
      chmod 750 /var/lib/mysql
      

    / var / lib/mysql内のファイルの所有者がmysqlでない場合

    1. を使用してmysqlを起動します
      sudo service mysql start
      
    2. すべてが正しく機能した場合は、

      を使用してmysqlを開きます。
      mysql -u root -p
      

    そして、このクエリを実行することによって

    SHOW VARIABLES where Variable_name like 'lower%';
    

    取得します

    'lower_case_table_names', '1'
    
    1. 手順0で作成したダンプを使用してmysqlスキーマを復元します。

    2. mysql_upgradeを実行してsysスキーマを作成します



    1. MySQLがインストールされていないコンピュータでMySQLDBを使用してJavaアプリケーションを実行するにはどうすればよいですか?

    2. numpy配列をmysqlに保存します

    3. PDOエラー:SQLSTATE [HY000]:一般エラー:2031

    4. MySQLロールバッククエリ