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。