mysql編譯安裝
1、下載安裝包
[root@localhost ~]# yum install -y wget vim
[root@localhost ~]# useradd -r mysql -M -s /bin/false
[root@localhost ~]# yum install -y ncurses ncurses-devel openssl-devel bison gcc gcc-c++ make cmake
##mysql-boost下載地址:
[root@localhost ~]# wget https://dev.mysql.com/get/Download/MySQL-5.7/mysql-boost-5.7.27.tar.gz
[root@localhost ~]# mkdir /downloads/ #應(yīng)用下載目錄
[root@localhost ~]# mkdir -p /usr/local/mysql
[root@localhost ~]# mv mysql-boost-5.7.27.tar.gz /downloads/
[root@localhost ~]# cd /downloads/
[root@localhost downloads]# tar -xzf mysql-boost-5.7.27.tar.gz -C /usr/local
[root@localhost downloads]# mkdir /usr/local/boost
2易猫、預(yù)編譯
[root@localhost downloads]# cd /usr/local/mysql-5.7.27/
[root@localhost mysql-5.7.27]# cmake . \
-DWITH_BOOST=/usr/local/boost \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DSYSCONFDIR=/etc \
-DEXTRA_CHARSETS=all \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_general_ci \
-DWITH_EMBEDDED_SERVER=1 \
-DDOWNLOAD_BOOST=1 \
[root@localhost mysql-5.7.27]# make && make install
3、初始化
[root@localhost mysql-5.7.27]# cd /usr/local/mysql
[root@localhost mysql]# chown -R mysql.mysql .
[root@localhost mysql]# ./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --pid-file=/usr/local/mysql/mysql.pid
數(shù)據(jù)庫登錄密碼最后面有顯示
執(zhí)行初始化過程中可能會出現(xiàn)字符集的錯誤,如報錯1所示
4凿歼、添加配置目錄
[root@localhost mysql]# vim /etc/my.cnf
[mysqld]
basedir=/usr/local/mysql #安裝目錄
datadir=/usr/local/mysql/data #數(shù)據(jù)放置目錄
log-error=/usr/local/mysql/data/error.log
pid-file=/usr/local/mysql/mysql.pid
user=mysql
5、啟動mysql
啟動方式一:
[root@localhost mysql]# cd /usr/local/mysql/support-files/
[root@localhost mysql]# ./mysql.server start
啟動方式二:
[root@localhost bin]# nohup ./mysqld_safe --user=mysql &
啟動過程中可能會出現(xiàn)如下進程報錯問題冗恨,如報錯2所示
6答憔、登錄數(shù)據(jù)庫:
[root@localhost mysql]# /usr/local/mysql/bin/mysql -uroot -p',p79sY5sOLi!' #若出現(xiàn)無法連接socket '/tmp/mysql.sock'的問題:
[root@localhost tmp]# ln -s /usr/local/mysql/mysql.sock /tmp/mysql.sock
7、修改密碼
[root@localhost mysql]# /usr/local/mysql/bin/mysqladmin -uroot -p',p79sY5sOLi!' password 'Student@123'
8掀抹、命令修改
[root@localhost ~]# ln -s /usr/local/mysql/bin/mysql /usr/bin/
9虐拓、設(shè)置腳本啟動mysql:
[root@localhost support-files]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
[root@localhost support-files]# cd /etc/init.d/
[root@localhost init.d]# chkconfig --add mysql
[root@localhost init.d]# chkconfig mysql on
[root@localhost init.d]# vim mysql
修改以下內(nèi)容:
basedir=/usr/local/mysql/
datadir=/usr/local/mysql/$BINARY_NAME.pid
[root@localhost init.d]# systemctl daemon-reload
[root@localhost init.d]# /etc/init.d/mysql.server restart
初始化結(jié)果:
image.png
報錯1,如圖:
image.png
解決方法:
[root@localhost mysql]# vim /etc/my.cnf
添加如下內(nèi)容:
[client]
default-character-set = utf8
[mysqld]
character_set_server=utf8
報錯2傲武,如圖:
image.png
解決方法:
查看/usr/local/mysql/data/localhost.localdomain.err 蓉驹,會發(fā)現(xiàn)
image.png
所以:
[root@localhost mysql]# mkdir /data/mysqldata/3306/
[root@localhost mysql]# chown mysql.mysql /data/mysqldata/3306/
就能發(fā)現(xiàn)啟動數(shù)據(jù)庫成功:
image.png