謝煙客---------二進制安裝MariaDB,管理關系型數據庫的基本組件
阿新 • • 發佈:2017-10-01
struggle strive endeavo
特性、二進制安裝方法、安裝生成的程序、MariaDB程序的組成、SQL接口、關系型數據庫的組件、管理數據庫組件、數據類型、修飾
MariaDB,開源RDBMS的實現
特性、
安裝MariaDB方法、
CentOS 6: 通用二進制格式安裝MariaDB 1、獲取源碼 官方站點:www.mariadb.org 2、安裝MariDB 1)添加用戶 2)準備數據庫 3)展開及配置 3、測試啟動服務並登陸MariaDB 4、安全初始化 5、通用配置 1、獲取源碼 2、安裝MariaDB 1) 添加用戶: # groupadd -r -g 306 mysql # useradd -r -g 306 -u 306 mysql 2) 準備數據庫: # btrfs # lvm2 快照,數據庫備份 # fdisk -l /dev/[sh]d[a-z] //查看所有磁盤 # fdisk /dev/sda //管理指定磁盤 # partx -a /dev/sda # partx -a /dev/sda # pvcreate /dev/sda3 # vgcreate vg0 /dev/sda3 # lvcreate -L 10G -n mylv vg0 # 查看可被格式的文件系統類型 # cat /proc/filesystems **沒有xfs,xfs比ext文件易擴展,易用 # 查看模塊 # lsmod # 安裝使用xfs文件系統 # yum search xfs //xfsprogs.i686 : Utilities for managing the XFS filesystem 文件系統組成: 模塊、用戶空間的管理工具、POSIX # yum -y install xfsprogs # 安裝後查看內核中的模塊 # rpm -ql xfsprogs //只提供程序,並未提供模塊 # modinfo xfs //沒有此模塊 # modprobe xfs //如果有則可以安裝 # mke2fs -t ext4 /dev/vg0/mylv # vim /etc/fstab /dev/vg0/mylv /mydata/data ext4 defaults 1 2 # mkdir -p /mydata/data # chown mysql.mysql /mydata/data # mount -a 3) 展開及配置: 展開: # tar xf mariadb-5.5.57-linux-i686.tar.gz -C /usr/local/ # cd /usr/local/ # ls //查看文件 # ln -sv mariadb-5.5.57-linux-i686 mysql # ll //查看鏈接 # cd mysql # ll //查看權限 # chown -R mysql.mysql ./* # ll //確認 元數據生成: # scripts/mysql_install_db --help --user=user_name --basedir=path //指明mariadb的安裝目錄 --datadir=path //MariaDB的數據庫的目錄 --defaults-extra-file=name //配置文件 # /usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --user=mysql --datadir=/mydata/data/ # ls /mydata/data //查看文件是否生成 準備配置文件: 配置文件讀取路徑: /etc/my.cnf --> /etc/mysql/my.cnf --> --default-extra-file --> ~/.my.cnf # mkdir /etc/mysql # ls support-files/ //查看提供的文件 1) my*.cnf //均為配置 large(512M內存), meduim(256M), small(64M) 內存4G innodb-heavy-4G.cnf 2) mysql.server //提供的服務腳本 # cp support-files/my-large.cnf /etc/mysql/my.cnf 修改配置文件: 配置文件類ini格式, 相同配置段出現多次時,最後一個配置段為最終生效段. [client] #password = your_password port = 3306 socket = /tmp/mysql.sock //客戶端通過/tmp/mysql.sock與服務端通信 [mysqld] port = 3306 //服務端監聽的端口 socket = /tmp/mysql.sock //服務端監聽在unix socket # Try number of CPU‘s*2 for thread_concurrency 線程數為CPU核心數的2倍 thread_concurrency = 4 -------- datadir = /mydata/data //數據庫的目錄 innodb_file_per_table = on //innodb的特性,每個文件當作一個表 skip_name_resolve = on //跳過IP-->反解為主機名.授權只基於IP即可,加速 準備服務腳本 # ls support-files/ //查看服務腳本的位置及權限 # cp support-files/mysql.server /etc/rc.d/init.d/mysqld # chkconfig --add mysqld # chkconfig --list mysqld 4)測試啟動服務 # ss -tnl //查看3306端口是否被占用 # service mysqld start /usr/local/mysql/bin/mysqld_safe_helper: Can‘t create/write to file ‘/var/log/mysqld.log‘ (Errcode: 13) # touch /var/log/mysqld.log # chown root.mysql /var/log/mysqld.log # chmod 660 /var/log/mysqld.log # /usr/local/mysql/bin/mysql MariaDB [(none)]> 5) 安全初始化 MariaDB [(none)]> SELECT User,Host,Password FROM mysql.user; +------+-----------------------+----------+ | User | Host | Password | +------+-----------------------+----------+ | root | localhost | | | root | localhost.localdomain | | | root | 127.0.0.1 | | | root | ::1 | | | | localhost | | | | localhost.localdomain | | +------+-----------------------+----------+ 6 rows in set (0.00 sec) 註意:在本地主機上root,及一個匿名用戶沒有對應的密碼 # /usr/local/mysql/bin/mysql_secure_installation # /usr/local/mysql/bin/mysql -uroot -hlocalhost -pmagedu MariaDB [(none)]> 6)通用配置 查看安裝目錄 # ls /usr/local/mysql bin data include lib mysql-test scripts sql-bench COPYING EXCEPTIONS-CLIENT INSTALL-BINARY man README share support-files 1、導出PATH變量 # vim /etc/profile.d/mysql.sh export PATH=/usr/local/mysql/bin:$PATH # . /etc/profile.d/mysql.sh 2、導出庫文件 # vim /etc/ld.so.conf.d/mysql.conf /usr/local/mysql/lib # ldconfig [-v] 3、導出頭文件 # ln -sv /usr/local/mysql/include /usr/include/mysql 4、導出man手冊 # vim /etc/man.config MANPATH /usr/local/mysql/man
MariaDB程序組成
# ls /usr/local/mysql/bin 1、服務端程序 mysqld_safe[ps命令即可查詢:"線程安全的mysql"] mysqld_multi["多個mysql,使用不同的端口"] mysql協議:數據存儲協議:C/S架構 實現: mysqld 進程間的通信: 同主機通信:unix socket、message queue(signal)、share memory、semphor(旗語) 跨主機:socket、rpc mysqld同主機:基於unix socket通信 服務器監聽在: server地址: localhost, 127.0.0.1 二進制安裝:/tmp/mysql.sock rpm安裝: /var/lib/mysql/mysql.sock 2、客戶端程序 mysql CLI、GUI(phpMyadmin) mysqladmin mysqlbinlog 二進制日誌管理 mysqldump 客戶端程序: mysql使用 mysql [-uUSERNAME] [-hHOST] [-pPASSWORD] 註意: 1、mysql用戶名: ‘USERNAME‘@‘HOST‘ HOST:支持通配符: % 任意長度任意字符 _ 任意單個字符 例如: 172.16.0.0/16網絡用通配符表示 172.16.% 172.16.0.% 172.16.%.% 2、不給-u: 默認用戶名為root 不給-h: 默認HOST為localhost或127.0.0.1 不給-p: 默認PASSWORD為空
SQL接口
SQL接口: 與mysqld相互 MariaDB [(none)]> 客戶端命令:本地執行 命令名 簡寫格式 help (\?) //獲取幫助 clear (\c) //清空輸入的內容 ego (\G) 垂直顯示結果 quit (\q) //退出mysql, status (\s) //查看服務器的狀態信息 system (\!) //執行shell命令 use (\u) use DB, 設定默認數據庫 服務端命令:在服務器端執行並取回,命令有結束符";" > SELECT VERSION(); 調用函數並執行 > SELECT 1+1; > SELECT 0.99^365 > SELECT 1.0^365
關系型數據庫的組件、
管理關系型數據庫的基本組件
註意:寫的格式統一,因為mysql緩存是根據MD5值存儲緩存。如果兩次輸入的字母大小寫不同時,其MD5值不同。
獲取命令幫助:
數據庫管理
表管理
數據類型、
數據類型: datatype 字符: 定長字符: 不區分大小寫 char(#) 用或不用,給1個占10個 區分大小寫 變長字符: 不區分大小寫 varchar(#) 有結束符,占用一個, 給1個,占2個 區分大小寫 對象存儲:大文本存儲 TEXT 不區分 BLOB 區分 內置: ENUM 枚舉 SET 集合 數值: 精確:整型[int]、十進制[decimal] int tinyint 1byte smallint 2bytes mediumint 3bytes int 4bytes bigint 8bytes 範圍: 0 - 2^64-1 近似: 單精度浮點[float]、雙精度浮點[double] 修飾 NOT NULL NULL
本文出自 “Reading” 博客,請務必保留此出處http://sonlich.blog.51cto.com/12825953/1970069
謝煙客---------二進制安裝MariaDB,管理關系型數據庫的基本組件