【環(huán)境搭建】安裝MySQL

MySQL 是目前最流行的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)表谊,其具有以下特點(diǎn):

  • MySQL 是開源的压恒。
  • MySQL 支持大型的數(shù)據(jù)庫茅主。相對(duì)于Excel來說纵刘,可以處理擁有上千萬條記錄的大型數(shù)據(jù)庫。
  • MySQL 使用標(biāo)準(zhǔn)的 SQL 數(shù)據(jù)語言形式犬第。
  • MySQL 可以運(yùn)行于多個(gè)系統(tǒng)上五督,并且支持多種語言(如Python、Java瓶殃、C、C++等)副签。
  • ……

本篇文章將從Window和Linux兩個(gè)系統(tǒng)中對(duì)MySQL進(jìn)行安裝和配置遥椿。


1. Window下MySQL的安裝與配置

1.1 下載MySQL

目前MySQL版本已經(jīng)更新到MySQL8基矮,官方宣傳新的版本在很多方面得到了提升。但為了追求穩(wěn)定冠场,建議大家選用MySQL5.7版本家浇。

進(jìn)入MySQL官網(wǎng)(https://dev.mysql.com/downloads/mysql/),選擇MySQL Community Server(社區(qū)版碴裙,該版本完全免費(fèi)钢悲,但官方不支持技術(shù)支持),根據(jù)Window系統(tǒng)是32位還是64位舔株,選擇合適的5.7版本莺琳。

1.2 安裝MySQL

下載完后,將 zip 包解壓到相應(yīng)的目錄(一定要選用英文文件夾载慈,以避免出現(xiàn)不必要的錯(cuò)誤)惭等。這里將解壓后的文件夾放在 D:\mysql-5.7.28 下。解壓后的文件如下圖所示:

1.3 配置MySQL

1)配置環(huán)境變量
MySQL安裝目錄下有一個(gè)bin目錄办铡,這個(gè)目錄里是MySQL的核心內(nèi)容辞做,里面包含一些可執(zhí)行的文件或腳本。通過配置系統(tǒng)環(huán)境變量寡具,可以直接在終端執(zhí)行相關(guān)命令秤茅。下面介紹怎樣手動(dòng)配置環(huán)境變量。具體操作步驟如下:

  1. 桌面右鍵我的電腦 --> 屬性 --> 高級(jí)系統(tǒng)屬性 --> 高級(jí)童叠。

  2. 點(diǎn)擊環(huán)境變量(N) --> 在系統(tǒng)變量中選擇path變量框喳。

  3. 單擊編輯,在編輯系統(tǒng)對(duì)話框中拯钻,將MySQL應(yīng)用程序的bin目錄(D:\mysql-5.7.28\bin)添加到變量值當(dāng)中帖努,用分號(hào)將其與其他路徑分隔開。

  4. 點(diǎn)擊確定粪般,這樣就完成了配置環(huán)境變量的操作拼余。

2)更改MySQL配置
接下來,還需要對(duì)MySQL進(jìn)行一些基本配置亩歹。在MySQL文件夾中新建my.ini配置文件匙监,編輯my.ini配置以下基本信息:

# MySQL客戶端參數(shù)
[client]
# 設(shè)置MySQL客戶端默認(rèn)字符集
default-character-set=utf8

# MySQL服務(wù)端參數(shù)
[mysqld]
# 設(shè)置3306端口
port = 3306
# 設(shè)置MySQL安裝目錄
basedir =D:\\mysql-5.7.28
# 允許最大連接數(shù)
max_connections=20
# 服務(wù)端使用的字符集默認(rèn)為8比特編碼的latin1字符集
character-set-server=utf8
# 創(chuàng)建新表時(shí)將使用的默認(rèn)存儲(chǔ)引擎
default-storage-engine=INNODB
1.4 啟動(dòng)及登錄MySQL

1) 啟動(dòng)MySQL

  1. 以管理員身份打開CMD命令行工具,切換目錄小作。
C:\Users\Administrator> d:
d:\> cd d:/mysql-5.7.28/bin
  1. 執(zhí)行以下命令:
d:\mysql-5.7.28\bin> mysqld --initialize-insecure --user=mysql

將看到在安裝目錄下亭姥,多出一個(gè)data文件夾。

  1. 輸入以下命令顾稀,安裝MySQL服務(wù)达罗,出現(xiàn)“Service successfully installed”,代表服務(wù)安裝成功:
