開源數據庫mysql,目前使用很廣泛。作為程序員開發項目時,與關係型數據庫打交道最多的估計也是mysql了。那麼本文首先講解如何離線安裝mysql數據庫,畢竟有很多項目部署在內網。
1、離線安裝
本人的安裝環境為CentOS Linux release 7.5.1804 (Core),那麼其它的環境也可以參考配置。
(1)、到mysql官網(https://dev.mysql.com/downloads/mysql/)下載5.7.25版本
(2)、查看系統中是否存的mariadb,如果存在,將其刪除,即可以如下操作:
rpm -qa | grep mariadb
如果有返回信息,說明存在mariadb,本人的系統返回:
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目錄下,並依次執行如下的解壓命令:
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用戶和組
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
然後輸入初始密碼,即可以登錄成功:
2、測試
創建一個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)
閱讀更多 架構與我 的文章