Centos7將默認數據庫mysql替換成了Mariadb,對於咱們這些還想使用mysql的開發人員來講並非一個好消息。然而,網上關於Linux安裝mysql數據庫的教程數不勝數,可是,大多教程都是漏洞百出。今天,爲了幫助各位須要的人,從而寫下Centos7安裝配置mysql5.6的教程。好了,話很少說,上教程:html
在接下來的mysql安裝過程當中,請必定保證本身當前所在目錄是正確的! node
e g: [root@localhost ~]# 表示當前目錄爲~mysql
[root@localhost mysql]# 表示當前目錄爲mysqllinux
1、安裝MySQLsql
一、下載安裝包mysql-5.6.26-linux-glibc2.5-x86_64.tar(可前往官網自行下載--地址隨時會變,根據實際狀況調整:https://downloads.mysql.com/archives/community/)數據庫
二、卸載系統自帶的Mariadbvim
打開Terminal終端:centos
[root@localhost ~]# rpm -qa|grep mariadb // 查詢出來已安裝的mariadb 安全
[root@localhost ~]# rpm -e --nodeps 文件名 // 卸載mariadb,文件名爲上述命令查詢出來的文件 bash
三、刪除etc目錄下的my.cnf
[root@localhost ~]# rm /etc/my.cnf
四、執行如下命令來建立mysql用戶組 (名稱自定義,mysql有個安全策略,不建議使用root啓動,因此須要建立一個專門啓動mysql的用戶)
[root@localhost ~]# groupadd mysql
五、執行如下命令來建立一個用戶名爲mysql的用戶並加入mysql用戶組
[root@localhost ~]# useradd -g mysql mysql
六、將下載的壓縮包放到 /usr/local/ 目錄下(經過mv 要移動的文件 /usr/local/)
七、解壓安裝包
[root@localhost ~]# tar -xvf mysql-5.6.34-linux-glibc2.5-x86_64.tar
注:若是壓縮包爲:mysql-5.6.34-linux-glibc2.5-x86_64.tar.gz, 則解壓命令爲: tar -zxvf mysql-5.6.34-linux-glibc2.5-x86_64.tar.gz
八、將解壓好的文件夾重命名爲mysql
[root@localhost local]# mv 解壓出來的文件夾名 mysql
九、在 etc 下新建配置文件my.cnf,並在該文件中添加一下代碼:
固然,也有簡單方式:直接copy一份my.cnf文件到/etc下,而後再修改便可。
e g:copy一份/usr/local/mysql/support-files/下的my-default.cnf文件到/etc下
命令爲:[root@localhost support-files]# cp my-default.cnf /etc/my.cnf
而後,配置/etc目錄下的my.cnf文件
[root@localhost support-files]# vim /etc/my.cnf
注意:此處文件編碼必定要是ANSI,若是不是使用記事本更改文件編碼
# For advice on how to change settings please see # http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html # *** DO NOT EDIT THIS FILE. It's a template which will be copied to the # *** default location during install, and will be replaced if you # *** upgrade to a newer version of MySQL. [mysqld] # Remove leading # and set to the amount of RAM for the most important data # cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%. # innodb_buffer_pool_size = 128M # Remove leading # to turn on a very important data integrity option: logging # changes to the binary log between backups. # log_bin ## 設置mysql客戶端默認字符集 socket=/var/lib/mysql/mysql.sock skip-name-resolve #設置3306端口 port = 3306 socket=/var/lib/mysql/mysql.sock ## 設置mysql的安裝目錄 basedir=/usr/local/mysql ## 設置mysql數據庫的數據的存放目錄 datadir=/usr/local/mysql/data ## 容許最大鏈接數 max_connections=200 ## 服務端使用的字符集默認爲8比特編碼的latin1字符集 character-set-server=utf8 ## 建立新表時將使用的默認存儲引擎 default-storage-engine=INNODB max_allowed_packet=16M log-error = /var/log/mysql/error.log # These are commonly set, remove the # and set as required. # basedir = ..... # datadir = ..... # port = ..... # server_id = ..... # socket = ..... # Remove leading # to set options mainly useful for reporting servers. # The server defaults are faster for transactions and fast SELECTs. # Adjust sizes as needed, experiment to find the optimal values. # join_buffer_size = 128M # sort_buffer_size = 2M # read_rnd_buffer_size = 2M sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
十、進入安裝mysql軟件目錄
[root@localhost ~]# cd /usr/local/mysql
[root@localhost mysql]# chown -R mysql:mysql ./ // 修改當前目錄擁有着爲mysql用戶
[root@localhost mysql]# ./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ //安裝數據庫(這一步很重要,不然可能報如下錯誤 error: Can't open and lock privilege tables: Table 'mysql.host' doesn't exist)
注:若執行以上最後一個命令出現如下問題:
FATAL ERROR: please install the following Perl modules before executing ./scripts/mysql_install_db:Data::Dumper
解決方法 :安裝autoconf庫
命令: yum -y install autoconf //此包安裝時會安裝Data:Dumper模塊
安裝完成從新執行上述最後一個命令
11. 繼續操做
[root@localhost mysql]# chown -R mysql:mysql data //修改當前data目錄的擁有者爲mysql用戶
到此數據庫安裝完畢!
2、配置MySQL
一、授予my.cnf最大權限
[root@localhost ~]# chown 777 /etc/my.cnf
設置開機自啓動服務控制腳本:
二、複製啓動腳本到資源目錄
[root@localhost mysql]# cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld
三、增長mysqld服務控制腳本執行權限
[root@localhost mysql]# chmod +x /etc/rc.d/init.d/mysqld
四、將mysqld服務加入到系統服務
[root@localhost mysql]# chkconfig --add mysqld
五、檢查mysqld服務是否已經生效
[root@localhost mysql]# chkconfig --list mysqld
命令輸出相似下面的結果:
mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off
代表mysqld服務已經生效,在二、三、四、5運行級別隨系統啓動而自動啓動,之後可使用service命令控制mysql的啓動和中止
命令爲:service mysqld start和service mysqld stop
6. 啓動mysqld
[root@localhost mysql]# service mysqld start
這裏啓動可能出現下面圖片的錯誤,若是出現再次執行圖片那步的命令
七、將mysql的bin目錄加入PATH環境變量,編輯 ~/.bash_profile文件
[root@localhost mysql]# vim ~/.bash_profile
在文件最後添加以下信息:
export PATH=$PATH:/usr/local/mysql/bin
而後按ESC鍵
繼續 shift鍵加冒號打出來=> :
接下來輸入wq回車便可
執行下面的命令是修改的內容當即生效:
[root@localhost mysql]# source ~/.bash_profile
八、以root帳戶登陸mysql,默認是沒有密碼的
[root@localhost mysql]# mysql -uroot -p
要輸入密碼的時候直接回車便可。
注意:此處可能出現 Can't connect to local MySQL server through socket '/tmp/mysql.sock'這個錯誤, 解決方案:
ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock //作個軟鏈接過去
九、設置root帳戶密碼爲root(也能夠修改爲你要的密碼)
mysql>use mysql;
mysql>update user set password=password('root') where user='root' and host='localhost';
mysql>flush privileges;
十、設置遠程主機登陸,注意下面的your username 和 your password改爲你須要設置的用戶和密碼
mysql>use mysql;
mysql>GRANT ALL PRIVILEGES ON *.* TO 'your username'@'%' IDENTIFIED BY 'your password' WITH GRANT OPTION;
mysql>flush privileges;
好了,到此,在Centos 7上安裝mysql5.6就完成了。固然,centos 6上安裝mysql也可按照如此操做。接下來,快去用Centos 7安裝好的mysql去寫寫sql command吧!