d:\mysql-5.7.28\bin> mysqld --install mysql5.7 --defaults-file="D:\\mysql-5.7.28\\my.ini"
Service successfully installed.
  1. 輸入以下命令,啟動(dòng)MySQL服務(wù):
d:\mysql-5.7.28\bin> net start mysql5.7
mysql5.7 服務(wù)正在啟動(dòng) .
mysql5.7 服務(wù)已經(jīng)啟動(dòng)成功粮揉。

2)登錄MySQL
當(dāng)MySQL服務(wù)已經(jīng)運(yùn)行時(shí)巡李,可通過MySQL自帶的客戶端工具登錄MySQL數(shù)據(jù)庫中,輸入以下格式命令:

mysql -h 主機(jī)名 -u 用戶名 -p

如果需要登錄本機(jī)的MySQL數(shù)據(jù)庫扶认,只需輸入以下命令:

mysql -u root -p

按回車確認(rèn)侨拦,若密碼存在, 輸入密碼登錄, 不存在則直接按回車登錄。登錄成功后如下圖所示:

1.5 修改MySQL數(shù)據(jù)庫的用戶名和密碼

1)修改數(shù)據(jù)庫用戶名

# 進(jìn)入數(shù)據(jù)庫
mysql> use mysql
Database changed
# 更改用戶名
mysql> update user set user='Newname' where user='root';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0
# 刷新權(quán)限
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
# 查詢目前已有的用戶名
mysql> select user from mysql.user;
+---------------+
| user          |
+---------------+
| Newname       |
| mysql.session |
| mysql.sys     |
+---------------+
3 rows in set (0.00 sec)

2)修改數(shù)據(jù)庫的登錄密碼

# 修改數(shù)據(jù)庫登錄密碼
mysql> alter user 'root'@'localhost' identified by 'youpassword';
# 刷新權(quán)限
mysql> flush privileges;

其中root為使用者的用戶名辐宾,youpassword為要修改的新密碼狱从,修改完以后,繼續(xù)刷新一次數(shù)據(jù)庫叠纹,就可以使用自己修改過得密碼登錄了季研。


2. Linux下MySQL的安裝與配置

2.1 下載MySQL

同樣到MySQL官網(wǎng)進(jìn)行下載,Linux版本的MySQL推薦下載Linux-Generic版本吊洼。

2.2 安裝MySQL
  1. 使用Xftp工具將下載好的安裝包上傳到Linux上训貌。

  2. 創(chuàng)建用戶組及用戶名

# 添加用戶組
[root@localhost ~]# groupadd mysql
# 新建mysql用戶
[root@localhost ~]# useradd -r -g mysql mysql  
  1. 安裝依賴
[root@localhost ~]# yum install -y libaio
  1. 解壓并創(chuàng)建快捷鏈接
# 解壓
[root@localhost ~]# tar xf mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz -C /usr/local/
# 進(jìn)入解壓后的文件夾
[root@localhost ~]# cd /usr/local
# 創(chuàng)建快捷鏈接
[root@localhost local]# ln -s mysql-5.7.28-linux-glibc2.12-x86_64 mysql
  1. 添加環(huán)境變量
[root@localhost local]# echo 'export PATH=$PATH:/usr/local/mysql/bin' >> /etc/profile
[root@localhost local]# echo 'export PATH=$PATH:/usr/local/mysql/bin' >> ~/.bashrc
[root@localhost local]# source /etc/profile
[root@localhost local]# source ~/.bashrc
  1. 創(chuàng)建數(shù)據(jù)和日志目錄
# 創(chuàng)建目錄
[root@localhost local]# mkdir -p /data/mysql/{data,binlogs,log}
[root@localhost local]# mkdir -p /usr/local/mysql/{etc,run}
# 創(chuàng)建快捷鏈接
[root@localhost local]# ln -sv /data/mysql/data/ /usr/local/mysql/data
[root@localhost local]# ln -sv /data/mysql/log/ /usr/local/mysql/log
[root@localhost local]# ln -sv /data/mysql/binlogs/ /usr/local/mysql/binlogs
# 授予權(quán)限
[root@localhost local]# chown -R mysql.mysql /data/mysql/
[root@localhost local]# chown -R mysql.mysql /usr/local/mysql/{data,binlogs,log,etc,run}
  1. 配置my.cnf
