linux二進制通用包安裝mysql5.6

“使用二進制通用包安裝MySQL,這個類似于windows下的綠色軟件”這句話也是在別人的博客上看到的,目前Linux玩的不多,沒有如此的體會,不過這里講的挺對的。

而我需要一種在任何Linux下不管你是Centos還是Ubuntu等等,都一樣的一種安裝方法。公司目前沒有運維,以后有一個比較賺錢的私有化項目,可能需要靈活的安裝環境的方式安裝比較好,所以就折騰了一下,不適用apt或者yum之類的方法,畢竟不是專業的搞得有點惡心,特此記錄一下。
PS:我演示的的操作系統是Ubuntu 16.04的64位

mysql5.6與5.7好像差異有一些,公司習慣5.6,包括阿里云目前也是5.6的全部功能都出來了,5.7只有基本功能開放出來,所以就用5.6的mysql。

首先,5.6壓縮包下載地址:
https://dev.mysql.com/downloads/mysql/5.6.html(官網有點慢,可以不從官網下載也可以,官網可以參考一下)

image.png

我下載的是mysql-5.6.39-linux-glibc2.12-x86_64.tar.gz,然后上傳到自己的服務器上,按照自己的習慣來就好。

我直接解壓到opt目錄下,并且重新命令為mysql,命令如下:

tar -xzvg mysql-5.6.39-linux-glibc2.12-x86_64.tar.gz 
mv mysql-5.6.39-linux-glibc2.12-x86_64 mysql
image.png

好了,然后到usr/local目錄下建立一個軟連接

ln -sv /opt/mysql mysql
image.png

接著添加mysql用戶和組,有的話就不用操作了。
注:-r表示是偽用戶,只是用來運行mysql程序,不能登錄系統

groupadd -r -g 306 mysql 
useradd -g 306 -r -u 306 mysql 

接著將安裝文件的所屬設置為mysql(這個其實不太理解什么意思)

chown -R mysql.mysql /usr/local/mysql/* 

網上還有將將數據文件目錄設置到/mydata/data下 chown -R mysql.mysql /mydata,這個我沒有做也沒啥影響, 反正默認這個我知道有設置在運行目錄的data下面,我就不管了。
接著到mysql目錄下操作,將support-files目錄中將mysql.server復制到/etc/init.d中的mysqld中,創建初始化進程,并且加到服務中

cp support-files/mysql.server /etc/init.d/mysqld
sudo update-rc.d   mysqld defaults

我是Ubuntu的所以執行sudo update-rc.d mysqld defaults ,如果是centos則chkconfig --add mysqld,對應的操作系統不同這一步指令添加服務操作可能不同。

初始化mysql(還是在mysql目錄下,也有添加--datadir=/mydata/data/ 我不管)
scripts/mysql_install_db --user=mysql
配置環境變量
方法一,(不喜歡這種,我用的不是這種)

grep PATH .bash_profile 
PATH=$PATH:$HOME/bin:/usr/local/mysql/bin 
export PATH 

方法二,(自己電腦上還有別的多余的請忽略)

vim /etc/profile

添加如下

MYSQL_HOME=/opt/mysql
NODE_HOME=/opt/node/node-v8.9.3-linux-x64
REDIS_HOME=/opt/redis/redis-4.0.9
MONGO_HOME=/opt/mongo/mongodb-linux-x86_64-ubuntu1604-3.6.3
M2_HOME=/opt/maven/apache-maven-3.3.9
PATH=$PATH:$MYSQL_HOME/bin:$NODE_HOME/bin:$REDIS_HOME/bin:$MONGO_HOME/bin:$M2_HOME/bin

第一次或者重啟都需要執行如下 ,

source /etc/profile

可以直接用服務去操作了

service mysqld start
service mysqld resatrt
service mysqld status
...

順便創建一個遠程可登陸的超級用戶:

mysql
GRANT ALL PRIVILEGES ON *.* TO [root@"192.168.1.239]" IDENTIFIED BY "youpassword" WITH GRANT OPTION;
FLUSH PRIVILEGES;
exit;

好了,最后奉上我的my.cnf
注:mysql的配置文件尋找順序為/etc/my.cnf -> /etc/mysql/my.cnf -> $BASEDIR/my.cnf -> ~/my.cnf


[client]
default-character-set = utf8
port    = 3306
[mysqld]
character_set_server = utf8
port = 3306
server_id = 1
max_connections = 3000
open_files_limit = 65535
max_connect_errors = 6000
skip-host-cache
skip-name-resolve
max_allowed_packet = 32M
read_rnd_buffer_size = 16M
join_buffer_size = 2M
sort_buffer_size = 2M
thread_cache_size = 300
tmp_table_size = 256M
max_heap_table_size = 256M
skip-host-cache
skip-name-resolve
#INNODB
innodb_buffer_pool_size = 400M
innodb_log_file_size = 256M
innodb_log_buffer_size = 16M
innodb_log_files_in_group = 3
innodb_file_per_table = 1
default-storage-engine = InnoDB
#log
expire_logs_days = 5
log-bin=mysql-bin
slow_query_log = true
long_query_time = 5
lower_case_table_names=1
explicit_defaults_for_timestamp = true
log_bin_trust_function_creators=1

其他檢測

 ps -ef|grep mysql
root      1589     1  0 17:01 ?        00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/usr/local/mysql/data --pid-file=/usr/local/mysql/data/uniubi-PowerEdge-R610.pid
mysql     2052  1589  0 17:01 ?        00:00:02 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=uniubi-PowerEdge-R610.err --open-files-limit=65535 --pid-file=/usr/local/mysql/data/uniubi-PowerEdge-R610.pid --port=3306
root      2683  2489  0 18:16 pts/9    00:00:00 grep --color=auto mysql
netstat -tnlp 
激活Internet連接 (僅服務器)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 127.0.1.1:53            0.0.0.0:*               LISTEN      1402/dnsmasq    
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1167/sshd       
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      993/cupsd       
tcp6       0      0 :::3306                 :::*                    LISTEN      2052/mysqld     
tcp6       0      0 :::22                   :::*                    LISTEN      1167/sshd       
tcp6       0      0 ::1:631                 :::*                    LISTEN      993/cupsd 

其他:在初始化的時候不成功的問題,操作有:

/mysql/bin/mysqld_safe &

apt install libaio1
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容