系統環境:
[root@db02 3307]# uname -m x86_64 [root@db02 3307]# uname -r 2.6.32-696.el6.x86_64 [root@db02 3307]# cat /etc/redhat-release CentOS release 6.9 (Final)
安裝依賴包:
yum -y install ncurses-devel libaio-devel cmake rpm -qa ncurses-devel libaio-devel cmake
建立mysql管理用戶:
useradd -s /sbin/nologin -M mysql id mysql
下載mysql源碼包,進行編譯安裝(耐心等待完成)
將源碼包下載到本地/server/tools/目錄下
mkdir -p /server/tools mkdir -p /application cd /server/tools/ # 下載源碼安裝包 wget -q http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.36.tar.gz # 下載相應的md5值,進行校驗安裝包是否完整 # md5sum -c md5sum.log # 通常狀況,沒什麼問題,我就省略了此步驟解壓
tar -zxf mysql-5.6.36.tar.gz cd mysql-5.6.36編譯安裝
cmake . -DCMAKE_INSTALL_PREFIX=/application/mysql-5.6.36 \ -DMYSQL_DATADIR=/application/mysql-5.6.36/data \ -DMYSQL_UNIX_ADDR=/application/mysql-5.6.36/tmp/mysql.sock \ -DDEFAULT_CHARSET=utf8 \ -DDEFAULT_COLLATION=utf8_general_ci \ -DWITH_EXTRA_CHARSETS=all \ -DWITH_INNOBASE_STORAGE_ENGINE=1 \ -DWITH_FEDERATED_STORAGE_ENGINE=1 \ -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \ -DWITH_ZLIB=bundled \ -DWITH_SSL=bundled \ -DENABLED_LOCAL_INFILE=1 \ -DWITH_EMBEDDED_SERVER=1 \ -DENABLE_DOWNLOADS=1 \ -DWITH_DEBUG=0檢查上一命令是否執行成功mysql
[root@db02 mysql-5.6.36]# echo $? 0make && make install建立軟連接,方便後期管理
ln -s /application/mysql-5.6.36/ /application/mysql
初始化及配置數據庫
# 將參數文件拷貝到/etc/目錄下,由於是編譯安裝,此條命令省略 cp support-files/my*.cnf /etc/my.cnf # 初始化 /application/mysql/scripts/mysql_install_db --basedir=/application/mysql/ --datadir=/application/mysql/data --user=mysql # 讓mysql用戶進行管理,受權 chown -R mysql.mysql /application/mysql/ # mysql的啓動文件,拷貝到/etc/init.d/ cp /application/mysql/support-files/mysql.server /etc/init.d/mysqld # 賦予可執行的權限 chmod 700 /etc/init.d/mysqld # 設置開機自啓動 chkconfig mysqld on # 查看是否開機自啓動設置成功 chkconfig --list mysqld # 啓動mysql服務 /etc/init.d/mysqld start # 可能報錯(一) Starting MySQL.180402 00:55:13 mysqld_safe Directory '/var/lib/mysql' for UNIX socket file don't exists. ERROR! The server quit without updating PID file (/var/lib/mysql/db02.pid). # 那麼你能夠查看如下/etc/my.cnf是不是以前安裝mysql時產生的文件,把它移動到/tmp目錄下,再次啓動mysql嘗試 /etc/init.d/mysqld start # 可能報錯(二) Starting MySQL.Logging to '/application/mysql-5.6.36/data/db02.err'. 180402 00:56:42 mysqld_safe Directory '/application/mysql-5.6.36/tmp' for UNIX socket file don't exists. ERROR! The server quit without updating PID file (/application/mysql-5.6.36/data/db02.pid). # 注:此時數據庫啓動會提示,找不到xx/tmp/mysql.sock,緣由是5.6.36版本不會自動建立tmp目錄 # 建立目錄tmp mkdir /application/mysql/tmp # 受權 chown -R mysql.mysql /application/mysql/ # 再次啓動 /etc/init.d/mysqld start # 啓動成功 # 查看服務 netstat -lntup | grep 3306將mysql的啓動目錄加入PATH中
echo 'PATH=/application/mysql/bin/:$PATH' >>/etc/profile tail -1 /etc/profile source /etc/profile echo $PATH # 進入mysql數據庫,免密登陸,無密碼 mysql
設置密碼:
mysqladmin -u root -p password 'yk123'修改密碼:
mysqladmin -u root -p password '123'使用用戶及密碼登錄mysql
mysql -uroot -p123 mysql -uroot -p
基本優化--清理用戶及無用數據庫
# 進入mysql數據庫 mysql -uroot -p123 # 查看mysql數據庫的user表的數據 select user,host,password from mysql.user; # 刪除無用的數據 drop user 'root'@'db02'; drop user 'root'@'::1'; drop user ''@'localhost'; drop user ''@'db02'; # 查看數據 select user,host,password from mysql.user; # 刪除數據庫test drop database test; # 查看數據庫 show databases;
注:讀者應根據自身的狀況進行操做,靈活應用!sql
若有錯誤,請指正,謝謝!數據庫