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

你可能感兴趣的:(laravel,mysql)