當(dāng)前位置:首頁 > IT技術(shù) > 數(shù)據(jù)庫(kù) > 正文

Mysql數(shù)據(jù)庫(kù)安裝與簡(jiǎn)介
2021-09-09 09:54:50

  • MySQL 特點(diǎn)?

下面總結(jié)了一下 MySQL 具備的特點(diǎn)

1) 功能強(qiáng)大

MySQL 中提供了多種數(shù)據(jù)庫(kù)存儲(chǔ)引擎,各引擎各有所長(zhǎng),適用于不同的應(yīng)用場(chǎng)合,用戶可以選擇最合適的引擎以得到最高性能,可以處理每天訪問量超過數(shù)億的高強(qiáng)度的搜索 Web 站點(diǎn)。MySQL5 支持事務(wù)、視圖、存儲(chǔ)過程、觸發(fā)器等。

2) 支持跨平臺(tái)

MySQL 支持至少 20 種以上的開發(fā)平臺(tái),包括 Linux、Windows、FreeBSD 、IBMAIX、AIX、FreeBSD 等。這使得在任何平臺(tái)下編寫的程序都可以進(jìn)行移植,而不需要對(duì)程序做任何的修改。

3) 運(yùn)行速度快

高速是 MySQL 的顯著特性。在 MySQL 中,使用了極快的 B 樹磁盤表(MyISAM)和索引壓縮;通過使用優(yōu)化的單掃描多連接,能夠極快地實(shí)現(xiàn)連接;SQL 函數(shù)使用高度優(yōu)化的類庫(kù)實(shí)現(xiàn),運(yùn)行速度極快。

4) 支持面向?qū)ο?/h4>

PHP 支持混合編程方式。編程方式可分為純粹面向?qū)ο?、純粹面向過程、面句對(duì)象與面向過程混合 3 種方式。

5) 安全性高

靈活和安全的權(quán)限與密碼系統(tǒng),允許基本主機(jī)的驗(yàn)證。連接到服務(wù)器時(shí),所有的密碼傳輸均采用加密形式,從而保證了密碼的安全。

6) 成本低

MySQL 數(shù)據(jù)庫(kù)是一種完全免費(fèi)的產(chǎn)品,用戶可以直接通過網(wǎng)絡(luò)下載。

7) 支持各種開發(fā)語言

MySQL 為各種流行的程序設(shè)計(jì)語言提供支持,為它們提供了很多的 API 函數(shù),包括 PHP、ASP.NET、Java、Eiffel、Python、Ruby、Tcl、C、C++、Perl 語言等。

8) 數(shù)據(jù)庫(kù)存儲(chǔ)容量大

MySQL 數(shù)據(jù)庫(kù)的最大有效表尺寸通常是由操作系統(tǒng)對(duì)文件大小的限制決定的,而不是由 MySQL 內(nèi)部限制決定的。InnoDB 存儲(chǔ)引擎將 InnoDB 表保存在一個(gè)表空間內(nèi),該表空間可由數(shù)個(gè)文件創(chuàng)建,表空間的最大容量為 64TB,可以輕松處理擁有上千萬條記錄的大型數(shù)據(jù)庫(kù)。

9) 支持強(qiáng)大的內(nèi)置函數(shù)

PHP 中提供了大量?jī)?nèi)置函數(shù),幾乎涵蓋了 Web 應(yīng)用開發(fā)中的所有功能。它內(nèi)置了數(shù)據(jù)庫(kù)連接、文件上傳等功能,MySQL 支持大量的擴(kuò)展庫(kù),如 MySQLi 等,可以為快速開發(fā) Web 應(yīng)用提供便利。

?

  • 數(shù)據(jù)庫(kù)的應(yīng)用

數(shù)據(jù)庫(kù)是計(jì)算機(jī)應(yīng)用系統(tǒng)中的一種專門管理數(shù)據(jù)資源的系統(tǒng)。數(shù)據(jù)有多種形式,如文字、數(shù)碼、符號(hào)、圖形、圖像及聲音等,數(shù)據(jù)是所有計(jì)算機(jī)系統(tǒng)所要處理的對(duì)象。我們所熟知的一種處理辦法是制作文件,即將處理過程編成程序文件,將所涉及的數(shù)據(jù)按程序要求組成數(shù)據(jù)文件,再用程序來調(diào)用,數(shù)據(jù)文件與程序文件保持著一定的關(guān)系。

在計(jì)算機(jī)應(yīng)用迅速發(fā)展的情況下,這種文件式管理方法便顯出它的不足。比如,它使得數(shù)據(jù)通用性差、不便于移植、在不同文件中存儲(chǔ)大量重復(fù)信息、浪費(fèi)存儲(chǔ)空間、更新不便等。

而數(shù)據(jù)庫(kù)系統(tǒng)便能解決上述問題。數(shù)據(jù)庫(kù)系統(tǒng)不從具體的應(yīng)用程序出發(fā),而是立足于數(shù)據(jù)本身的管理,它將所有數(shù)據(jù)保存在數(shù)據(jù)庫(kù)中,進(jìn)行科學(xué)的組織,并借助于數(shù)據(jù)庫(kù)管理系統(tǒng),以它為中介,與各種應(yīng)用程序或應(yīng)用系統(tǒng)接口,使之能方便地使用數(shù)據(jù)庫(kù)中的數(shù)據(jù)。

