開源數據庫mysql,目前使用很普遍。做爲程序員開發項目時,與關係型數據庫打交道最多的估計也是mysql了。那麼本文首先講解如何離線安裝mysql數據庫,畢竟有不少項目部署在內網。node
本人的安裝環境爲CentOS Linux release 7.5.1804 (Core),那麼其它的環境也能夠參考配置。mysql
(1)、到mysql官網(https://dev.mysql.com/downloads/mysql/)下載5.7.25版本linux
(2)、查看系統中是否存的mariadb,若是存在,將其刪除,便可以以下操做:程序員
rpm -qa | grep mariadb
若是有返回信息,說明存在mariadb,本人的系統返回:sql
mariadb-libs-5.5.56-2.el7.x86_64
刪除命令爲:數據庫
rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64
(3)、將mysql-5.7.25-linux-glibc2.12-x86_64.tar安裝包上傳到opt目錄下,並依次執行以下的解壓命令:bash
tar -xvf mysql-5.7.25-linux-glibc2.12-x86_64.tar
執行上面的命令後,能夠獲得mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz文件,而後再解壓該文件:微信
tar -zxvf mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz
那麼此時在opt目錄就會mysql-5.7.25-linux-glibc2.12-x86_64目錄,將該目錄修改爲mysql-5.7.25,即:架構
mv mysql-5.7.25-linux-glibc2.12-x86_64 mysql-5.7.25
(4)、建立mysql用戶和組socket
groupadd mysql useradd -g mysql mysql # 設置用戶的密碼 passwd mysql
(5)、建立數據庫的數據目錄、日誌目錄和臨時目錄,即:
# 數據目錄 mkdir /opt/mysql-5.7.25/data # 日誌目錄 mkdir /opt/mysql-5.7.25/log # 臨時目錄 mkdir /opt/mysql-5.7.25/tmp
將mysql-5.7.25目錄及子目錄的所屬用戶及組都設置爲mysql,即:
chown -R mysql:mysql /opt/mysql-5.7.25
(6)、在etc目錄下建立my.cnf配置文件,即:
touch /etc/my.cnf
my.cnf的配置內容爲:
[client] port = 3306 socket = /opt/mysql-5.7.25/tmp/mysql.sock [mysqld] port = 3306 basedir = /opt/mysql-5.7.25 datadir = /opt/mysql-5.7.25/data tmpdir = /opt/mysql-5.7.25/tmp socket = /opt/mysql-5.7.25/tmp/mysql.sock pid-file = /opt/mysql-5.7.25/log/mysql.pid log_error = /opt/mysql-5.7.25/log/error.log slow_query_log_file = /opt/mysql-5.7.25/log/slow.log
注意:該配置不是最優的配置,只是測試用途
(7)、初始化數據庫:
/opt/mysql-5.7.25/bin/mysqld --initialize --user=mysql
(8)、設置開機自啓動mysql服務:
cp /opt/mysql-5.7.25/support-files/mysql.server /etc/rc.d/init.d/mysqld chmod +x /etc/rc.d/init.d/mysqld chkconfig --add mysqld
切換mysql用戶:
su mysql # 啓動mysql服務 service mysqld start
(9)、專門爲mysql用戶配置mysql的環境變量,即:
首先肯定當前用戶爲mysql,而後編輯:
vi ~/.bash_profile
加入以下內容:
export PATH=$PATH:/opt/mysql-5.7.25/bin
而後:
source ~/.bash_profile
(10)、獲取初始密碼:
在log目錄下有一個error.log,裏面有一段相似以下內容:
2019-04-15T20:48:49.436053Z 1 [Note] A temporary password is generated for root@localhost: 0-7YeFpwhf>a
那麼初始密碼就是:
0-7YeFpwhf>a
注意:不一樣機器操做的初始密碼確定是不同的,這裏只是以本人的爲例。
(11)、登陸數據庫:
mysql -u root -p
而後輸入初始密碼,便可以登陸成功:
(12)、重置密碼:
set password for root@localhost=password("jgyw@123");
建立一個jgyw模式:
create schema jgyw;
而後查看模式:
show schemas;
即:
+--------------------+ | Database | +--------------------+ | information_schema | | jgyw | | mysql | | performance_schema | | sys | +--------------------+ 5 rows in set (0.00 sec)
在jgyw模塊下建立comm_config表,即:
use jgyw; # 建表 CREATE TABLE `comm_config` ( `configId` varchar(200) NOT NULL, `configValue` varchar(1024) DEFAULT NULL, `description` varchar(2000) DEFAULT NULL, PRIMARY KEY (`configId`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8
查看錶:
show tables;
結果爲:
+----------------+ | Tables_in_jgyw | +----------------+ | comm_config | +----------------+ 1 row in set (0.00 sec)
插入一條測試數據,即:
insert into comm_config(configId, configValue, description) values('name', '架構與我', '測試一下');
查詢一下,即:
select * from comm_config;
結果爲:
+----------+--------------+--------------+ | configId | configValue | description | +----------+--------------+--------------+ | name | 架構與我 | 測試一下 | +----------+--------------+--------------+ 1 row in set (0.00 sec)
以你最方便的方式關注我:
微信公衆號: