1. 程式人生 > >在Linux下編譯安裝mysql

在Linux下編譯安裝mysql

1、在官網下載mysql壓縮包:
    下載地址:http://dev.mysql.com/downloads/mysql/5.6.html#downloads
    下載版本:我這裡選擇的5.6.33,通用版,linux下64位
    也可以直接通過命令下載:
    wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz
2、將mysql進行解壓:
    #解壓
    tar -zxvf mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz
    #複製解壓後的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、安裝mysql
    因為我們是編譯安裝需要生成configure檔案
    需要下載編譯工具yum install autoconf -y
    cd /usr/local/mysql/ 轉到該目錄下
    mkdir -p data/mysql 建立目錄
    chown -R mysql:mysql ./ 將./的屬主屬組改為mysql
    cd /scripts
    ./mysql_install_db --user=mysql --datadir=/usr/local/mysql/data/mysql
    執行此處會報錯
    安裝時的一些錯誤
    -bash: ./scripts/mysql_install_db: /usr/bin/perl: bad interpreter: 沒有那個檔案或目錄
    解決: yum -y install perl perl-devel
    Installing MySQL system tables…/bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
    解決:yum -y install libaio-devel
    cp support-files/mysql.server /etc/init.d/mysqld 複製
    chmod 755 /etc/init.d/mysqld 更改許可權
    cp support-files/my-default.cnf /etc/my.cnf複製檔案
5、修改啟動指令碼
    vi /etc/init.d/mysqld
    找到
    basedir=
    datadir=
    加上路徑
    basedir=/usr/local/mysql/
    datadir=/usr/local/mysql/data/mysql
6、啟動mysql服務
    service mysqld start
7、測試連線
    ./mysql/bin/mysql -uroot
8、加入環境變數,編輯 /etc/profile,這樣可以在任何地方用mysql命令了
    最後一行加入export PATH=$PATH:/usr/local/mysql/bin
    讓變數生效source /etc/profile
    #啟動mysql
    service mysqld start
    #關閉mysql
    service mysqld stop
    #檢視執行狀態
    service mysqld status   在這裡插入圖片描述

9、可能出現的錯誤
 sqlyog連線時,報1130錯誤,是由於沒有給遠端連線的使用者許可權問題
    解決1:更改 ‘mysql’資料庫‘user’表‘host’項,從‘localhost’改成‘%’。
    use mysql;
    select ‘host’ from user where user=‘root’;
    update user set host = ‘%’ where user =‘root’;
    flush privileges;
    解決2:直接授權
    GRANT ALL PRIVILEGES ON . TO ‘root’@’%’ IDENTIFIED BY ‘youpassword’ WITH GRANT OPTION;
  
 初次嘗試安裝:參考的部落格:
https://www.cnblogs.com/caiyunyun/p/7492373.html