Laravelからmysqlにアクセスできるところまでやりました。
mysqlのインストール
$ sudo apt-get install mysql-server
mysqlの初期設定
$ sudo mysql_secure_installation
基本的にyを選択すれば良い。
rootでログイン
$ sudo mysql -u root -p
データベースの作成
mysql> create database <データベース名>;
ユーザーの追加
mysql> create user <ユーザー名> identified by '<パスワード>';
ユーザーに権限を付与
mysql> grant all on . to <ユーザー名>;
Laravelにデータベースの設定を記入
database.phpの設定を変更。
'mysql' => [ 'driver' => 'mysql', 'host' => env('DB_HOST', '127.0.0.1'), 'port' => env('DB_PORT', '3306'), 'database' => env('DB_DATABASE', '<データベース名>'), 'username' => env('DB_USERNAME', '<ユーザー名>'), 'password' => env('DB_PASSWORD', '<パスワード>'), 'unix_socket' => env('DB_SOCKET', ''), 'charset' => 'utf8mb4', 'collation' => 'utf8mb4_unicode_ci', 'prefix' => '', 'strict' => true, 'engine' => null, ],
migrateの実行
$ php artisan migrate
エラーが出た。
could not find driver
PHPに、データベースにアクセスするPDOがない、ということなので、mysqlにアクセスするモジュールを追加。
$ sudo apt-get install php7.2-mysql
これでmigrateが成功すればOK。
適当なテーブルを追加する
$ php artisan make:migration create_test_table
CreateTestTableクラスが出来上がるので、以下のように書き換える。
public function up() { Schema::create('test', function (Blueprint $table) { $table->increments('id'); $table->text('text'); $table->timestamps(); }); }
$ php artisan migrate
Laravelからデータベースにアクセス
$ php artisan tinker
>>> DB::table('test')->get(); DB::table('test')->insert(['test' => 'insert']) DB::table('test')->get();
データが表示されれればOK。