php環境篇:linux編譯安裝mysql5.7

mysql編譯安裝

添加用戶

useradd -s /usr/sbin/nologin -r mysqlmysql

下載源碼包以及解壓

wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-boost-5.7.21.tar.gz
tar -zxf mysql-boost-5.7.21.tar.gz
cd mysql-5.7.21

安裝擴展依賴

yum remove mariadb-libs

yum install gcc -y
yum install gcc-c++ -y
yum install cmake -y
yum install libaio -y
yum install ncurses-devel -y

建立mysql的安裝目錄及數據庫存放目錄

mkdir -p /data/db/mysql
mkdir -p /data/log/mysql

編譯安裝mysql

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DSYSCONFDIR=/usr/local/mysql/etc \
-DMYSQL_DATADIR=/data/mysql \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITH_SYSTEMD=1 \
-DWITH_SSL=system \
-DWITH_ZLIB=system \
-DWITH_EMBEDDED_SERVER=1 \
-DENABLED_LOCAL_INFILE=1 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_general_ci \
-DDOWNLOAD_BOOST=1 \
-DWITH_BOOST=/usr/local/boost

make -j8 && make install

檢驗是否安裝成功

[root@root mysql-5.7.12]#    cd /usr/local/mysql/
[root@root mysql]#    ls
bin      data  include  man         mysql.sock.lock  README  support-files
COPYING  docs  lib      mysql.sock  mysql-test       share

新建目錄

mkdir -p /data/db/mysql/
mkdir -p /data/log/mysql/

增長配置文件

mkdir /usr/local/mysql/etc
touch /usr/local/mysql/etc/my.cnf
ln -s /usr/local/mysql/etc/my.cnf /usr/local/etc

修改權限

chown -R mysql:mysql /usr/local/mysql/*
chown -R mysql:mysql /data/db/mysql /data/log/mysql

生成初始化密碼

cd /usr/local/mysql

bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/db/mysql

bin/mysql_ssl_rsa_setup

vim /data/log/mysql/error.log

查看初始化密碼
grep 'temporary password' /data/log/mysql/error.log

將mysql的啓動服務添加到系統服務中

cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system

mkdir -p /var/run/mysqld/
chown mysql:mysql /var/run/mysqld

systemctl start mysqld
service mysql start

啓動mysql

service mysqld start

檢查mysql啓動是否正常
service mysqld status 或者 ps -ef | grep mysql

設置mysqld服務開機自啓動
systemctl enable mysqld.service

檢查mysqld開機自啓動是否設置成功
systemctl list-dependencies | grep mysqld

修改mysql密碼,以及遠程鏈接權限

ALTER USER 'root'@'localhost' IDENTIFIED BY 'Studytime%';
use mysql;
select host, user from user;
update user set host = '%' where user = 'root';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'Studytime%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
相關文章
相關標籤/搜索