# 配置my.cnf
[root@localhost local]#  vi /usr/local/mysql/etc/my.cnf
# 創(chuàng)建快捷鏈接
ln -sv /usr/local/mysql/etc/my.cnf /etc/my.cnf

配置信息如下,可根據(jù)個(gè)人需求進(jìn)行更改冒窍。

[client]
port=3306
socket=/usr/local/mysql/run/mysql.sock
 
[mysqld]
port=3306
socket=/usr/local/mysql/run/mysql.sock
pid_file=/usr/local/mysql/run/mysql.pid
datadir=/usr/local/mysql/data
 
skip-external-locking
key_buffer_size=32M
max_allowed_packet=16M
table_open_cache=1024
sort_buffer_size=1m
net_buffer_length=8K
read_buffer_size=1m
read_rnd_buffer_size=512K
myisam_sort_buffer_size=8M
thread_cache_size=16
query_cache_size=32M
tmp_table_size=32M
performance_schema_max_table_instances=500
 
explicit_defaults_for_timestamp=true
#skip-networking
max_connections=500
max_connect_errors=100
open_files_limit=65535
 
slow_query_log=on
long_query_time=2
slow_query_log_file=/usr/local/mysql/log/mysql_slow_query.log
 
log-error=/usr/local/mysql/log/mysql_error.log
log-bin=/usr/local/mysql/binlogs/mysql-bin
binlog_format=mixed
server-id=10
expire_logs_days=10
early-plugin-load=""
 
default_storage_engine=InnoDB
innodb_file_per_table=1
innodb_data_home_dir=/usr/local/mysql/data
innodb_data_file_path=ibdata1:10M:autoextend
innodb_log_group_home_dir=/usr/local/mysql/data
innodb_buffer_pool_size=128M
innodb_log_file_size=32M
innodb_log_buffer_size=8M
innodb_flush_log_at_trx_commit=1
innodb_lock_wait_timeout=50
 
[mysqldump]
quick
max_allowed_packet=16M
 
[myisamchk]
key_buffer_size=32M
sort_buffer_size=768K
read_buffer=2M
write_buffer=2M
 
[mysqlhotcopy]
interactive-timeout
  1. 初始化MySQL
# 初始化MySQL递沪,此步驟會(huì)產(chǎn)生臨時(shí)密碼,需記錄下來
[root@localhost mysql]# mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
# 初始化ssl
[root@localhost mysql]#  mysql_ssl_rsa_setup --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/

9.設(shè)置啟動(dòng)服務(wù)

[root@localhost mysql]#  vi /usr/lib/systemd/system/mysqld.service  

具體設(shè)置參數(shù)如下:

