1. 程式人生 > >記錄阿里雲linux centos7安裝mysql5.6 tar.gz

記錄阿里雲linux centos7安裝mysql5.6 tar.gz

1.刪除mariadb和mysql

mariadb是mysql的一個分支,但要安裝mysql需要刪除它

執行rpm -qa|grep mariadb,檢視mariadb情況,有就刪除 rpm -e -nodeps mariadb....名字

檢視是否已經有mysql

rpm -qa |grep mysql  有就刪除

2.下載mysql安裝包

檢視自己的linux的版本 

-uname -a 

查多少位系統  getconf LONG_BIT

https://dev.mysql.com/downloads/mysql/5.6.html#downloads

找對應的版本下載. 我這個是 GUN 就下載 linux Generic。下載後用ftp 傳到伺服器上,我放在了 home目錄下

3.複製jar包、解壓

 cp mysql-5.6.39-linux-glibc2.12-x86_64.tar.gz /usr/local 

tar -xvf mysql-5.6.39-linux-glibc2.12-x86_64.tar.gz

把解壓後的資料夾重新命名 為mysql。(這是linux下預設的mysql安裝目錄)

mv mysql-5.6.39-linux-glibc2.12-x86_64  mysql

注意:一定要解壓在 usr/local下,並且名為mysql 否則還需要修改配置檔案

4.新增使用者組和使用者

groupadd mysql和useradd -r -g mysql mysql

5.修改配置檔案

1.複製 cp support-files/my-default.cnf  /etc/my.cnf     (mysql 啟動時自動讀取)

2.編輯 my.cnf 解決亂碼問題    vi /etc/my.cnf  加上下面內容

[mysql]

default-character-set=utf8    表示解決客戶端亂碼問題)

[mysqld]

default-storage-engine=INNODB

character_set_server=utf8(表示解決服務端亂碼問題)

3.複製mysql.server 到/etc/init.d/ 目錄下 【把啟動指令碼放在初始化目錄,可以直接service mysql start 這樣啟動mysql】

輸入命令 cp mysql.server /etc/init.d/mysql (mysql是服務名)

注意: /etc/init.d/ 目錄,等效於登錄檔HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services記錄有那些服務

4、修改/etc/init.d/mysql 引數

輸入命令 vi /etc/init.d/mysql

給與兩個目錄位置

basedir=/usr/local/mysql

datadir=/usr/local/mysql/data

5、給目錄/usr/local/mysql 更改擁有者

輸入命令 chown -R mysql:mysql /usr/local/mysql/

6.初始化資料庫

進入mysql下的scripts   cd scripts,如果你看到mysql_install_db

就輸命令

./mysql_install_db  --user=mysql  --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

生成出一個data目錄,代表資料庫已經初始化成功。

網上查閱說這個是老版本,新版本用。我的是老版本

新版本: 初始化

輸入命令 ./mysqld  --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

如果碰到報錯碰到  please install the following Perl modules before executing ./mysql_install_db

解決方法:安裝autoconf庫   命令:yum -y install autoconf

7.啟動myql

service mysql start  

檢視 ps -ef|grep mysql   是否啟動成功

8.把mysql放到預設路徑

ln -s /usr/local/mysql/bin/mysql /usr/local/bin/mysql

啟動客戶端:mysql -uroot -p

第一次進入客戶端不需要密碼,後面可以自己再設定密碼

mysqladmin -uroot password 'yourpassword'

9.更改環境變數

輸入命令 vi /etc/profile

export MYSQL_HOME=/usr/local/mysql/

export PATH=$PATH:$MYSQL_HOME/bin

配置好mysql環境變數後,我們往後登入mysql就不用再去到/usr/local/mysql/bin目錄才能登入了,現在可以在任意目錄下登入mysql了

10.設定mysql開機自啟

1、新增mysql服務

輸入命令 chkconfig --add mysql 【mysqld -install】

2、設定mysql服務為自動

輸入命令 chkconfig mysql on

11.設定資料庫可以外網連線

遠端連線我們自然要用’%’來匹配比較好,或者你可以指定某個IP

mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;

上句話的意思就是使用root在任意一臺計算機上面以密碼“123456”來連線,你如果在遠端計算機上面使用密碼“123”是無法連線的,包括你在本地使用mysql -uroot -p 密碼為123456也無法連線。

當然執行上面一句SQL我們還需要重新整理下快取區,使之生效

mysql>FLUSH PRIVILEGES

經過研究,其實還有一種更加方便的修改root的遠端啟用方式。

mysql>use mysql;
mysql>update user set host='%' where user='root' AND host='localhost';
mysql>FLUSH PRIVILEGES;

這種方法的好處就是在於 不用直接的修改使用者的密碼,而且採用經常使用的sql比較熟悉。

我用的事update user set host='%' where user='root' AND host='localhost';意思是在哪裡的ip用這個賬號都能登入

,修改之後,發現原本的root使用者無法登陸了,只能用無密碼的root使用者登入(但沒有原來的庫)重啟一下例項就好了。

然後用navicat測試,連線失敗,需要開啟阿里雲安全組的3306埠,再測試就成功了