1. 程式人生 > >Linux下以二進位制原始碼方式安裝mysql-5.7.24 資料庫

Linux下以二進位制原始碼方式安裝mysql-5.7.24 資料庫

Linux下安裝mysql資料庫

今天正好有時間自己在環境下安裝資料庫,操作了一下,以供大家學習下,但是也有一寫坑的地方

下載安裝包

mysql官網下載地址
1、如果需要下載到本地的話,點選下載mysql-5.7.24至本地
2、如果是在linux伺服器上操作的話,
我是進入cd /web目錄, 使用下面的命令 下載安裝包在伺服器web目錄下

wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz

然後使用tar命令將伺服器下載好的安裝包解壓在當前目錄

tar -zxvf mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz

再然後使用mv 重新命名mysql安裝目錄

mv mysql-5.7.24-linux-glibc2.12-x86_64 mysql-5.7.24

新增使用者組和使用者

新增使用者組

groupadd mysql

新增使用者mysql 到使用者組mysql

useradd -r -g mysql mysql

useradd -r引數表示mysql使用者是系統使用者,不可用於登入系統
useradd -g引數表示把mysql使用者新增到mysql使用者組中

更改許可權

cd /web/mysql-5.7.24
chown -R mysql:mysql .

初始化資料庫

初始化資料庫前的配置

建立data目錄

cd /web/mysql-5.7.24
mkdir data

建立logs目錄並建立mysql.log檔案 用於儲存mysql日誌

cd /web/mysql-5.7.24
mkdir logs
echo "">mysql.log

初始化資料庫

5.7.6之後的版本初始化資料庫不再使用mysql_install_db,而是使用: bin/mysqld --initialize

初始化命令如下

bin/mysqld --initialize --user=mysql --basedir=/web/mysql-5.7.24 --datadir=/web/mysql-5.7.24/data

其中 user 是啟動mysql的使用者,basedir 是mysql安裝目錄,datadir 是 mysql資料倉庫目錄
mysql 5.7版本初始化資料庫後會預設生成一個初始的登入密碼,第一次登入要使用初始密碼
資訊如下:

2018-10-24T05:46:33.446315Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2018-10-24T05:46:33.448636Z 0 [Warning] You need to use --log-bin to make --binlog-format work.
2018-10-24T05:46:34.733390Z 0 [Warning] InnoDB: New log files created, LSN=45790
2018-10-24T05:46:34.912448Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2018-10-24T05:46:34.979791Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 2ac659b8-d750-11e8-8fa1-fa163efff95f.
2018-10-24T05:46:34.982104Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
2018-10-24T05:46:34.982589Z 1 [Note] A temporary password is generated for [email protected]: !+auH/*Ow7_j

在執行上一步操作後會在命令列最後一行輸出

2018-10-24T05:46:34.982589Z 1 [Note] A temporary password is generated for [email protected]: !+auH/*Ow7_j

[email protected]: 後面的一字串串 !+auH/*Ow7_j 就是後面登入的時候要用到的

將mysql-5.7.24/目錄下除了data/目錄的所有檔案,改回root使用者所有,mysql使用者只需作為mysql-5.7.24/data/目錄下所有檔案的所有者。

chown -R root .  
chown -R mysql data  

配置my.cnf

mysql 5.7.24版本 mysql-5.7.24/support-files/下不存在my-default.cnf檔案,需要在/etc/目錄下建立my.cnf,並寫入以下內容

basedir = /web/mysql-5.7.24/  
datadir = /web/mysql-5.7.24//data  
port = 3306  
socket = /web/mysql-5.7.24/data/mysql.sock
log-error=/web/mysql-5.7.24/logs/mysql.log
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES  

將mysqld服務加入開機自啟動項

開機自啟動

cd /web/mysql-5.7.24/support-files/
cp mysql.server /etc/init.d/mysql 
chmod +x /etc/init.d/mysql

如果不按照上述操作,就只能使用{mysql}/bin/mysqld_safe & 命令來啟動服務

把mysql註冊為開機啟動的服務

chkconfig --add mysql  

檢視是否新增成功

chkconfig --list mysql  

mysql服務的開啟和關閉

serivce mysql start
service mysql stop

登入mysql

登入

cd /web/mysql-5.7.24/bin
./mysql -u root -p 

執行 ./mysql -u root -p 會要求輸入密碼
密碼就是在初始化資料庫時生成的密碼

修改密碼


mysql> set password=password("新密碼");

mysql> flush privileges;

退出mysql並重啟, 就可以用新密碼登入mysql了

此時此刻在linux安裝mysql資料庫就算大功搞成了!

不過如果想要用navicat資料庫連線工具連線剛剛安裝好的資料庫的話,還需最後一步

mysql開啟遠端連線

登入mysql

cd /web/mysql-5.7.24/bin
./mysql -u root -p

###登入mysql資料庫後

mysql> use mysql
mysql> select host,user from user;
mysql> update user set host = '%' where user = 'root';
mysql> FLUSH PRIVILEGES; 

FLUSH PRIVILEGES; 命令使剛才的修改生效,重新整理先前的修改。
這樣就可以用資料庫連線工具遠端連線了