[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
 
[Install]
WantedBy=multi-user.target
 
[Service]
User=mysql
Group=mysql
 
Type=forking
 
PIDFile=/usr/local/mysql/run/mysqld.pid
 
# Disable service start and stop timeout logic of systemd for mysqld service.
TimeoutSec=0
 
# Execute pre and post scripts as root
PermissionsStartOnly=true
 
# Needed to create system tables
#ExecStartPre=/usr/bin/mysqld_pre_systemd
 
# Start main service
ExecStart=/usr/local/mysql/bin/mysqld --daemonize --pid-file=/usr/local/mysql/run/mysqld.pid $MYSQLD_OPTS
 
# Use this to switch malloc implementation
EnvironmentFile=-/etc/sysconfig/mysql
 
# Sets open_files_limit
LimitNOFILE = 65535
 
Restart=on-failure
 
RestartPreventExitStatus=1
 
PrivateTmp=false
  1. 設(shè)置開機(jī)啟動(dòng)
[root@localhost mysql]# systemctl enable mysqld.service  
# 查看是否以啟動(dòng)
[root@localhost mysql]# systemctl is-enabled mysqld
  1. 啟動(dòng)MySQL
[root@localhost mysql]# systemctl start mysqld
# 登錄MySQL
[root@localhost mysql]# mysql -u root -p

登錄MySQL時(shí)综液,需鍵入密碼款慨,此密碼為初始化MySQL時(shí)產(chǎn)生的臨時(shí)密碼。

  1. 修改密碼
    登錄成功后谬莹,將臨時(shí)密碼修改為自己的密碼檩奠。
mysql> set password xxxxx;
# 退出數(shù)據(jù)庫
mysql> exit

3. 使用Navicat對(duì)MySQL進(jìn)行管理及開發(fā)

Navicat是一套快速、可靠并價(jià)格相當(dāng)便宜的數(shù)據(jù)庫管理工具附帽,專為簡化數(shù)據(jù)庫的管理及降低系統(tǒng)管理成本而設(shè)埠戳。它的設(shè)計(jì)符合數(shù)據(jù)庫管理員、開發(fā)人員及中小企業(yè)的需要蕉扮。Navicat 是以直覺化的圖形用戶界面而建的整胃,讓你可以以安全并且簡單的方式創(chuàng)建、組織喳钟、訪問并共用信息屁使。

它可以對(duì)本機(jī)或遠(yuǎn)程的MySQL或者其他數(shù)據(jù)庫(如SQL Server、SQLite奔则、Oracle等)進(jìn)行管理或者開發(fā)蛮寂。

Navicat Premium是一個(gè)可多重連接的數(shù)據(jù)庫管理工具,可同時(shí)連接不同類型的數(shù)據(jù)庫易茬,能簡單快速地在各種數(shù)據(jù)庫系統(tǒng)間傳輸數(shù)據(jù)酬蹋。其主要有以下幾種功能:

3.1 Navicat的使用
  1. 下載
    根據(jù)自己的電腦配置在Navicat官網(wǎng)下載相應(yīng)的安裝包,官方提供14 天 免費(fèi)的全功能 Navicat 試用版。

  2. 連接MySQL服務(wù)
    Navicat下載安裝完成后除嘹,其界面如下所示:

1)新建連接写半,點(diǎn)擊菜單欄中的文件 --> 新建連接 ---> MySQL,進(jìn)入創(chuàng)建連接界面尉咕。

2)添加鏈接名,以及本地IP或localhost璃岳,以及MySQL端口號(hào)(默認(rèn)為3306)年缎,并輸入MySQL賬號(hào)及密碼。點(diǎn)擊測試連接铃慷,出現(xiàn)以下彈窗就是成功鏈接MySQL數(shù)據(jù)庫服務(wù)了单芜。

3)新建數(shù)據(jù)庫,右鍵點(diǎn)擊剛建好的數(shù)據(jù)庫犁柜,點(diǎn)擊新建數(shù)據(jù)庫洲鸠,進(jìn)入新建數(shù)據(jù)庫界面。

3)刪除數(shù)據(jù)庫馋缅,右鍵點(diǎn)擊需要?jiǎng)h除的數(shù)據(jù)庫扒腕,點(diǎn)擊確認(rèn)刪除即可。

4)創(chuàng)建數(shù)據(jù)表萤悴,選擇數(shù)據(jù)庫瘾腰,右鍵點(diǎn)擊表,點(diǎn)擊新建表即可覆履。

5)修改數(shù)據(jù)表蹋盆,選中所需修改的數(shù)據(jù)表,右鍵點(diǎn)擊設(shè)計(jì)表硝全,然后和創(chuàng)建數(shù)據(jù)表一樣去編輯字段栖雾,數(shù)據(jù)類型,完整性約束等伟众。

6)刪除數(shù)據(jù)表析藕,選中需要?jiǎng)h除的數(shù)據(jù)表,右鍵選擇刪除表即可赂鲤。

7)查詢數(shù)據(jù)噪径,選中需要查詢的某個(gè)數(shù)據(jù)庫,右鍵選擇新建查詢数初,進(jìn)入查詢界面找爱,在里面輸入查詢語句即可。

8)備份數(shù)據(jù)庫泡孩,選擇需要備份的數(shù)據(jù)庫车摄,右鍵選擇轉(zhuǎn)儲(chǔ)SQL文件,選擇結(jié)構(gòu)和數(shù)據(jù),存儲(chǔ)導(dǎo)數(shù)需要保存的位置吮播,確定即可变屁。

3.2 Navicat的快捷鍵

