yum安裝之-安裝mysql

    ## 源碼 編譯安裝 Mysql  以 mysql-5.7.15.tar.gz 爲例
    安裝中涉及的幾點須要提早說明的問題:
    全部下載的文件將保存在 /root 目錄下
    mysql 將以 mysql 用戶運行,並且將加入 service 開機自動運行
    mysql 將被安裝在 /usr/local/mysql/ 目錄下
    mysql 默認安裝使用 utf8 字符集
mysql 的數據和日誌文件保存在 /usr/local/mysql/data/ 目錄下
    mysql 的配置文件保存於/usr/local/mysql/etc/my.cnf
    注意從 MySQL 5.7.5 開始 Boost 庫是必需的
安裝依賴包
yum -y install gcc-c++ ncurses-devel cmake make perl gcc autoconf automake zlib libxml libgcrypt libtool bison
、、、安裝依賴庫
    、、安裝 cmake 和 bison
yum install -y cmake bison ncurses
    、、下載 Boost
wget http://ncu.dl.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.gz
    、、解壓
tar zxf boost_1_59_0.tar.gz
    、、移動
mv boost_1_59_0 /usr/local/boost

    ##創建 mysql 安裝目錄和用戶,
mkdir -pv /usr/local/mysql
    、、、在/usr/local/mysql 創建【data】、【tmp】、【log】、【etc】4 個目錄
cd /usr/local/mysql
mkdir data tmp log etc
    、、創建組和用戶
groupadd mysql
useradd -g mysql -s /usr/sbin/nologin mysql
    、、、下載 mysql
cd ~
wget http://mirrors.sohu.com/mysql/MySQL-5.7/mysql-5.7.16.tar.gz
    、、、解壓並進入目錄
tar zxf mysql-5.7.16.tar.gz
cd mysql-5.7.16    
    、、、編寫一個輔助 shell 文件,幫咱們配置 mysql
vim mysql_install.sh
    、、、如下內容都寫在一行上,不要換行
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/usr/local/mysql/tmp/mysql.sock -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/usr/local/mysql/etc -DMYSQL_USER=mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS:STRING=utf8,gbk -DWITH_DEBUG=0 -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DENABLED_LOCAL_INFILE=1 -DWITH_EMBEDDED_SERVER=1 -DMYSQL_USER=mysql -DMYSQL_TCP_PORT=3306 -DWITH_BOOST=/usr/local/boost
    、、、把剛剛的 shell 文件加上可執行權限:
chmod +x ./mysql_install.sh
    、、、執行 shell 文件進行軟件的配置和環境檢測
./mysql_install.sh
    、、、編譯軟件而且進行安裝
make && make install
出錯中止。。。。。。
另外若是過程當中出現報錯而中斷,需
要刪除 CMakeCache.txt 文件後再執行 mysql_install.sh 文件(沒出錯請不要執行以
下兩行指令!!!!):
make clean
rm -f CMakeCache.txt 或者 shell>#  unlink CMakeCache.tx

##############################配置########################

。。。。使用遞歸,把 mysql 目錄全部者設置爲 mysql 這個用戶:
chown -R mysql:mysql /usr/local/mysql

。。。。若是 /etc/my.cnf 存在的話,請刪除
unlink /etc/my.cnf

。。。。進入 MySQL 安裝目錄下
cd /usr/local/mysql

。。。。重建 my.cnf 文件
cp support-files/my-default.cnf etc/my.cnf

。。。。根據實際狀況優化 mysql 配置
vim etc/my.cnf

好比將 my.cnf 的內容改爲如下:
[client]
default-character-set = utf8
port = 3306
socket = /usr/local/mysql/tmp/mysql.sock
[mysqld]
datadir =/usr/local/mysql/data
port = 3306
socket = /usr/local/mysql/tmp/mysql.sock
user = mysql
symbolic-links = 0
pid-file = /usr/local/mysql/tmp/mysql.pid
explicit_defaults_for_timestamp = true
sql_mode = ERROR_FOR_DIVISION_BY_ZERO,NO_ZERO_DATE,NO_ZERO_IN_DATE,NO_AUTO_CREATE_USER
slow_query_log = on
slow_query_log_file = /usr/local/mysql/log/slow.log
long_query_time = 2
log_error = /usr/local/mysql/log/mysql.err

 第 四 步:
。。。。 初始化 mysql 的基本表
。。5.7 之前的作法:
/usr/local/mysql/scripts/mysql_install_db --defaults-file=/usr/local/mysql/my.cnf --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql

。。。。5.7 及以上的作法:
;;;;--initialize 會生成一個隨機密碼(~/.mysql_secret),而--initialize-insecure 不會生成密碼
/usr/local/mysql/bin/mysqld --initialize-insecure --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql

。。。。啓動 mysql
/usr/local/mysql/bin/mysqld_safe > /dev/null 2>&1 &

。。。。修改 mysql 的 root 密碼
/usr/local/mysql/bin/mysqladmin -u root password 密碼

。。。。增長到開機啓動
;;;;先將 mysqld 設置爲服務
cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld

。。。。而後將 mysqld 服務加入啓動項:
chkconfig --add mysqld

。。。。設置爲自啓動:
chkconfig --level 345 mysqld on

。。。。將 mysql 命令加入到環境變量裏
PATH=$PATH:/usr/local/mysql/bin

。。。。爲了重啓後仍能有效:
echo 'PATH=$PATH:/usr/local/mysql/bin' >> /root/.bashrc

。。。。若是須要對外開放 3306 端口
iptables -I INPUT -p tcp --dport 3306 -j ACCEPT

。。。。若是 mysqld 服務正常運行中,可是執行 mysql 指令時報出如下錯誤
::error 2202 (HY000):can't connent ....
解決方案就是建立一個軟連接
mkdir -pv /var/lib/mysql
ln -s /usr/local/mysql/tmp/mysql.sock /var/lib/mysql/mysql.sockmysql

相關文章
相關標籤/搜索