編譯安裝和二進制安裝mysql


二進制安裝mysql-5.6.46

mysql二進制安裝,已經編譯成二進制了,只需要做一些配置即可 [root@localhost ~]$ yum install autoconf libaio -y [root@localhost ~]$ useradd -r -s /sbin/nologin -u 987 mysql #創建mysql用戶 [root@localhost ~]$ mkdir /data/mysql [root@localhost ~]$ chown mysql:mysql /data/mysql [root@localhost ~]$ tar xvf mysql-5.6.46-linux-glibc2.12-x86_64.tar.gz -C /usr/local #指定解壓路徑 [root@localhost ~]$ cd /usr/local/ [root@localhost local]$ ln -s mysql-5.6.46-linux-glibc2.12-x86_64 mysql #二進制安裝是編譯過的,所以解壓的路徑必須是編譯的路徑;默認編譯路徑是/usr/local/mysql,所以對mysql解壓包創建個軟鏈接叫mysql [root@localhost local]$ chown -R root:root mysql/ #遞歸修改解壓包的所有者和所屬組 [root@localhost local]$ mkdir /etc/mysql [root@localhost local]$ cp support-files/my-default.cnf /etc/mysql/my.cnf #復制mysql配置文件到指定目錄;mysql配置文件可以放在多個目錄;如:/etc/my.cnf、/etc/mysql/my.cnf等 [root@localhost local]$ vim /etc/mysql/my.cnf [client] port = 3306 socket = /tmp/mysql.sock [mysqld] datadir = /data/mysql #指定數據庫數據存放路徑 port = 3306 socket = /tmp/mysql.sock innodb_file_per_table = on #設置存儲引擎 skip_name_resolve = on #關閉DNS反向解析 skip-external-locking [root@localhost local]$ cd /usr/local/mysql [root@localhost mysql]$ scripts/mysql_install_db --datadir=/data/mysql --user=mysql #執行生成初始數據庫的腳本,指定數據庫文件所有者為mysql [root@localhost mysql]$ cp support-files/mysql.server /etc/init.d/mysqld #復制啟動腳本到指定目錄;服務的啟動腳本里面一般有chkconfig和description兩行標識 [root@localhost mysql]$ chkconfig --add mysqld #把mysqld腳本加到開機啟動列表里 [root@localhost mysql]$ echo 'PATH=/usr/local/mysql/bin:$PATH' > /etc/profile.d/mysql.sh #設置PATH路徑 [root@localhost mysql]$ . /etc/profile.d/mysql.sh #立即生效 [root@localhost mysql]$ mkdir /var/log/mariadb [root@localhost mysql]$ touch /var/log/mariadb/mariadb.log [root@localhost mysql]$ service mysqld start [root@localhost mysql]$ mysql_secure_installation #執行安全加固腳本 

編譯安裝mysql-5.7.28

[root@localhost ~]$ yum install bison bison-devel zlib-devel libcurl-devel libarchive-devel boost-devel gcc gcc-c++ cmake ncurses-devel gnutls-devel libxml2-devel openssl-devel libevent-devel libaio-devel -y
[root@localhost ~]$ useradd -s /sbin/nologin -r -u 987 mysql [root@localhost ~]$ mkdir /data/mysql #創建數據庫數據存放目錄 [root@localhost ~]$ chown mysql:mysql /data/mysql [root@localhost ~]$ tar xf mysql-5.7.28.tar.gz -C /usr/local/src/ [root@localhost ~]$ tar xf boost_1_59_0.tar.gz -C /usr/local/src #編譯安裝mysql-5.7.28需要依賴boost_1_59_0這個包,需要提前下好 [root@localhost ~]$ cd /usr/local/src/mysql-5.7.28 [root@centos7 mysql-5.7.28]# cmake . \ #編譯mysql沒有configure腳本,需要使用cmake,指定參數,生成Makefile文件 -DCMAKE_INSTALL_PREFIX=/app/mysql \ -DMYSQL_DATADIR=/data/mysql/ \ -DSYSCONFDIR=/etc/ \ -DMYSQL_USER=mysql \ -DWITH_INNOBASE_STORAGE_ENGINE=1 \ -DWITH_ARCHIVE_STORAGE_ENGINE=1 \ -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ -DWITH_PARTITION_STORAGE_ENGINE=1 \ -DWITHOUT_MROONGA_STORAGE_ENGINE=1 \ -DWITH_DEBUG=0 \ -DWITH_READLINE=1 \ -DWITH_SSL=system \ -DWITH_ZLIB=system \ -DWITH_LIBWRAP=0 \ -DENABLED_LOCAL_INFILE=1 \ -DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \ -DDEFAULT_CHARSET=utf8 \ -DDEFAULT_COLLATION=utf8_general_ci \ -DDOWNLOAD_BOOST=1 \ -DWITH_BOOST=/usr/local/src/boost_1_59_0 #指定boost所在目錄 [root@localhost mysql-5.7.28]$ make && make install [root@localhost mysql-5.7.28]$ cd /app/mysql/ [root@localhost mysql]$ bin/mysqld --initialize --datadir=/data/mysql --user=mysql #生成初始數據庫,在最下面會給一個初始的root口令,需要記下來 [root@localhost mysql]$ echo 'PATH=/app/mysql/bin:$PATH' > /etc/profile.d/mysql.sh #添加PATH路徑 [root@localhost mysql]$ . /etc/profile.d/mysql.sh [root@localhost mysql]$ cp /app/mysql/support-files/mysql.server /etc/init.d/mysqld #復制服務啟動腳本 [root@localhost mysql]$ chkconfig --add mysqld #加入到開機啟動列表里 [root@localhost mysql]$ vim /etc/my.cnf #編輯配置文件 [client] port=3306 socket=/data/mysql/mysql.sock [mysqld] port=3306 skip-external-locking datadir=/data/mysql socket=/data/mysql/mysql.sock [root@localhost mysql]$ service mysqld start [root@localhost mysql]$ mysql_secure_installation -p*nr!%iFl%7>i #執行安全加固腳本,密碼為上面生成初始化數據庫系統隨機分配的密碼 如果在make編譯時報錯,排查完錯誤之后,需要先執行rm -f CMakeCache.txt操作,執行完之后再重新進行make編譯


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM