MySQL簡介
MySQL是一個(gè)關(guān)系型數(shù)據(jù)庫管理系統(tǒng),由瑞典MySQL AB公司開發(fā),目前屬于Oracle旗下產(chǎn)品。
因?yàn)镸ySQL使用數(shù)據(jù)庫訪問的標(biāo)準(zhǔn)化語言 —— SQL語言,且它具有體積小、速度快、開源等特點(diǎn),所以一般中小型網(wǎng)站的開發(fā)都選擇MySQL作為網(wǎng)站數(shù)據(jù)庫。
MySQL安裝
- 根據(jù)Linxu發(fā)行版下載MySQL的yum源,也可以直接通過wget來下載。
# CentOS6或Red Hat6
wget https://dev.mysql.com/get/mysql57-community-release-el6-11.noarch.rpm
- 安裝MySQL的yum源。
# 方式一:通過rpm
rpm -Uvh mysql57-community-release-el6-11.noarch.rpm
# 方式二:通過yum localinstall
yum -y localinstall mysql57-community-release-el6-11.noarch.rpm
- 檢查MySQL的yum源是否安裝成功。
yum repolist enabled | grep "mysql.*-community.*"
- 利用yum來安裝MySQL,并隨后檢測是否安裝成功。
# 安裝MySQL
yum -y install mysql-community-server
# 是否安裝成功
rpm -qa | grep mysql
- 修改MySQL的默認(rèn)配置文件
/etc/my.cnf為如下內(nèi)容。
[mysqld]
explicit_defaults_for_timestamp=true
datadir=/var/lib/mysql/
socket=/var/lib/mysql/mysql.sock
user=mysql
symbolic-links=0
default-storage-engine=InnoDB
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
初始化MySQL:
mysqld --initialize --user=mysql。MySQL的啟動(dòng)、停止、重啟、自啟動(dòng)等操作。
# CentOS7及其以上
systemctl start|stop|restart|enable mysqld
# CentOS7以下
service mysqld start|stop|restart|reload
chkconfig mysqld on
MySQL賬號
默認(rèn)root賬號
- MySQL5.7初始化完,默認(rèn)會生成賬號root,其臨時(shí)密碼位于錯(cuò)誤日志
/var/log/mysqld.log中。
A temporary password is generated for root@localhost: #dol!(gpM7pg
mysql -u root -p并輸入上面的臨時(shí)密碼,登入mysql。修改賬號root的密碼。
mysql > set password for root@localhost=password('新密碼');
-
MySQL中的每個(gè)賬號都是由user和host組成,格式為
user@host,user表示用戶名,host表示此用戶能訪問MySQL的ip限制。默認(rèn)生成的root賬號為
root@localhost。于是,只能在ip為127.0.0.1(即本地)使用root訪問MySQL。若host為
%,表示允許任何ip訪問。
創(chuàng)建賬號
- 創(chuàng)建一個(gè)日常使用的可本地或遠(yuǎn)程登錄MySQL的賬號。
# 創(chuàng)建賬號daking
mysql > create user 'daking'@'%' identified by 'daking';
# 給daking賦予權(quán)限
mysql > grant all privileges on *.* to 'daking'@'localhost' identified by 'daking';
mysql > grant all privileges on *.* to 'daking'@'%' identified by 'daking';
# 刷新MySQL權(quán)限
mysql > flush privileges;
# 給daking設(shè)置密碼
mysql > set password for daking@localhost=password('本地登錄的密碼');
mysql > set password for daking@'%'=password('遠(yuǎn)程登錄的密碼');
其他
- 查看MySQL的所有賬號。
mysql > select user,host from mysql.user;
+-----------+-----------+
| user | host |
+-----------+-----------+
| daking | % |
| mysql.sys | localhost |
| daking | localhost |
| root | localhost |
+-----------+-----------+
MySQL配置
防火墻配置
- 添加iptables的配置,并重啟iptables。
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
默認(rèn)存儲引擎
在MySQL配置文件(如
/etc/my.cnf)中的[mysqld]節(jié)點(diǎn)下添加default-storage-engine=InnoDB,并重啟MySQL。查看MySQL的引擎。
mysql > show engines;
統(tǒng)一utf8字符集
- 修改MySQL的配置文件,如
/etc/my.cnf。
[mysqld]
character_set_server=utf8
collation-server=utf8_general_ci
[client]
default-character-set=utf8
- 檢測編碼是否設(shè)置成功。
mysql > show variables like 'character%';