标签:
默认安装后空密码,以mysqladmin命令设置密码:
mysqladmin -uroot password "password"
Mysql命令设置密码:
mysql> set password for root@localhost=password(‘password);
更改密码:
update mysql.user set password=password(‘password‘) where user=‘root‘;flush privileges;
2.删除默认的数据库和用户
drop database test;use mysql;delete from db;delete from user where not(host="localhost" and user="root");flush privileges;
3. 更改默认root账号名称:
update mysql.user set user="admin" where user="root";flush privileges;
4. 本地文件安全:
set-variable=local-infile=0
5. 禁止远程连接mysql,远程管理可通过phpmyadmin,编辑my.cnf在[mysqld]添加:
skip-networking
6.最小权限用户:
create database db1;grant select,insert,update,delete,create,drop privileges on database.* to user@localhost identified by ‘passwd‘;
7. 限制普通用户浏览其它数据库,编辑my.cnf在[mysqld]添加:
--skip-show-database
8.快速修复MySQL数据库
修复数据库
mysqlcheck -A -o -r -p
修复指定的数据库
mysqlcheck -o -r database -p
9.跟据内存的大小选择MySQL的配置文件:
my-small.cnf # > my-medium.cnf # 32M - 64Mmy-large.cnf # memory = 512Mmy-huge.cnf # 1G-2G
my-innodb-heavy-4G.cnf # 4GB
----------------------------------------------------------------------------
更改Apache默认网站目录
然后把你的项目移到配置好的目录下即可。
---------------------------------------------------------------------------------------------------------
Apache安全配置
ServerTokens OS 修改为:ServerTokens Prod (在出现错误页的时候不显示服务器操作系统的名称)
ServerSignature On 修改为:ServerSignature Off(不回显apache版本信息)
删除默认的页面,防止泄露服务器信息
将Options Indexes FollowSymLinks改为Options -Indexes FollowSymLinks
DirectoryIndex index.html
为apache单独建立一个运行账户及账户组,并在httpd.conf配置
User apacheGroup apache
取消apache运行账户对网站目录的写入权限,上传目录除外,其他非网站目录尽量不给权限
取消掉了运行账户对sh等的执行权限后能够防止webshell通过默认的sh执行命令
<Directory "/var/www/html/aaa"> <FilesMatch ".(php|php5)$"> Deny from all </FilesMatch> </Directory>
<Directory "/var/www/html/aaa"> Deny from all </Directory>
<Directory "/var/www/html/aaa"> Order Deny,Allow Deny from all Allow from 192.168.1.111 </Directory>
<Files ~ ".txt$"> Order allow,deny Deny from all </Files>
这样可以防止一些直接扫描80端口的黑客
Listen 12345
AllowOverride All改为AllowOverride None
------------------------------------------------------------------------------------------------------------------------
php.ini的安全优化
例1:连接到本机上的MYSQL。
首先在打开DOS窗口,然后进入目录 mysqlbin,再键入命令mysql -uroot -p,回车后提示你输密码,如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到MYSQL中了,MYSQL的提示符 是:mysql>。
例2:连接到远程主机上的MYSQL。假设远程主机的IP为:110.110.110.110,用户名为root,密码为abcd123。则键入以下命令:
mysql -h110.110.110.110 -uroot -pabcd123
(注:u与root可以不用加空格,其它也一样)
MySQL默认没有密码,安装完毕增加密码的重要性是不言而喻的。
格式:mysqladmin -u用户名 -p旧密码 password 新密码
4、启动
MySQL安装完成后启动文件mysql在/etc/init.d目录下,在需要启动时运行下面命令即可。
[root@test1 init.d]# /etc/init.d/mysql start
/usr/bin/mysqladmin -u root -p shutdown
[root@test1 local]# /sbin/chkconfig –list
[root@test1 local]# /sbin/chkconfig – add mysql
[root@test1 local]# /sbin/chkconfig – del mysql
MySQL默认的数据文件存储目录为/var/lib/mysql。
假如要把目录移到/home/data下需要进行下面几步:
cd /home mkdir data
mysqladmin -u root -p shutdown
mv /var/lib/mysql /home/data/
这样就把MySQL的数据文件移动到了/home/data/mysql下
如果/etc/目录下没有my.cnf配置文件,请到/usr/share/mysql/下找到*.cnf文件,拷贝其中一个到/etc/并改名为my.cnf)中。
命令如下:
[root@test1 mysql]# cp /usr/share/mysql/my-medium.cnf /etc/my.cnf
为保证MySQL能够正常工作,需要指明mysql.sock文件的产生位置。
修改socket=/var/lib/mysql/mysql.sock一行中等号右边的值为:/home/mysql/mysql.sock 。
操作如下:
vi my.cnf
(用vi工具编辑my.cnf文件,找到下列数据修改之)
# The MySQL server [mysqld]
port = 3306
#socket = /var/lib/mysql/mysql.sock(原内容,为了更稳妥用“#”注释此行)
socket = /home/data/mysql/mysql.sock (加上此行)
最后,需要修改MySQL启动脚本/etc/rc.d/init.d/mysql,把其中datadir=/var/lib/mysql一行中,等号右边的路径改成你现在的实际存放路径:home/data/mysql。
[root@test1 etc]# vi /etc/rc.d/init.d/mysql
#datadir=/var/lib/mysql (注释此行)
datadir=/home/data/mysql (加上此行)
/etc/rc.d/init.d/mysql start
或用reboot命令重启Linux
如果工作正常移动就成功了,否则对照前面的7步再检查一下。
注意:MySQL中每个命令后都要以分号;结尾。
show databases;
刚开始时才两个数据库:mysql和test。MySQL库很重要它里面有MYSQL的系统信息,我们改密码和新增用户,实际上就是用这个库进行操作。
use mysql; //打开库,学过FOXBASE的一定不会陌生吧
show tables;
describe 表名;
create database 库名;
use 库名;
create table 表名 (字段设定列表);
drop database 库名;
drop table 表名;
delete from 表名;
select * from 表名;
例如:增加几条相关纪录。
mysql> insert into name values(‘‘,‘张三‘,‘男‘,‘1971-10-01‘);
mysql> insert into name values(‘‘,‘白云‘,‘女‘,‘1972-05-20‘);
可用select命令来验证结果。
mysql> select * from name;
例如:将张三的出生年月改为1971-01-10
mysql> update name set csny=‘1971-01-10‘ where xm=‘张三‘;
例如:删除张三的纪录。
mysql> delete from name where xm=‘张三‘;
drop database if exists school; //如果存在SCHOOL则删除
create database school; //建立库SCHOOL
use school; //打开库SCHOOL
create table teacher //建立表TEACHER
(
id int(3) auto_increment not null primary key,
name char(10) not null,
address varchar(50) default ’深圳’,
year date
); //建表结束
//以下为插入字段
insert into teacher values(’’,’glchengang’,’深圳一中’,’1976-10-10’);
insert into teacher values(’’,’jack’,’深圳一中’,’1975-12-23’);
alter table dbname add column <字段名><字段选项>
alter table dbname change <旧字段名> <新字段名><选项>
alter table dbname drop column <字段名>
标签:
原文地址:http://www.cnblogs.com/ccjc/p/4463960.html