Mysql的安裝
MySQL本身实际上只是一个SQL接口,它的内部还包含了多种数据引擎,常用的包括:
- InnoDB:由Innobase Oy公司开发的一款支持事务的数据库引擎,2006年被Oracle收购; (默認)
- MyISAM:MySQL早期集成的默认数据库引擎,不支持事务。
一、Mysql的安裝
安裝包:mysql-5.7.26-1.el7.x86_64.rpm-bundle.tar
一般使用yum或者rpm包安裝,不使用編譯安裝,因為大部份情況rpm包的默認配置已經滿足需求。
- 查看是否安裝了mysql
rpm -qa| grep mysql
如果安裝了postfix或者mariadb都要用rpm -ev卸載
-
rpm安裝
把tar解壓:
tar -xvf mysql-5.7.26-1.el7.x86_64.rpm-bundle.tar
得到很多rpm包,其中我們只需要四個:(注意順序)
mysql-community-common-5.7.19-1.el7.x86_64.rpm
mysql-community-libs-5.7.19-1.el7.x86_64.rpm
mysql-community-client-5.7.19-1.el7.x86_64.rpm
mysql-community-server-5.7.19-1.el7.x86_64.rpm –nodeps (強制安裝)
按順序進行安裝,rpm -ivh
可能需要安裝一些依賴:
perl、gcc*、libaio、net-tools等,需要什麽就用yum安裝就好。
-
啟動服務之前配置
/etc/my.cnf
配置文件,管理默認配置/var/log
存放日誌文件/var/lib
存放數據文件,可以把此文件移到其他目錄,但是這樣就要更改/etc/my.cnf
datadir=/u/mysql (數據存儲位置,注意文件夾的所有者應該是mysql,啟動數據庫應該會更改,不然就useradd mysql
groupadd mysql chown -R mysql:mysql /var/lib/mysql/)
socket=/u/mysql/mysql.sock (移動數據文件,鎖文件會有問題)
[mysqld]
innodb_buffer_pool_size = 2147483648
(運行內存池大小,默認的太小128M,改為內存的0.5-0.7,也可以在mysql中 show variables like '%size%';
set GLOBAL innodb_buffer_pool_size=4342177280; 來改,但是只能暫時改)
server-id=2
log-bin=mysql-bin (這兩步打開二進制日誌)
character_set_server = utf8
collation-server=utf8_general_ci (改編碼模式)
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
default_password_lifetime=0 (密碼永不到期)
[mysql]
socket=/u/mysql/mysql.sock (所以要修改鎖文件的默認配置)
[client]
socket=/u/mysql/mysql.sock
-
啟動服務
systemctl start mysqld
-
查看并修改密碼
cat /var/log/mysqld.log | grep password 可查看默認密碼
使用
mysql -uroot -p
登陸修改密碼:
alter user 'root'@'localhost' identified by 'Szlh.2019';
二、連接數據庫
-
遠程連接設置:
use mysql; update user set host='%' where user='root';(修改user表中的host從localhost為%)
-
授权用户名的权限,赋予任何主机访问数据的权限
root用戶:
grant all privileges ON *.* to 'root'@'%' with grant option;
flush privileges;
其他用戶:
create user 'flame'@'%' identified by 'password';(創建新用戶)
create database flame;(創建新庫)
grant all privileges on flame.* to 'flame'@'%';(給新用戶登陸新庫的所有權限)
flush privileges;(刷新,很重要!!!)