記錄阿里雲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埠,再測試就成功了