MySQL数据库的实际配置技巧简介
以下的文章主要介绍的是MySQL数据库的实际配置技巧,我们大家都知道用root的相关用户启动的远程服务,其一直是个安全大忌,主要原因是如果相关的服务程序出现一些问题,远程攻击者极有可能获得主机的完全控制权。 MySQL(和PHP搭配之最佳组合)从3.23.15版 本
以下的文章主要介绍的是MySQL数据库的实际配置技巧,我们大家都知道用root的相关用户启动的远程服务,其一直是个安全大忌,主要原因是如果相关的服务程序出现一些问题,远程攻击者极有可能获得主机的完全控制权。
MySQL(和PHP搭配之最佳组合)从3.23.15版
本开始时作了小小的改动,默认安装后服务要用MySQL(和PHP搭配之最佳组合)用户来启动,不允许root用户启动。如果非要用root用户来启动,必须加上--user=root
的参数(./safe_MySQL(和PHP搭配之最佳组合)d --user=root &)。因为MySQL(和PHP搭配之最佳组合)中有LOAD DATA INFILE和SELECT ... INTO OUTFILE的SQL语句,如果是root用户启动了
MySQL(和PHP搭配之最佳组合)服务器,那么,MySQL数据库用户就拥有了root用户的写权限。不过MySQL(和PHP搭配之最佳组合)还是做了一些限制的,比如LOAD DATA INFILE只能读全局可读的文件
,SELECT ... INTO OUTFILE不能覆盖已经存在的文件。
本地的日志文件也不能忽视,包括shell的日志和MySQL(和PHP搭配之最佳组合)自己的日志。有些用户在本地登陆或备份MySQL数据库的时候为了图方便,有时会在命令行参
数里直接带了数据库的密码,如:
shell>/usr/local/MySQL(和PHP搭配之最佳组合)/bin/MySQL(和PHP搭配之最佳组合)dump -uroot -ptest test>test.sql
shell>/usr/local/MySQL(和PHP搭配之最佳组合)/bin/MySQL(和PHP搭配之最佳组合) -uroot -ptest
这些命令会被shell记录在历史文件里,比如bash会写入用户目录的.bash_history文件,如果这些文件不慎被读,那么数据库的密码就会泄漏
。用户登陆数据库后执行的SQL命令也会被MySQL(和PHP搭配之最佳组合)记录在用户目录的.MySQL(和PHP搭配之最佳组合)_history文件里。如果MySQL数据库用户用SQL语句修改了数据库密码,也会
因.MySQL(和PHP搭配之最佳组合)_history文件而泄漏。所以我们在shell登陆及备份的时候不要在-p后直接加密码,而是在提示后再输入MySQL数据库密码。
另外这两个文件我们也应该不让它记录我们的操作,以防万一。
shell>rm .bash_history .MySQL(和PHP搭配之最佳组合)_history
shell>ln -s /dev/null .bash_history
shell>ln -s /dev/null .MySQL(和PHP搭配之最佳组合)_history
上门这两条命令把这两个文件链接到/dev/null,那么我们的操作就不会被记录到这两个文件里了。
编程需要注意的一些问题
不管是用哪种程序语言写连接MySQL(和PHP搭配之最佳组合)MySQL数据库的程序,有一条准则是永远不要相信用户提交的数据!
对于数字字段,我们要使用查询语句:SELECT * FROM table WHERE ID='234',不要使用SELECT * FROM table WHERE ID=234这样的查询语句
。MySQL(和PHP搭配之最佳组合)会自动把字串转换为数字字符并且去除非数字字符。如果用户提交的数据经过了MySQL(和PHP搭配之最佳组合)_escape_string处理,这样我们就可以完全杜绝
各种编程语言该注意的问题:
1)所有Web程序:
a)尝试在Web表单输入单引号和双引号来测试可能出现的错误,并找出原因所在。
b)修改URL参数带的%22 ('"'), %23 ('#'), 和 %27 (''')。
c)对于数字字段的变量,我们的应用程序必须进行严格的检查,否则是非常危险的。
d)检查用户提交的数据是否超过字段的长度。
e)不要给自己程序连接MySQL数据库的用户过多的访问权限。
2)PHP:
a)检查用户提交的数据在查询之前是否经过addslashes处理,在PHP 4.0.3以后提供了基于MySQL(和PHP搭配之最佳组合) C API的函数MySQL(和PHP搭配之最佳组合)_escape_string()。
3)MySQL(和PHP搭配之最佳组合) C API:
a)检查查询字串是否用了MySQL(和PHP搭配之最佳组合)_escape_string() API调用。
4)MySQL(和PHP搭配之最佳组合)++:
a)检查查询字串是否用了escape和quote处理。
5)Perl DBI:
a)检查查询字串是否用了quote()方法。
6)Java JDBC:
a)检查查询字串是否用了PreparedStatement对象。
一些小窍门
1)如果不慎忘记了MySQL(和PHP搭配之最佳组合)的root密码,我们可以在启动MySQL(和PHP搭配之最佳组合)服务器时加上参数--skip-grant-tables来跳过授权表的验证 (./safe_MySQL(和PHP搭配之最佳组合)d
--skip-grant-tables &),这样我们就可以直接登陆MySQL(和PHP搭配之最佳组合)服务器,然后再修改root用户的口令,重启MySQL(和PHP搭配之最佳组合)就可以用新口令登陆了。
2)启动MySQL(和PHP搭配之最佳组合)服务器时加上--skip-show-database使一般数据库用户不能浏览其它MySQL数据库。
3)启动MySQL(和PHP搭配之最佳组合)服务器时加上--chroot=path参数,让MySQL(和PHP搭配之最佳组合)d守护进程运行在chroot环境中。这样SQL语句LOAD DATA INFILE和SELECT ... INTO
OUTFILE就限定在chroot_path下读写文件了。这里有一点要注意,MySQL(和PHP搭配之最佳组合)启动后会建立一个MySQL(和PHP搭配之最佳组合).sock文件,默认是在/tmp目录下。使用了
chroot后,MySQL(和PHP搭配之最佳组合)会在chroot_path/tmp去建立MySQL(和PHP搭配之最佳组合).sock文件,如果没有chroot_path/tmp目录或启动MySQL(和PHP搭配之最佳组合)的用户没有这个目录写权限就不能
建立MySQL(和PHP搭配之最佳组合).sock文件,MySQL(和PHP搭配之最佳组合)会启动失败。比如我们加了--chroot=/usr/local/MySQL(和PHP搭配之最佳组合)/启动参数,那么最好建立一个启动MySQL(和PHP搭配之最佳组合)的用户能写的
/usr/local/MySQL(和PHP搭配之最佳组合)/tmp目录,当然我们也可以用--socket=path来指定MySQL(和PHP搭配之最佳组合).sock文件的路径,但这个path一定要在chroot_path里面。
4)启动MySQL(和PHP搭配之最佳组合)服务器时加上--log-slow-queries[=file]参数,这样MySQL(和PHP搭配之最佳组合)d会把SQL命令执行时间超过long_query_time的写入file文件。如果没
有指定=file,MySQL(和PHP搭配之最佳组合)d默认会写到数据目录下的hostname-slow.log。如果只指定了filename,没有指定路径,那么MySQL(和PHP搭配之最佳组合)d也会把filename写到
数据目录下。我们通过这个日志文件可以找出执行时间超长的查询语句,然后尽可能的优化它减轻MySQL(和PHP搭配之最佳组合)服务器的负担。
5)如果我们只需本机使用MySQL(和PHP搭配之最佳组合)服务,那么我们还可以加上--skip-networking启动参数使MySQL(和PHP搭配之最佳组合)不监听任何TCP/IP连接,增加安全性
以上的相关内容就是对MySQL数据库配置技巧的介绍,望你能有所收获。

Kedudukan MySQL dalam pangkalan data dan pengaturcaraan sangat penting. Ia adalah sistem pengurusan pangkalan data sumber terbuka yang digunakan secara meluas dalam pelbagai senario aplikasi. 1) MySQL menyediakan fungsi penyimpanan data, organisasi dan pengambilan data yang cekap, sistem sokongan web, mudah alih dan perusahaan. 2) Ia menggunakan seni bina pelanggan-pelayan, menyokong pelbagai enjin penyimpanan dan pengoptimuman indeks. 3) Penggunaan asas termasuk membuat jadual dan memasukkan data, dan penggunaan lanjutan melibatkan pelbagai meja dan pertanyaan kompleks. 4) Soalan -soalan yang sering ditanya seperti kesilapan sintaks SQL dan isu -isu prestasi boleh disahpepijat melalui arahan jelas dan log pertanyaan perlahan. 5) Kaedah pengoptimuman prestasi termasuk penggunaan indeks rasional, pertanyaan yang dioptimumkan dan penggunaan cache. Amalan terbaik termasuk menggunakan urus niaga dan preparedStatemen

MySQL sesuai untuk perusahaan kecil dan besar. 1) Perniagaan kecil boleh menggunakan MySQL untuk pengurusan data asas, seperti menyimpan maklumat pelanggan. 2) Perusahaan besar boleh menggunakan MySQL untuk memproses data besar dan logik perniagaan yang kompleks untuk mengoptimumkan prestasi pertanyaan dan pemprosesan transaksi.

InnoDB secara berkesan menghalang pembacaan hantu melalui mekanisme utama. 1) Kekunci seterusnya menggabungkan kunci baris dan kunci jurang untuk mengunci rekod dan jurang mereka untuk mengelakkan rekod baru daripada dimasukkan. 2) Dalam aplikasi praktikal, dengan mengoptimumkan pertanyaan dan menyesuaikan tahap pengasingan, persaingan kunci dapat dikurangkan dan prestasi konkurensi dapat ditingkatkan.

MySQL bukan bahasa pengaturcaraan, tetapi bahasa pertanyaannya SQL mempunyai ciri -ciri bahasa pengaturcaraan: 1. SQL menyokong penghakiman bersyarat, gelung dan operasi berubah -ubah; 2. Melalui prosedur, pencetus dan fungsi yang disimpan, pengguna boleh melakukan operasi logik yang kompleks dalam pangkalan data.

MySQL adalah sistem pengurusan pangkalan data relasi sumber terbuka, terutamanya digunakan untuk menyimpan dan mengambil data dengan cepat dan boleh dipercayai. Prinsip kerjanya termasuk permintaan pelanggan, resolusi pertanyaan, pelaksanaan pertanyaan dan hasil pulangan. Contoh penggunaan termasuk membuat jadual, memasukkan dan menanyakan data, dan ciri -ciri canggih seperti Operasi Join. Kesalahan umum melibatkan sintaks SQL, jenis data, dan keizinan, dan cadangan pengoptimuman termasuk penggunaan indeks, pertanyaan yang dioptimumkan, dan pembahagian jadual.

MySQL adalah sistem pengurusan pangkalan data sumber terbuka yang sesuai untuk penyimpanan data, pengurusan, pertanyaan dan keselamatan. 1. Ia menyokong pelbagai sistem operasi dan digunakan secara meluas dalam aplikasi web dan bidang lain. 2. Melalui seni bina pelanggan-pelayan dan enjin penyimpanan yang berbeza, MySQL memproses data dengan cekap. 3. Penggunaan asas termasuk membuat pangkalan data dan jadual, memasukkan, menanyakan dan mengemas kini data. 4. Penggunaan lanjutan melibatkan pertanyaan kompleks dan prosedur yang disimpan. 5. Kesilapan umum boleh disahpepijat melalui pernyataan yang dijelaskan. 6. Pengoptimuman Prestasi termasuk penggunaan indeks rasional dan pernyataan pertanyaan yang dioptimumkan.

MySQL dipilih untuk prestasi, kebolehpercayaan, kemudahan penggunaan, dan sokongan komuniti. 1.MYSQL Menyediakan fungsi penyimpanan dan pengambilan data yang cekap, menyokong pelbagai jenis data dan operasi pertanyaan lanjutan. 2. Mengamalkan seni bina pelanggan-pelayan dan enjin penyimpanan berganda untuk menyokong urus niaga dan pengoptimuman pertanyaan. 3. Mudah digunakan, menyokong pelbagai sistem operasi dan bahasa pengaturcaraan. 4. Mempunyai sokongan komuniti yang kuat dan menyediakan sumber dan penyelesaian yang kaya.

Mekanisme kunci InnoDB termasuk kunci bersama, kunci eksklusif, kunci niat, kunci rekod, kunci jurang dan kunci utama seterusnya. 1. Kunci dikongsi membolehkan urus niaga membaca data tanpa menghalang urus niaga lain dari membaca. 2. Kunci eksklusif menghalang urus niaga lain daripada membaca dan mengubah suai data. 3. Niat Kunci mengoptimumkan kecekapan kunci. 4. Rekod Rekod Kunci Kunci Rekod. 5. Gap Lock Locks Index Rakaman Gap. 6. Kunci kunci seterusnya adalah gabungan kunci rekod dan kunci jurang untuk memastikan konsistensi data.


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

MinGW - GNU Minimalis untuk Windows
Projek ini dalam proses untuk dipindahkan ke osdn.net/projects/mingw, anda boleh terus mengikuti kami di sana. MinGW: Port Windows asli bagi GNU Compiler Collection (GCC), perpustakaan import yang boleh diedarkan secara bebas dan fail pengepala untuk membina aplikasi Windows asli termasuk sambungan kepada masa jalan MSVC untuk menyokong fungsi C99. Semua perisian MinGW boleh dijalankan pada platform Windows 64-bit.

Versi Mac WebStorm
Alat pembangunan JavaScript yang berguna

SecLists
SecLists ialah rakan penguji keselamatan muktamad. Ia ialah koleksi pelbagai jenis senarai yang kerap digunakan semasa penilaian keselamatan, semuanya di satu tempat. SecLists membantu menjadikan ujian keselamatan lebih cekap dan produktif dengan menyediakan semua senarai yang mungkin diperlukan oleh penguji keselamatan dengan mudah. Jenis senarai termasuk nama pengguna, kata laluan, URL, muatan kabur, corak data sensitif, cangkerang web dan banyak lagi. Penguji hanya boleh menarik repositori ini ke mesin ujian baharu dan dia akan mempunyai akses kepada setiap jenis senarai yang dia perlukan.

Dreamweaver Mac版
Alat pembangunan web visual

Pelayar Peperiksaan Selamat
Pelayar Peperiksaan Selamat ialah persekitaran pelayar selamat untuk mengambil peperiksaan dalam talian dengan selamat. Perisian ini menukar mana-mana komputer menjadi stesen kerja yang selamat. Ia mengawal akses kepada mana-mana utiliti dan menghalang pelajar daripada menggunakan sumber yang tidak dibenarkan.