搭建Linux Web Server LAMP
LAMP是 'linux + Apache + MySQL + Php' 的缩写
在ubuntu上安装LAMP
apache2
sudo apt-get install apache2
install php
for ubuntu20.04
sudo apt-get install libapache2-mod-php7.4 php7.4
如果是其他版本的系统,php版本可能不同.
mysql
sudo apt-get install mysql-server mysql-client
如果mysql的版本为8.0以上:
在安装过程中不需要输入mysql database中root user的密码 安装完成后需要使用mysql_secure_installation 对mysql进行配置 `sudo mysql_secure_installation` 设置密码强度, root账户密码 ... mysql8.0以上 root用户默认通过auth_socket插件授权, 所以不支持通过`mysql -u root -p` 的方式登录。 只需要执行sudo mysql即可以root用户登录,并且不需要输入密码
mysql8.0及以后的版本调整密码强度:
查看validate_password相关的变量:
show variables like 'validate_password%';
mysql> SHOW VARIABLES LIKE 'validate_password%'; +--------------------------------------+--------+ | Variable_name | Value | +--------------------------------------+--------+ | validate_password.check_user_name | ON | | validate_password.dictionary_file | | | validate_password.length | 8 | | validate_password.mixed_case_count | 1 | | validate_password.number_count | 1 | | validate_password.policy | STRONG | | validate_password.special_char_count | 1 | +--------------------------------------+--------+ 7 rows in set (0.00 sec)
修改policy为 LOW: set global validate_password.policy=LOW;
LOW只会采用validate_password.length, 只严重密码的最小字符串长度
install phpmyadmin
sudo apt-get install phpmyadmin
安装过程会选择web server: apache2 or lighttpd 使用空格键选择apache2
mysql 常用命令
登录命令
mysql -u USERNAME -p
在mysql 8.0以上,如果开启了auth_socket,则登录命令为: sudo mysql
数据库的查看 创建 删除
Description | command |
– | – |
查看数据库列表 | show databases; |
选中一个database | use DATABASE_NAME; |
创建数据库 | create database DATABASE_NAME |
删除数据库 | drop database DATABASE_NAME |
example:
mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | phpmyadmin | +--------------------+ 4 rows in set (0.00 sec)
mysql> use mysql; Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Database changed
查看当前database中的tables
show tables;
mysql用户管理
创建用户:
create user 'username'@'host' identified by 'passwod'
|
用户权限管理:
grant 'privilegesCode' on 'databasename'.'tablename' to 'username'@'host'
privilegesCode表示权限类型,有如下几种类型.
privilegesCode | 说明 |
all privileges | 所有权限 |
select | 读取权限 |
delete | 删除权限 |
update | 更新权限 |
create | 创建权限 |
drop | 删除database, table的权限 |
刷新权限变更 flush privileges
;
example:
mysql> create user gerrit@localhost identified by '1234'; mysql> grant all privileges on gerritdb.* to gerrit@localhost; mysql> flush privileges;
这样就创建了一个gerrit用户,密码为1234 并授权gerrit可以访问gerritdb数据库
删除用户:
drop user 'username'@'host'
example:
mysql> drop user gerrit@localhost;
修改用户密码
alter user username@host identified by 'password'
例:
把test用户的密码改为Test654321
mysql> alter user test@localhost identified by 'Test654321';
phpmyadmin
phpmyadmin 是一个用php实现的,可通过web方式管理和操作MYSQL数据库的软件
sudo apt-get install phpmyadmin
apache配置: 参考 /etc/phpmyadmin/apache.conf