為了做服務遷移,mysql的安裝總是不那么順利, 教程很多, 但都不能夠一蹴而就, 所以,單獨總結一篇, 當然也借鑒了一些前輩的經驗。
============================================================================
============================================================================
操作系統: ubantu16.4
1、下載地址:http://dev.mysql.com/downloads/mysql/5.6.html#downloads
下載版本:我這里選擇的5.6.33,通用版,linux下64位
也可以直接復制64位的下載地址,通過命令下載:
$ wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz
2、解壓
tar
-zxvf mysql-5.6.33-linux-glibc2.5-x86_64.
tar
.gz
#創建目錄$: mkdir /usr/local/mysql
#復制解壓后的mysql目錄
$ cp
-r mysql-5.6.33-linux-glibc2.5-x86_64/*
/usr/local/mysql (文件比較多,復制需要一點時間,耐心等待完成)
3、添加用戶組
$ groupadd mysql
#添加用戶mysql 到用戶組mysql
$ useradd
-g mysql mysql
4、安裝
$ cd
/usr/local/mysql/
$ mkdir
.
/data/mysql
$ chown
-R mysql:mysql ./
$ .
/scripts/mysql_install_db
--user=mysql --datadir=
/usr/local/mysql/data/mysql (不知道為什么,有時候可能需要重啟一下服務才能夠執行)
(ps: 如果報這個錯誤:Installing MySQL system tables..../bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
Ubuntu下執行:apt-get install libaio1 libaio-dev 后 在執行命令
)
$ cp
support-files
/mysql
.server
/etc/init
.d
/mysqld
$ chmod
755
/etc/init
.d
/mysqld
$ cp
support-files
/my-default
.cnf
/etc/my
.cnf
#修改啟動腳本
$ vi
/etc/init
.d
/mysqld
#找到下邊兩個key, 修改文件里的內容:
basedir=
/usr/local/mysql/
datadir=
/usr/local/mysql/data/mysql
#加入環境變量,更新/etc/profile,這樣可以在任何地方用mysql命令了, 執行如下命令
$ export
PATH=$PATH:
/usr/local/mysql/bin
$ source
/etc/profile
#啟動服務
進入目錄 /usr/local/mysql 后,執行命令:
$ service mysqld start (注意:這個時候可能是無法啟動的,請重啟服務器:方法1. 控制台重啟;方法2. 命令重啟$: reboot [-n])
#測試連接 進入目錄 /usr/local/mysql 后
$ .
/bin/mysql
-uroot -p
#啟動mysql
$ service mysqld start
#關閉mysql
$ service mysqld stop
#查看運行狀態
$ service mysqld status
mysql操作相關:
mysql 數據安裝好了,默認是可以無密碼登錄的
進入目錄 /usr/local/mysql 后,
$ .
/bin/mysql
-uroot
Q0: 如何登錄並進入mysql命令行?
正常情況下,你的mysql配置好了,進入的命名執行$: msyql -uroot -p 然后輸入密碼就可以了
但是,你的mysql可能沒有配置好,所以mysql的命令找不到,那么你依然可以換種方式進入,先進入安裝目錄 /usr/local/mysql
在安裝目錄下執行命令
.
/bin/mysql
-uroot -p ,然后輸入密碼即可
Q1: 無法遠程連接阿里雲安裝的mysql?
# 由於mysql默認不允許外網訪問,所以,需要創建一個允許外網連接的用戶
mysql> grant all on *.* to admin@'%' identified by '123456' with grant option;
mysql> flush privileges;
mysql> flush privileges;
Q2: mysql 無法遠程連接?
# 支持root用戶允許遠程連接mysql數據庫 (同時也可以創建用戶名)
mysql> grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
mysql> flush privileges;
mysql> grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
mysql> flush privileges;
Q3: mysql全都配置好了,還是無法連接阿里雲的mysql
極大的可能是沒有配置阿里雲服務器的安全規則,增加一個配置,入方向,端口號為3306的安全規則, 這樣, 就可以遠程連接阿里雲服務器的mysql數據庫了。