Navicat的快捷鍵可通過官網(wǎng)獲取(https://www.navicat.com.cn/manual/online_manual/cn/navicat/win_manual/index.html#/hot_keys)意狠,其主要快捷鍵如下:


至此粟关,MySQL在Window和Linux兩個(gè)平臺(tái)上安裝及使用已全部完成。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末环戈,一起剝皮案震驚了整個(gè)濱河市闷板,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌院塞,老刑警劉巖遮晚,帶你破解...
    沈念sama閱讀 212,454評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異拦止,居然都是意外死亡县遣,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,553評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門汹族,熙熙樓的掌柜王于貴愁眉苦臉地迎上來萧求,“玉大人,你說我怎么就攤上這事鞠抑》咕郏” “怎么了?”我有些...
    開封第一講書人閱讀 157,921評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵搁拙,是天一觀的道長秒梳。 經(jīng)常有香客問我,道長箕速,這世上最難降的妖魔是什么酪碘? 我笑而不...
    開封第一講書人閱讀 56,648評(píng)論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮盐茎,結(jié)果婚禮上兴垦,老公的妹妹穿的比我還像新娘。我一直安慰自己字柠,他們只是感情好探越,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,770評(píng)論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著窑业,像睡著了一般钦幔。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上常柄,一...
    開封第一講書人閱讀 49,950評(píng)論 1 291
  • 那天鲤氢,我揣著相機(jī)與錄音搀擂,去河邊找鬼。 笑死卷玉,一個(gè)胖子當(dāng)著我的面吹牛哨颂,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播相种,決...
    沈念sama閱讀 39,090評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼威恼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了蚂子?” 一聲冷哼從身側(cè)響起沃测,我...
    開封第一講書人閱讀 37,817評(píng)論 0 268
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎食茎,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體馏谨,經(jīng)...
    沈念sama閱讀 44,275評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡别渔,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,592評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了惧互。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片哎媚。...
    茶點(diǎn)故事閱讀 38,724評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖喊儡,靈堂內(nèi)的尸體忽然破棺而出拨与,到底是詐尸還是另有隱情,我是刑警寧澤艾猜,帶...
    沈念sama閱讀 34,409評(píng)論 4 333
  • 正文 年R本政府宣布买喧,位于F島的核電站,受9級(jí)特大地震影響匆赃,放射性物質(zhì)發(fā)生泄漏淤毛。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,052評(píng)論 3 316
  • 文/蒙蒙 一算柳、第九天 我趴在偏房一處隱蔽的房頂上張望低淡。 院中可真熱鬧,春花似錦瞬项、人聲如沸蔗蹋。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,815評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽猪杭。三九已至,卻和暖如春绎橘,著一層夾襖步出監(jiān)牢的瞬間胁孙,已是汗流浹背唠倦。 一陣腳步聲響...
    開封第一講書人閱讀 32,043評(píng)論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留涮较,地道東北人稠鼻。 一個(gè)月前我還...
    沈念sama閱讀 46,503評(píng)論 2 361
  • 正文 我出身青樓,卻偏偏與公主長得像狂票,于是被迫代替她去往敵國和親候齿。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,627評(píng)論 2 350

推薦閱讀更多精彩內(nèi)容

  • 一闺属、Python簡介和環(huán)境搭建以及pip的安裝 4課時(shí)實(shí)驗(yàn)課主要內(nèi)容 【Python簡介】: Python 是一個(gè)...
    _小老虎_閱讀 5,729評(píng)論 0 10
  • mysqladmin -u root -p oldpass password newpass mysqladmin...
    不排版閱讀 2,157評(píng)論 0 3
  • feisky云計(jì)算慌盯、虛擬化與Linux技術(shù)筆記posts - 1014, comments - 298, trac...
    不排版閱讀 3,833評(píng)論 0 5
  • 安裝并配置MySQL數(shù)據(jù)庫 3.2.1安裝MySQL數(shù)據(jù)庫 1.MySQL數(shù)據(jù)庫的安裝環(huán)境準(zhǔn)備 如果讀者沒有物理服...
    SkTj閱讀 4,030評(píng)論 0 6
  • 什么是數(shù)據(jù)庫? 數(shù)據(jù)庫是存儲(chǔ)數(shù)據(jù)的集合的單獨(dú)的應(yīng)用程序掂器。每個(gè)數(shù)據(jù)庫具有一個(gè)或多個(gè)不同的API亚皂,用于創(chuàng)建,訪問国瓮,管理...
    chen_000閱讀 4,033評(píng)論 0 19