laravel 開發筆記

1.laravel 緩存

laravel的模型映射ORM會緩存,當更新數據庫時需要,清空下緩存,不然會從緩存裏面拿數據

清空方法php artisan cache:clear

2.resource資源路由
Verb Path Action Route Name
GET /resource index resource.index
GET /resource/create create resource.create
POST /resource store resource.store
GET /resource/{resource} show resource.show
GET /resource/{resource}/edit edit resource.edit
PUT/PATCH /resource/{resource} update resource.update
DELETE /resource/{resource} destroy resource.destroy
3.laravel Request 獲取 get 根 post 數據
$request->query(); //獲取get數據
$request->get(); //獲取get數據
$request->query->get(); //post會覆蓋get數據
$request->id; //post會覆蓋get數據
$request->input() //post會覆蓋get數據
$request->request->get(); //獲取post數據
4. mysql 允許遠程訪問配置
  1. 修改 /etc/mysql/my.cnf
bind-address = 127.0.0.1 //改爲bind-address = 0.0.0.0
  1. 爲遠程用戶賦予權限
    • 新建用戶遠程連接 mysql 數據庫
GRANT ALL privileges on *.* to username@'%' IDENTIFIED BY 'password' with grant option;  -- *數據庫 *表名 允許任何 IP 地址(%代表任何地址)的 username 賬戶和密碼(passowrd)來訪問
flush privileges;
  • 支持 root 用戶允許遠程連接 mysql 數據庫
grant all privileges on *.* to 'root'@'%' identified by 'password' grant option;
flush privileges;
  1. 改表法
    直接修改 mysql.user
    update user set host = '%' where user = 'root'
    注意
  2. 修改配置後需要重啓 msyql
service mysql start // restart stop
/etc/init.d/mysql restart // start stop 這種有可能 faild
  1. mysql 重啓、啓動失敗問題
    • 檢查 mysql 狀態 /etc/init.d/mysql status
    • 確定 mysql.sock 是不是那個位置
  2. 授權之後無法再本地登錄
    • 修改
grant all privileges on *.* to 'root'@'loadb116' identified by '123456' with grant option;
flush privileges;
  • 在本地使用 ip 地址 127.0.0.1 或者服務器 IP 地址
5.升級 mysql

Ubuntu14.04 默認安裝的是 mysql5.5, 由於開發需要支持utf8mb4,因此升級到 mysql5.7,默認情況下 apt 無法審計到 mysql5.7,因此需要額外設置,記得備份

  1. 下載 mysql-apt 的配置包,並安裝

    wget https://dev.mysql.com/get/mysql-apt-config_0.8.1-1_all.deb

    sudo dpkg -i mysql-apt-config_0.8.1-1_all.deb
    在安裝過程中會選擇 mysql 版本,選擇 mysql5.7 版本

  2. 更新 apt-get 索引

    sudo apt-get update

  3. 安裝數據庫,在安裝過程中會自動卸載已安裝的老版本

    sudo apt-get install mysql-server

  4. 安裝完成後,使用 mysql_upgrade -uroot -p'passowrd' 升級數據庫文件版本

    sudo mysql_upgrade -uroot -p’password’

  5. 重啓 mysql,並檢查數據是否正常

    sudo service mysql restart

    mysqlcheck -uroot -p'password' --all-databases

  6. 如果一切正常,所有表的檢查結果均 ok 狀態
    更新過程中的問題

  7. ubuntu14.04 的版本中,安裝 mysql 後,啓動時提示 「No directory,loging in with HOME=/」

  8. 更新後遠程訪問 mysql,提示 10061 錯誤的問題
    在更新後,所有的配置文件都會被刪除,因此需要修改 mysql 配置文件。在 Ubuntu 中,配置文件在:

/etc/mysql/mysql.conf.d/mysqld.cnf
註銷其中的:bind-address = 127.0.0.1 即可
  1. 默認區分大小寫,若想忽略大小寫
    sudo vim /etc/mysql/my.cnf
    若爲空則看
    sudo vim /etc/mysql/mysql.conf.d/mysql.cnf
    在 [mysqld] 後面添加 lower_case_table_names=1
    重啓 mysql 服務

    laravel
    1. findOrFail 沒找到就 return 404 page
設置 mysql 默認自增起始數

alter table tablename AUTO_INCREMENT=100000000000000

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章