其實(shí)簡(jiǎn)單地說,數(shù)據(jù)庫(kù)就是一組經(jīng)過計(jì)算機(jī)整理后的數(shù)據(jù),存儲(chǔ)在一個(gè)或多個(gè)文件中,而管理這個(gè)數(shù)據(jù)庫(kù)的軟件就稱為數(shù)據(jù)庫(kù)管理系統(tǒng)。一般一個(gè)數(shù)據(jù)庫(kù)系統(tǒng)(Database System)
可以分為數(shù)據(jù)庫(kù)(Database)與數(shù)據(jù)管理系統(tǒng)(Database Management System,DBMS)兩個(gè)部分。主流的數(shù)據(jù)庫(kù)軟件有 Oracle、Informix、Sybase、SQL Server、PostgreSQL、MySQL、Access、FoxPro 和 Teradata 等等。

?

tar包 安裝Mysql

#安裝平臺(tái) linux7 (x86,bit-64)

#官網(wǎng)鏈接下載

https://downloads.mysql.com/archives/community/Mysql數(shù)據(jù)庫(kù)安裝與簡(jiǎn)介_mysql安裝簡(jiǎn)介

#創(chuàng)建目錄和用戶

[root@localhost /]# mkdir data
[root@localhost /]# groupadd mysql
[root@localhost /]# useradd mysql -g mysql
[root@localhost /]# chown mysql:mysql /data/mysql -R

#初始化密碼在下面輸入

#注: 記住密碼 修改密碼會(huì)用到

[root@localhost ~]# /data/mysql/bin/mysqld --initialize --basedir=/data/mysql --datadir=/data/mysql/data --user=mysql
2021-09-08T15:42:11.394700Z 0 [Warning] [MY-011070] [Server] 'Disabling symbolic links using --skip-symbolic-links (or equivalent                    ) is the default. Consider not using this option as it' is deprecated and will be removed in a future release.
2021-09-08T15:42:11.394760Z 0 [System] [MY-013169] [Server] /data/mysql/bin/mysqld (mysqld 8.0.25) initializing of server in prog                    ress as process 2261
2021-09-08T15:42:11.400554Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2021-09-08T15:42:12.064115Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2021-09-08T15:42:12.739612Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: *>Vs>wSlu3qB

#創(chuàng)建日志存放文件

[root@localhost /]# mkdir /data/mysql/logs
[root@localhost /]# chown mysql:mysql /data/mysql -R

#創(chuàng)建conf文件

#注:文件路徑必須與主機(jī)一致 查看log日志修改配置文件

[root@localhost /]# cd /data/mysql/
[root@localhost mysql]# vim conf/my.cnf
[mysqld]
server-id = 1
skip-name-resolve
# basedir=/path 最好不要隨便設(shè)置,默認(rèn)擴(kuò)展plugin存放于/usr/lib64/mysql/以及/usr/share/mysql-8.0中,必要的話可以選擇在數(shù)據(jù)庫(kù)中更改路徑
# basedir=/data/mysql
datadir=/data/mysql/data
max_connections = 20000
open_files_limit = 65535
table_open_cache = 128
max_allowed_packet = 4M
binlog_cache_size = 1M
max_heap_table_size = 8M
tmp_table_size = 16M
read_buffer_size = 2M
read_rnd_buffer_size = 8M
sort_buffer_size = 8M
join_buffer_size = 8M
thread_cache_size = 8
#query_cache_size = 16M
#query_cache_limit = 2M
key_buffer_size = 4M
socket=/data/mysql/mysql.sock
log_timestamps=SYSTEM
# 二進(jìn)制日志
log-bin=mysql8_log-bin
#binlog-format=MIXD
# 慢查詢?nèi)罩?,on開啟,query_time超時(shí)時(shí)間設(shè)置
slow-query-log=on
slow-query-log-file=/data/mysql/logs/mysqld.log
long_query_time=2
# error日志
log-error=/data/mysql/logs/mysqld.log
pid-file=/data/mysql/mysqld.pid

innodb_open_files = 600
innodb_buffer_pool_size = 64M
innodb_write_io_threads = 2
innodb_read_io_threads = 2
innodb_thread_concurrency = 0
innodb_purge_threads = 1
innodb_flush_log_at_timeout=1
innodb_flush_log_at_trx_commit=2
innodb_log_buffer_size = 16M
innodb_log_file_size = 32M
innodb_log_files_in_group = 3
innodb_max_dirty_pages_pct = 90
innodb_lock_wait_timeout = 120
bulk_insert_buffer_size = 16M
innodb_log_file_size = 32M
innodb_log_files_in_group = 3
innodb_max_dirty_pages_pct = 90
innodb_lock_wait_timeout = 120
bulk_insert_buffer_size = 16M

[client]
loose-local-infile=1

[mysqldump]
quick

#啟動(dòng)

[root@localhost /]# cd /data/mysql/bin/
[root@localhost bin]# ./mysql -uroot -p --socket=/data/mysql/mysql.sock

#連接

[root@localhost bin]# ./mysql -uroot -p --socket=/data/mysql/mysql.sock

#修改密碼

#注:mysql中必須以分號(hào)結(jié)尾

[root@localhost bin]# ./mysql -uroot -p --socket=/data/mysql/mysql.sock
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or g.
Your MySQL connection id is 13
Server version: 8.0.25

Copyright (c) 2000, 2021, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.

mysql>
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';
Query OK, 0 rows affected (0.01 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
mysql> update user set host='%' where user='root';
mysql> ALTER USER 'root'@'%' IDENTIFIED BY '123123';

?

本文摘自 :https://blog.51cto.com/u

開通會(huì)員,享受整站包年服務(wù)立即開通 >