Linux環(huán)境下安裝MySQL步驟詳解
本文轉(zhuǎn)載自微信公眾號(hào)「SQL數(shù)據(jù)庫(kù)開(kāi)發(fā)」,作者丶平凡世界。轉(zhuǎn)載本文請(qǐng)聯(lián)系SQL數(shù)據(jù)庫(kù)開(kāi)發(fā)公眾號(hào)。
MySQL的主從復(fù)制,很多小伙伴一直覺(jué)得配置起來(lái)很難,最近這段時(shí)間,我會(huì)以實(shí)操的方式帶大家一步一步的配置,在配置之前,咱們要先打好基礎(chǔ)環(huán)境,安裝MySQL。
整個(gè)MySQL安裝分為以下幾部分:
- 前言
- 安裝CentOS 7
- 下載MySQL
- 卸載Maria DB
- 創(chuàng)建mysql用戶和組
- MySQL安裝前準(zhǔn)備
- 配置my.cnf文件
- 開(kāi)始安裝MySQL
- 配置MySQL
- 配置防火墻
一、前言
以前在安裝MySQL時(shí)總會(huì)出現(xiàn)一些小問(wèn)題,導(dǎo)致安裝進(jìn)度過(guò)慢甚至失敗,有問(wèn)題就解決問(wèn)題就是了,通過(guò)搜索到一些教程和自己實(shí)際操作,總結(jié)了這套安裝教程,希望大家能一起進(jìn)步。
二、安裝CentOS 7
我們下載CentOS 7的安裝包后,通過(guò)VMware來(lái)進(jìn)行安裝,這里我們提供一些相關(guān)的安裝軟件,具體的安裝教程大家可以網(wǎng)上搜索一下,這里就不贅述了。
三、下載MySQL安裝包
這里我們使用的是社區(qū)版的MySQL 5.6.39,可以去MySQL官網(wǎng)下載對(duì)應(yīng)的安裝文件,具體鏈接如下:
https://downloads.mysql.com/archives/community/
打開(kāi)界面后,我們選擇我們需要的版本5.6.39,適應(yīng)系統(tǒng)是64位的Linux-Generic,如下圖:
點(diǎn)擊右邊的下載即可。
以上提供的CentOS默認(rèn)情況下是會(huì)直接連網(wǎng)的,可以直接在CentOS里面下載,你也可以使用FTP傳輸工具從本地將MySQL安裝包傳到CentOS。
四、卸載Maria DB
CentOS默認(rèn)安裝的數(shù)據(jù)庫(kù)是Maria DB,我們要先將他卸載掉之后再安裝MySQL。
1、查詢出來(lái)已經(jīng)安裝了的Maria DB
- [root@localhost ~]# rpm -qa|grep maria*
2、卸載Maria DB
- [root@localhost ~]# rpm -e --nodeps 文件名
注:文件名為上面查詢出來(lái)的文件名,如果有多個(gè)執(zhí)行多次即可。然后再重新執(zhí)行一下第1步的查詢命令確認(rèn)是否都卸載完成。
3、刪除etc目錄下的my.cnf
- [root@localhost ~]# rm /etc/my.cnf
五、創(chuàng)建MySQL用戶和組
1、創(chuàng)建MySQL用戶組
- [root@localhost ~]# groupadd mysql
2、添加MySQL用戶并添加到MySQL用戶組
- [root@localhost ~]# useradd -g mysql mysql
六、MySQL安裝前準(zhǔn)備
1、將下載好的壓縮包移動(dòng)到/usr/local/ 目錄下(這里可以先切到壓縮包所在的目錄)
- [root@localhost ~]mv mysql-5.6.39-linux-glibc2.12-x86_64.tar.gz /usr/local/
2、解壓安裝包
- [root@localhost local]#tar -zxvf mysql-5.6.39-linux-glibc2.12-x86_64.tar.gz
3、將解壓后的文件夾重命名為mysql
- [root@localhost local]# mv mysql-5.6.39-linux-glibc2.12-x86_64 mysql
七、配置my.cnf文件
1、將/usr/local/mysql/support-files路徑下的my-default.cnf文件拷貝到/etc/my.cnf命名為my.cnf
- [root@localhost support-files]# cp my-default.cnf /etc/my.cnf
2、配置/etc目錄下的my.cnf文件
- [root@localhost support-files]# vim /etc/my.cnf
3、修改my.cnf里面的內(nèi)容
- [mysql]
- # 設(shè)置mysql客戶端默認(rèn)字符集
- default-character-set=utf8
- socket=/var/lib/mysql/mysql.sock
- [mysqld]
- skip-name-resolve
- #設(shè)置3306端口
- port = 3306
- socket=/var/lib/mysql/mysql.sock
- # 設(shè)置mysql的安裝目錄
- basedir=/usr/local/mysql
- # 設(shè)置mysql數(shù)據(jù)庫(kù)的數(shù)據(jù)的存放目錄
- datadir=/usr/local/mysql/data
- # 允許最大連接數(shù)
- max_connections=1000
- # 服務(wù)端使用的字符集默認(rèn)為8比特編碼的latin1字符集
- character-set-server=utf8
- # 創(chuàng)建新表時(shí)將使用的默認(rèn)存儲(chǔ)引擎
- default-storage-engine=INNODB
- lower_case_table_name=1
- max_allowed_packet=16M
八、開(kāi)始安裝MySQL
1、進(jìn)入到mysql文件目錄下,執(zhí)行如下命令
- [root@localhost ~]# cd /usr/local/mysql
- [root@localhost mysql]# chown -R mysql:mysql ./ 修改當(dāng)前目錄擁有者為mysql用戶
- [root@localhost mysql]# ./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ 安裝數(shù)據(jù)庫(kù)
注:命令中的中文為注釋,不用輸入。
2、如果出現(xiàn)以下錯(cuò)誤:
- FATAL ERROR: please install the following Perl modules before executing ./scripts/mysql_install_db:Data::Dumper
解決辦法:
- [root@localhost ~]yum -y install autoconf //此包安裝時(shí)會(huì)安裝Data:Dumper模塊
安裝完成重新執(zhí)行上面的安裝數(shù)據(jù)庫(kù)
3、修改當(dāng)前data目錄的擁有者為mysql用戶
- [root@localhost mysql]# chown -R mysql:mysql data
九、配置MySQL
1、授予my.cnf最大權(quán)限
- [root@localhost ~]# chown 777 /etc/my.cnf
2、設(shè)置MySQL自啟動(dòng)
復(fù)制啟動(dòng)腳本到資源目錄
- [root@localhost mysql]# cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld
3、增加mysqld服務(wù)控制腳本執(zhí)行權(quán)限
- [root@localhost mysql]# chmod +x /etc/rc.d/init.d/mysqld
4、將mysqld服務(wù)加入到系統(tǒng)服務(wù)
- [root@localhost mysql]# chkconfig --add mysqld
5、檢查mysqld服務(wù)是否已經(jīng)生效
- [root@localhost mysql]# chkconfig --list mysqld
出現(xiàn)如下結(jié)果說(shuō)明生效
- mysqld 0:關(guān) 1:關(guān) 2:開(kāi) 3:開(kāi) 4:開(kāi) 5:開(kāi) 6:關(guān)
6、啟動(dòng)mysqld服務(wù)
- [root@localhost mysql]# service mysqld start
啟動(dòng)后出現(xiàn)如下異常
解決辦法
- [root@localhost lib]# mkdir /var/lib/mysql
- [root@localhost lib]# chmod 777 /var/lib/mysql
7、將mysql的bin目錄加入PATH環(huán)境變量,編輯 ~/.bash_profile文件
- [root@localhost mysql]# vim ~/.bash_profile
在文件最后添加如下信息:指定環(huán)境變量啟動(dòng)程序位置,如果已經(jīng)存在export命令,可以先刪除掉相關(guān)內(nèi)容,直接替換成下面的命令。
- export PATH=$PATH:/usr/local/mysql/bin
執(zhí)行下面的命令使修改的內(nèi)容立即生效:
- [root@localhost mysql]# source ~/.bash_profile
8、以root賬戶登錄mysql,默認(rèn)是沒(méi)有密碼的,要輸入密碼的時(shí)候直接回車即可。
- [root@localhost mysql]# mysql -u root -p
9、設(shè)置root賬戶密碼為123456(也可以修改成你要的密碼)
- mysql>use mysql
- mysql>update user set password=password('123456') where user='root' and host='localhost';
- mysql>flush privileges;
10、設(shè)置遠(yuǎn)程主機(jī)登錄,使用下面命令查看和添加,注意下面的your username 和 your password改成你需要設(shè)置的用戶和密碼
- --查看用戶
- select Host,User,Password from mysql.user;
- --創(chuàng)建用戶
- create user test identified by '123456';
- --分配權(quán)限
- grant all privileges on *.* to 'test'@'%'identified by '123456' with grant option;
- --刷新
- flush privileges ;
- --修改指定用戶密碼
- update mysql.user set password=password('111111') where User="test" and Host="localhost";
- --刪除用戶
- delete from user where User='test' and Host='localhost';
十、配置防火墻
這個(gè)時(shí)候可以在本地使用管理工具嘗試連接虛擬機(jī)里面的mysql數(shù)據(jù)庫(kù)了。如果還是拒絕訪問(wèn),有可能是你的防火墻沒(méi)有關(guān)閉或部分端口沒(méi)開(kāi)啟,可以進(jìn)行如下配置:
- 查看已開(kāi)放的端口(默認(rèn)不開(kāi)放任何端口)
- [root@localhost ~]#firewall-cmd --list-ports
- 查詢端口號(hào)80是否開(kāi)啟!
- 查詢端口號(hào)
- [root@localhost ~]#firewall-cmd --query-port=80/tcp
- 開(kāi)啟80端口
- [root@localhost ~]#firewall-cmd --zone=public --add-port=80/tcp --permanent
- 用同樣的方法開(kāi)啟3306端口
- 重啟防火墻
- [root@localhost ~]#firewall-cmd --reload
- 停止防火墻
- [root@localhost ~]#systemctl stop firewalld.service
- 禁止防火墻開(kāi)機(jī)啟動(dòng)
- [root@localhost ~]#systemctl disable firewalld.service
至此,MySQL的整個(gè)配置就完成了,如果在安裝過(guò)程中遇到其他報(bào)錯(cuò),可以搜索一下對(duì)應(yīng)的錯(cuò)誤信息,以上是我在安裝過(guò)程中的一些配置內(nèi)容,僅供參考。
下次我們?cè)俳榻B主從配置的具體內(nèi)容。