最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL安裝三種方法總結(jié)(yum安裝、編譯安裝、二進(jìn)制安裝)

 更新時(shí)間:2023年12月05日 15:35:01   作者:TA548464  
MySQL安裝網(wǎng)上的教程有很多,基本上大同小異,但是安裝軟件有時(shí)就可能因?yàn)橐粋€(gè)細(xì)節(jié)安裝失敗,這篇文章主要介紹了MySQL安裝三種方法的相關(guān)資料,三種方法分別是yum安裝、編譯安裝以及二進(jìn)制安裝,需要的朋友可以參考下

切記:一定要關(guān)閉防火墻和selinux?。?!

服務(wù)器配置:2C4G即可,一臺(tái)

一、yum安裝方式

mysql的官方網(wǎng)站:www.mysql.com

中文官網(wǎng):https://www.mysql.com/cn/

1、下載mysql的yum源

[root@mysql-server ~]# wget https://dev.mysql.com/get/mysql80-community-release-el7-7.noarch.rpm
//或者下載到本地再上傳到服務(wù)器

2、安裝mysql的yum倉(cāng)庫(kù)

[root@mysql-server ~]# yum -y install mysql80-community-release-el7-7.noarch.rpm
[root@mysql-server ~]# yum -y install yum-utils    //安裝yum工具包

3、配置yum源

[root@mysql-server ~]# vim /etc/yum.repos.d/mysql-community.repo   
//修改如下
[mysql57-community]
name=MySQL 5.7 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/7/$basearch
enabled=1	#主要是把這里修改成1
...

[mysql80-community]
name=MySQL 8.0 Community Server
baseurl=http://repo.mysql.com/yum/mysql-8.0-community/el/7/$basearch
enabled=0	#主要是把這里修改成0
...

//1表示開(kāi)啟,0表示關(guān)閉

或者
[root@mysql-server ~]# yum-config-manager --enable mysql57-community	//將禁用的yum源庫(kù)啟用
[root@mysql-server ~]# yum-config-manager --disable mysql80-community	//將啟用的yum源庫(kù)禁用
//這種方式可以用在安裝mysql腳本中,非常方便?。?

4、安裝數(shù)據(jù)庫(kù)

[root@mysql-server ~]# yum install -y mysql-community-server
//默認(rèn)是安裝最新版本的
[root@mysql-server ~]# mysql -V
mysql  Ver 14.14 Distrib 5.7.43, for Linux (x86_64) using  EditLine wrapper
//啟動(dòng)服務(wù)
[root@mysql-server ~]# systemctl start mysqld
[root@mysql-server ~]# netstat -ntlp|grep mysql
tcp6       0      0 :::3306                 :::*                    LISTEN      9948/mysqld
//設(shè)置開(kāi)機(jī)啟動(dòng)
[root@mysql-server ~]# systemctl enable mysqld

5、查找密碼

//密碼保存在日志文件中
[root@mysql-server ~]# grep password /var/log/mysqld.log
2023-10-10T11:32:08.314934Z 1 [Note] A temporary password is generated for root@localhost: _!2g*Hb/:R.D

6、修改密碼

兩種方式:

第一種:登錄數(shù)據(jù)庫(kù)后操作

[root@mysql-server ~]# mysql -uroot -p'_!2g*Hb/:R.D'   //登錄
...
mysql> alter user 'root'@'localhost' identified by 'Jlting@123';
?Query OK, 0 rows affected (0.00 sec)
mysql> exit
Bye

[root@mysql-server ~]# mysql -uroot -p'Jlting@123'
...
mysql>

第二種:免入庫(kù)修改密碼,直接在命令行中修改

mysqladmin -u root -p’舊密碼’ password ‘新密碼’

注:修改密碼必須要有大小寫(xiě)、數(shù)字和特殊符號(hào),因?yàn)閙ysql默認(rèn)有密碼策略。

如果忘記密碼了,可以在配置文件中加上一行配置,跳過(guò)密碼驗(yàn)證

[root@localhost ~]# vim /etc/my.cnf
[mysqld]    //在mysqld標(biāo)簽下
skip-grant-tables   //添加這一行,跳過(guò)密碼驗(yàn)證
//意思就是跳過(guò)授權(quán)表,即可以跳過(guò)密碼驗(yàn)證直接進(jìn)入數(shù)據(jù)庫(kù)
?
//修改完配置文件需要重啟服務(wù)才能生效
[root@localhost ~]# systemctl restart mysqld
[root@localhost ~]# mysql -uroot -p
Enter password:	//直接回車
...
mysql>

二、編譯安裝方式

編譯安裝也叫源碼安裝

與二進(jìn)制(RPM)發(fā)行版本相比,如果我們選擇了通過(guò)源代碼進(jìn)行安裝,那么在安裝過(guò)程中我們能夠?qū)ySQL所做的調(diào)整將會(huì)更多更靈活一些。因?yàn)橥ㄟ^(guò)源代碼編譯我們可以:
a、針對(duì)自己的硬件平臺(tái)選用合適的編譯器來(lái)優(yōu)化編譯后的二進(jìn)制代碼;
b、根據(jù)不同的軟件平臺(tái)環(huán)境調(diào)整相關(guān)的編譯參數(shù);
c、針對(duì)我們特定應(yīng)用場(chǎng)景選擇需要什么組件不需要什么組件;
d、根據(jù)我們的所需要存儲(chǔ)的數(shù)據(jù)內(nèi)容選擇只安裝我們需要的字符集(utf-8);
e、同一臺(tái)主機(jī)上面可以安裝多個(gè)MySQL;

在源碼安裝給我們帶來(lái)更大靈活性的同時(shí),同樣也給我們帶來(lái)了可能引入的隱患:
a、對(duì)編譯參數(shù)的不夠了解造成編譯參數(shù)使用不當(dāng)可能使編譯出來(lái)的二進(jìn)制代碼不夠穩(wěn)定;
b、對(duì)自己的應(yīng)用環(huán)境把握失誤而使用的優(yōu)化參數(shù)可能反而使系統(tǒng)性能更差;
c、還有一個(gè)并不能稱之為隱患的小問(wèn)題就是源碼編譯安裝將使安裝部署過(guò)程更為復(fù)雜,所花費(fèi)的時(shí)間更長(zhǎng);

1、清理安裝環(huán)境

[root@mysql-server ~]# yum erase -y mariadb mariadb-server mariadb-libs mariadb-devel
[root@mysql-server ~]# userdel -r mysql
[root@mysql-server ~]# rm -rf /etc/my*
[root@mysql-server ~]# rm -rf /var/lib/mysql

2、創(chuàng)建mysql用戶

[root@mysql-server ~]# useradd -r mysql -M -s /bin/false

參數(shù)解釋
-r 參數(shù)表示創(chuàng)建系統(tǒng)用戶。系統(tǒng)用戶不需要登錄shell。并且會(huì)分配高的UID號(hào) mysql 指定要?jiǎng)?chuàng)建的用戶賬號(hào)名。
-M 參數(shù)表示不創(chuàng)建用戶主目錄。
-s 參數(shù)指定用戶的登錄shell,/bin/false 表示不允許登錄。

3、從官網(wǎng)下載tar包

[root@mysql-server ~]# wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-boost-5.7.27.tar.gz
或:
[root@mysql-server ~]# wget  https://downloads.mysql.com/archives/get/p/23/file/mysql-boost-5.7.34.tar.gz

4、安裝編譯工具

[root@mysql-server ~]# yum -y install ncurses ncurses-devel openssl-devel bison gcc gcc-c++ make cmake

5、創(chuàng)建mysql目錄

[root@mysql-server ~]# mkdir -p /usr/local/mysql

6、解壓

[root@mysql-server ~]# tar xzvf mysql-boost-5.7.27.tar.gz -C /usr/local/

注:如果安裝的MySQL5.7及以上的版本,在編譯安裝之前需要安裝boost,因?yàn)楦甙姹緈ysql需要boots庫(kù)的安裝才可以正常運(yùn)行。否則會(huì)報(bào)CMake
Error at cmake/boost.cmake:81錯(cuò)誤
mysql-boost-5.7.27.tar.gz該安裝包里面自帶boost包

7、編譯安裝

//cd 解壓的mysql目錄開(kāi)始編譯安裝
[root@mysql-server ~]# cd /usr/local/mysql-5.7.27/
[root@mysql-server mysql-5.7.27]# cmake . \
-DWITH_BOOST=boost/boost_1_59_0/ \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DSYSCONFDIR=/etc \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DINSTALL_MANDIR=/usr/share/man \
-DMYSQL_TCP_PORT=3306 \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_READLINE=1 \
-DWITH_SSL=system \
-DWITH_EMBEDDED_SERVER=1 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1
?
//提示:boost也可以使用如下指令自動(dòng)下載,如果不下載boost壓縮包,把下面的這一條添加到配置中第二行
-DDOWNLOAD_BOOST=1/

?
參數(shù)詳解:
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \       //安裝目錄
-DSYSCONFDIR=/etc \     //配置文件存放 (默認(rèn)可以不安裝配置文件)
-DMYSQL_DATADIR=/usr/local/mysql/data \   //數(shù)據(jù)目錄,錯(cuò)誤日志文件也會(huì)在這個(gè)目錄
-DINSTALL_MANDIR=/usr/share/man \     //幫助文檔 
-DMYSQL_TCP_PORT=3306 \     //默認(rèn)端口
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \  //sock文件位置,用來(lái)做網(wǎng)絡(luò)通信的,客戶端連接服務(wù)器的時(shí)候用
-DDEFAULT_CHARSET=utf8 \    //默認(rèn)字符集。字符集的支持,可以調(diào)
-DEXTRA_CHARSETS=all \      //擴(kuò)展的字符集支持所有的
-DDEFAULT_COLLATION=utf8_general_ci \  //默認(rèn)字符集為utf8;默認(rèn)校對(duì)規(guī)則為utf8_general_ci
-DWITH_READLINE=1 \         //上下翻歷史命令
-DWITH_SSL=system \         //使用私鑰和證書(shū)登陸(公鑰)  可以加密。 適用與長(zhǎng)連接。壞處:速度慢
-DWITH_EMBEDDED_SERVER=1 \   //編譯并啟用嵌入式MySQL服務(wù)器
-DENABLED_LOCAL_INFILE=1 \    //從本地倒入數(shù)據(jù),不是備份和恢復(fù)。
-DWITH_INNOBASE_STORAGE_ENGINE=1  //編譯并啟用InnoDB存儲(chǔ)引擎,支持外鍵


[root@mysql-server mysql-5.7.27]# make && make install
如果安裝出錯(cuò),想重新安裝:不用重新解壓,只需要?jiǎng)h除安裝目錄中的緩存文件CMakeCache.txt

需要很長(zhǎng)的時(shí)間!大約半小時(shí)??!

8、初始化:初始化只需要初始化一次!

[root@mysql-server mysql-5.7.27]# cd /usr/local/mysql
[root@mysql-server mysql]# chown -R mysql.mysql .
[root@mysql-server mysql]# ./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data   
//--user=mysql:指定mysqld服務(wù)器運(yùn)行的用戶為mysql 
//--basedir=/usr/local/mysql:指定MySQL的安裝目錄  
//--datadir=/usr/local/mysql/data:指定MySQL數(shù)據(jù)文件存放的目錄
初始化完成之后,一定要記住提示最后的密碼用于登陸或者修改密碼?。?!

編輯mysql配置文件
[root@mysql-server ~]# vim /etc/my.cnf
//將文件中所有內(nèi)容注釋掉在添加如下內(nèi)容
[client]
port = 3306
socket = /tmp/mysql.sock
default-character-set = utf8
?
[mysqld]
port = 3306
user = mysql
basedir = /usr/local/mysql  //指定安裝目錄
datadir = /usr/local/mysql/data  //指定數(shù)據(jù)存放目錄
socket = /tmp/mysql.sock
character_set_server = utf8
?
?
//參數(shù)詳解:
[client]
#客戶端默認(rèn)連接端口
port = 3306
#用于本地連接的socket套接字
socket = /tmp/mysql.sock
#編碼
default-character-set = utf8
?
[mysqld]
#服務(wù)端口號(hào),默認(rèn)3306
port = 3306
#mysql啟動(dòng)用戶
user = mysql
#mysql安裝根目錄
basedir = /usr/local/mysql
#mysql數(shù)據(jù)文件所在位置
datadir = /usr/local/mysql/data
#為MySQL客戶端程序和服務(wù)器之間的本地通訊指定一個(gè)套接字文件
socket = /tmp/mysql.sock
#數(shù)據(jù)庫(kù)默認(rèn)字符集,主流字符集支持一些特殊表情符號(hào)(特殊表情符占用4個(gè)字節(jié))
character_set_server = utf8

9、啟動(dòng)mysql

[root@mysql-server ~]# cd /usr/local/mysql
[root@mysql-server mysql]# ./bin/mysqld_safe --user=mysql &
?
//mysqld_safe腳本的作用是:
    先檢查一些參數(shù)
    然后使用--user指定的用戶來(lái)啟動(dòng)mysqld服務(wù)
    并監(jiān)控mysqld服務(wù),一旦mysqld宕機(jī)就會(huì)自動(dòng)重新啟動(dòng)
?
//查看端口
[root@mysql-server mysql]# netstat -ntlp|grep 3306
tcp6       0      0 :::3306                 :::*                    LISTEN      22226/mysqld

10、登錄mysql

[root@mysql-server mysql]# /usr/local/mysql/bin/mysql -uroot -p'zSRB*h)z+58o'       
//一定要有引號(hào),單引和雙引都可以?。?!因?yàn)橛幸恍┨厥庾址枰欢x為一個(gè)整體的字符串
?
//不加引號(hào)的結(jié)果:
[root@mysql-server mysql]# /usr/local/mysql/bin/mysql -uroot -pzSRB*h)z+58o
-bash: 未預(yù)期的符號(hào) `)' 附近有語(yǔ)法錯(cuò)誤
?
//登錄后的界面
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.27  #數(shù)據(jù)庫(kù)版本號(hào)
?
Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
?
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
?
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
?
mysql> exit

11、修改密碼

[root@mysql-server mysql]# /usr/local/mysql/bin/mysqladmin -u root -p'zSRB*h)z+58o'  password 'JLTing@22897'
mysqladmin: [Warning] Using a password on the command line interface can be insecure.
Warning: Since password will be sent to server in plain text, use ssl connection to ensure password safety.
//并不是報(bào)錯(cuò),而是警告,告訴你密碼在命令行中明文顯示有風(fēng)險(xiǎn)

12、添加環(huán)境變量

[root@mysql-server mysql]# vim /etc/profile    ---添加如下
PATH=$PATH:$HOME/bin:/usr/local/mysql/bin
//參數(shù)解釋:$PATH :表示使用當(dāng)前已經(jīng)設(shè)置的PATH值。PATH值是系統(tǒng)找可執(zhí)行程序(binaries)和腳本(scripts)的路徑(路徑列表);執(zhí)行這條命令就可以保留當(dāng)前已經(jīng)設(shè)置的PATH路徑(例如:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin)
?
[root@mysql-server bin]# echo $PATH //可以用這個(gè)命令查看當(dāng)前設(shè)置路徑值
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
// $HOME/bin : 用戶的 bin目錄,通常包含用戶自己安裝的命令。
// /usr/local/mysql/bin :MySQL可執(zhí)行文件的路徑。
?
[root@mysql-server mysql]# source /etc/profile
//之后就可以在任何地方使用mysql命令登陸Mysql服務(wù)器
[root@mysql-server bin]# mysql
mysql                       mysql_config_editor         mysqlimport                 mysql_ssl_rsa_setup
?
[root@mysql-server mysql]# mysql -uroot -p'JLTing@22897'
...
mysql> show databases;  //注意是復(fù)數(shù)形式
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.00 sec)
?
mysql>exit  //或使用\q也能退出

13、配置mysqld服務(wù)的管理工具

[root@mysql-server mysql]# cd /usr/local/mysql/support-files/
[root@mysql-server support-files]# cp mysql.server /etc/init.d/mysqld
//mysql.server:MySQL服務(wù)器初始化及啟動(dòng)、停止腳本
?
//設(shè)置開(kāi)機(jī)自啟
[root@mysql-server support-files]# chkconfig --add mysqld
//--add 參數(shù)表示添加一個(gè)服務(wù)到 chkconfig管理中
[root@mysql-server support-files]# chkconfig mysqld on
?
//可以使用以下命令查看開(kāi)機(jī)自啟是否設(shè)置成功
[root@mysql-server support-files]# systemctl is-enabled mysqld.service
mysqld.service is not a native service, redirecting to /sbin/chkconfig.
Executing /sbin/chkconfig mysqld --level=5
enabled
?
//或者使用以下命令也可以:
[root@mysql-server support-files]# chkconfig --list mysqld

注:該輸出結(jié)果只顯示 SysV 服務(wù),并不包含 原生 systemd 服務(wù)。SysV 配置數(shù)據(jù) 可能被原生 systemd 配置覆蓋。
要列出 systemd 服務(wù),請(qǐng)執(zhí)行 ‘systemctl list-unit-files’。查看在具體 target 啟用的服務(wù)請(qǐng)執(zhí)行’systemctl list-dependencies [target]'。
mysqld 0:關(guān) 1:關(guān) 2:開(kāi) 3:開(kāi) 4:開(kāi) 5:開(kāi) 6:關(guān)
表示MySQL已經(jīng)設(shè)為在運(yùn)行級(jí)別2、3、4、5自動(dòng)啟動(dòng)。

//先將原來(lái)的進(jìn)程殺掉
[root@mysql-server support-files]# pkill mysqld
//或者
[root@mysql-server support-files]# ps -ef|grep mysql
//再kill對(duì)應(yīng)的pid
?
//啟動(dòng)mysqld
[root@mysql-server support-files]# /etc/init.d/mysqld start 
Starting MySQL. SUCCESS! 
?
[root@mysql-server support-files]# netstat -ntlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp6       0      0 :::3306                 :::*                    LISTEN      22656/mysqld 
?
//停止mysqld
[root@mysql-server support-files]# /etc/init.d/mysqld stop
Shutting down MySQL.. SUCCESS!

14、托管到systemd服務(wù)管理工具中啟動(dòng)服務(wù)

[root@mysql-server ~]# vim /lib/systemd/system/mysqld.service
?
[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
ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf
LimitNOFILE = 5000  //設(shè)置操作系統(tǒng)默認(rèn)允許mysql進(jìn)程最大打開(kāi)文件的數(shù)量

參數(shù)解釋
[Unit]:以systemd為基礎(chǔ)的Linux系統(tǒng)中每個(gè)服務(wù)的類別
Description: 給MySQL服務(wù)提供一個(gè)描述 After: 設(shè)置MySQL依賴的服務(wù)是network.target,即網(wǎng)絡(luò)服務(wù)

[Service]:服務(wù)配置模塊
Type: 將MySQL服務(wù)的類型設(shè)置為forking,即有子進(jìn)程
ExecStart:用/etc/rc.d/init.d/mysqld start來(lái)啟動(dòng)MySQL服務(wù)
ExecReload:用/etc/rc.d/init.d/mysqld restart來(lái)重啟MySQL服務(wù)
ExecStop:用/etc/rc.d/init.d/mysqld stop來(lái)停止MySQL服務(wù)
PrivateTmp:給MySQL分配私有的臨時(shí)文件夾 ?

[Install]:
WantedBy: 設(shè)置MySQL服務(wù)屬于multi-user.target,即屬于多用戶目標(biāo)。

重新加載systemd系統(tǒng)和服務(wù)管理器。當(dāng)修改systemd的服務(wù)文件時(shí)(比如mysqld.service文件),需要使用systemctl daemon-reload來(lái)讓修改生效。

[root@mysql-server ~]# systemctl daemon-reload
[root@mysql-server ~]# systemctl restart mysqld
[root@mysql-server ~]# netstat -ntlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp6       0      0 :::3306                 :::*                    LISTEN      22924/mysqld
[root@mysql-server ~]# systemctl enable mysqld.service
Created symlink from /etc/systemd/system/multi-user.target.wants/mysqld.service to /usr/lib/systemd/system/mysqld.service.
[root@mysql-server ~]# systemctl  is-enabled mysqld.service
enabled

至此,數(shù)據(jù)庫(kù)編譯安裝完成!

三、二進(jìn)制安裝方式

二進(jìn)制安裝和編譯安裝的區(qū)別:編譯安裝需要經(jīng)過(guò)自行編譯過(guò)后,才能得到二進(jìn)制(可執(zhí)行)文件,而二進(jìn)制安裝是直接下載官網(wǎng)已經(jīng)編譯好的二進(jìn)制文件(executables和libraries),直接使用即可,無(wú)需自己編譯

1、下載二進(jìn)制包

[root@mysql-server ~]# wget https://cdn.mysql.com/archives/mysql-5.7/mysql-5.7.41-linux-glibc2.12-x86_64.tar.gz

2、添加用戶

[root@mysql-server ~]# groupadd -g 27 mysql && useradd -g 27 -u 27 -M -s /sbin/nologin mysql
[root@mysql-server ~]# id mysql
uid=27(mysql) gid=27(mysql) 組=27(mysql)
[root@mysql-server ~]# tar xzvf mysql-5.7.41-linux-glibc2.12-x86_64.tar.gz -C /usr/local
[root@mysql-server ~]# mv  /usr/local/mysql-5.7.41-linux-glibc2.12-x86_64  /usr/local/mysql
?
//授權(quán)屬主和屬組
[root@mysql-server ~]# chown -R mysql:mysql /usr/local/mysql
//創(chuàng)建日志文件并授權(quán)
[root@mysql-server ~]# touch /var/log/mysql.log && chown mysql:mysql /var/log/mysql.log

3、編輯配置文件

[root@mysql-server ~]# vim /etc/my.cnf
[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/usr/local/mysql/data/mysql.sock
port=3306
default-storage-engine = innodb
innodb_large_prefix=on
innodb_file_per_table = on
max_connections = 10000
collation-server = utf8_general_ci
character_set_server=utf8
user=mysql
[client]          
port = 3306
socket = /usr/local/mysql/data/mysql.sock
default-character-set = utf8
[mysqld_safe]
log-error=/var/log/mysql.log

參數(shù)解釋

[mysqld]    //mysql服務(wù)相關(guān)的配置
basedir=/usr/local/mysql    #MySQL安裝目錄
datadir=/usr/local/mysql/data    #數(shù)據(jù)庫(kù)數(shù)據(jù)文件存放目錄
socket=/usr/local/mysql/data/mysql.sock  #MySQL使用的Unix socket文件路徑;mysql socket的作用:用于應(yīng)用程序間的通信。讓本地客戶端優(yōu)先使用socket文件連接,獲得更好的性能。限制只有有權(quán)限訪問(wèn)該socket文件的進(jìn)程才能連接MySQL,提高安全性
port=3306   #MySQL監(jiān)聽(tīng)的TCP/IP 端口號(hào)
default-storage-engine = innodb  #默認(rèn)的存儲(chǔ)引擎,這里使用的是Innodb
innodb_large_prefix=on      #啟用Innodb的大VARCHAR和TEXT列,開(kāi)啟后支持更長(zhǎng)的列和索引;不開(kāi)啟此參數(shù)時(shí),InnoDB支持的VARCHAR最大長(zhǎng)度為255字節(jié),TEXT最大長(zhǎng)度為65535字節(jié)。開(kāi)啟此參數(shù)后,InnoDB支持的VARCHAR最大長(zhǎng)度提升到65535字節(jié),TEXT最大長(zhǎng)度提升到163830字節(jié)。
innodb_file_per_table = on   #開(kāi)啟每個(gè)表使用單獨(dú)的表空間文件
max_connections = 10000     #最大允許的并發(fā)連接數(shù)
collation-server = utf8_general_ci  #設(shè)置MySQL服務(wù)器(全局)的默認(rèn)字符集和校對(duì)規(guī)則。utf8:表示字符集為utf8,可以表示絕大部分的國(guó)際字符;_general_ci:表示校對(duì)規(guī)則為utf8_general_ci, 其中:general:表示最常用的比較規(guī)則,ci:表示忽略字符大小寫(xiě)(case insensitive)
character_set_server=utf8    #設(shè)置了MySQL服務(wù)器(整個(gè)實(shí)例)的默認(rèn)字符集。
//MySQL支持很多種字符集,例如:
    utf8:多字節(jié)字符集,支持絕大部分國(guó)際字符
    latin1:單字節(jié)字符集,只支持西歐語(yǔ)言字符
    gbk:支持簡(jiǎn)體中文字符
    big5:支持繁體中文字符
user=mysql   //MySQL服務(wù)運(yùn)行的用戶
?
[client]    //客戶端配置
?
port = 3306     #(在[client]部分)表示客戶端連接MySQL時(shí)使用的端口
socket = /usr/local/mysql/data/mysql.sock    #(在[client]部分)表示客戶端連接MySQL時(shí)使用的Unix socket文件路徑
default-character-set = utf8    #(在[client]部分) 表示客戶端連接時(shí)使用的默認(rèn)字符集
?
[mysqld_safe]    //[mysqld_safe]部分是針對(duì)MySQL的mysqld_safe啟動(dòng)腳本的配置
log-error=/var/log/mysql.log    #指定mysqld_safe腳本的日志文件路徑為/var/log/mysql.log。

4、添加環(huán)境變量

[root@mysql-server ~]# cat >>/etc/profile<<EOF
export PATH=\${PATH}:/usr/local/mysql/bin
EOF
[root@mysql-server ~]# source /etc/profile
?
//或者
[root@mysql-server ~]# echo 'export PATH=${PATH}:/usr/local/mysql/bin'>>/etc/profile
[root@mysql-server ~]# source /etc/profile
?
//或者
[root@mysql-server ~]# ln -s /usr/local/mysql/bin/mysql /usr/sbin/mysql

[root@mysql-server ~]# whereis mysql
mysql: /usr/lib64/mysql /usr/local/mysql /usr/share/mysql /usr/local/mysql/bin/mysql
[root@mysql-server ~]# which  mysql
/usr/local/mysql/bin/mysql

5、初始化數(shù)據(jù)庫(kù),產(chǎn)生隨機(jī)初始登錄密碼,在最后一行

[root@mysql-server ~]# mysqld --initialize --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data --user=mysql
2023-10-10T12:28:00.554234Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2023-10-10T12:28:00.706131Z 0 [Warning] InnoDB: New log files created, LSN=45790
2023-10-10T12:28:00.742466Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2023-10-10T12:28:00.805015Z 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: 738e9da6-6768-11ee-b446-000c295e8b83.
2023-10-10T12:28:00.805493Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
2023-10-10T12:28:01.103679Z 0 [Warning] A deprecated TLS version TLSv1 is enabled. Please use TLSv1.2 or higher.
2023-10-10T12:28:01.103693Z 0 [Warning] A deprecated TLS version TLSv1.1 is enabled. Please use TLSv1.2 or higher.
2023-10-10T12:28:01.104128Z 0 [Warning] CA certificate ca.pem is self signed.
2023-10-10T12:28:01.195887Z 1 [Note] A temporary password is generated for root@localhost: )E7Pb?a!odyr

6、添加啟動(dòng)腳本

[root@mysql-server ~]# vim /usr/lib/systemd/system/mysql.service
[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
ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf
LimitNOFILE = 5000  
#設(shè)置操作系統(tǒng)默認(rèn)允許mysql進(jìn)程最大打開(kāi)文件的數(shù)量

7、更新自啟動(dòng)服務(wù),查看工作端口

#重新加載systemd管理器的unit配置文件
[root@mysql-server ~]# systemctl daemon-reload
[root@mysql-server ~]# systemctl enable --now mysql.service
[root@mysql-server ~]# systemctl  restart mysql
[root@mysql-server ~]# systemctl enable mysql
[root@mysql-server ~]# netstat -ntpl | grep "3306"

8、登錄

[root@mysql-server ~]# mysql -u root -p')E7Pb?a!odyr'

9、修改登錄密碼

mysql> alter user 'root'@'localhost' identified by '123456';
Query OK, 0 rows affected (0.00 sec)

mysql> update mysql.user set password_expired='N';    //設(shè)置mysql庫(kù)中的user表中的password_expired為No,意思就是設(shè)置密碼不過(guò)期
Query OK, 0 rows affected (0.00 sec)
Rows matched: 3  Changed: 0  Warnings: 0

?mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
[root@mysql-server ~]# mysql -u root -p123456

為了方便后續(xù)使用,建議將三種安裝方式寫(xiě)成腳本!

總結(jié)

到此這篇關(guān)于MySQL安裝三種方法總結(jié)的文章就介紹到這了,更多相關(guān)MySQL安裝方法內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Ubuntu18.04安裝mysql5.7.23的教程

    Ubuntu18.04安裝mysql5.7.23的教程

    這篇文章主要為大家詳細(xì)介紹了Ubuntu18.04安裝mysql5.7.23的教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-02-02
  • MySql存儲(chǔ)表情報(bào)錯(cuò)的排查解決

    MySql存儲(chǔ)表情報(bào)錯(cuò)的排查解決

    隨著互聯(lián)網(wǎng)的發(fā)展,產(chǎn)生了許多新類型的字符,例如emoji這種類型的符號(hào),也就是我們通常在聊天時(shí)發(fā)的小黃臉表情,下面這篇文章主要給大家介紹了關(guān)于MySql存儲(chǔ)表情報(bào)錯(cuò)的排查解決,需要的朋友可以參考下
    2022-07-07
  • MySql 8.0.16版本安裝提示已經(jīng)不使用“UTF8B3”而是使用“UTF8B4”問(wèn)題

    MySql 8.0.16版本安裝提示已經(jīng)不使用“UTF8B3”而是使用“UTF8B4”問(wèn)題

    這篇文章主要介紹了MySql 8.0.16版本安裝提示已經(jīng)不使用“UTF8B3”而是使用“UTF8B4”問(wèn)題 ,需要的朋友可以參考下
    2019-07-07
  • MySQL8.0本地服務(wù)器連接不上的問(wèn)題解決

    MySQL8.0本地服務(wù)器連接不上的問(wèn)題解決

    一個(gè)內(nèi)網(wǎng)內(nèi)連接mysql會(huì)出現(xiàn)提示Host xxx is not allowed to connect to this MySQL server,本文主要介紹了MySQL8.0本地服務(wù)器連接不上的問(wèn)題解決,感興趣的可以了解一下
    2024-01-01
  • 從零開(kāi)始搭建MySQL MMM架構(gòu)

    從零開(kāi)始搭建MySQL MMM架構(gòu)

    這篇文章主要介紹了從零開(kāi)始搭建MySQL MMM架構(gòu),本文講解了配置MySQL Relication、新建同步數(shù)據(jù)庫(kù)需要的用戶、同步主從數(shù)據(jù)庫(kù)、安裝MMM、配置MMM、啟動(dòng)MMM等問(wèn)題,需要的朋友可以參考下
    2015-04-04
  • MySql約束超詳細(xì)介紹

    MySql約束超詳細(xì)介紹

    MySQL唯一約束(Unique?Key)是指所有記錄中字段的值不能重復(fù)出現(xiàn)。例如,為?id?字段加上唯一性約束后,每條記錄的?id?值都是唯一的,不能出現(xiàn)重復(fù)的情況
    2022-09-09
  • 在Windows環(huán)境下使用MySQL:實(shí)現(xiàn)自動(dòng)定時(shí)備份

    在Windows環(huán)境下使用MySQL:實(shí)現(xiàn)自動(dòng)定時(shí)備份

    下面小編就為大家分享一篇在Windows環(huán)境下使用MySQL:實(shí)現(xiàn)自動(dòng)定時(shí)備份的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2017-12-12
  • sql ROW_NUMBER()與OVER()方法案例詳解

    sql ROW_NUMBER()與OVER()方法案例詳解

    這篇文章主要介紹了sql ROW_NUMBER()與OVER()方法案例詳解,本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • MySQL二進(jìn)制日志(bin_log)的作用與使用方法

    MySQL二進(jìn)制日志(bin_log)的作用與使用方法

    BinLog又稱為二進(jìn)制日志,是MySQL服務(wù)層的數(shù)據(jù)日志,MySQL所有的存儲(chǔ)引擎都支持BinLog,這篇文章主要給大家介紹了關(guān)于MySQL二進(jìn)制日志(bin_log)的作用與使用方法的相關(guān)資料,需要的朋友可以參考下
    2024-06-06
  • Mysql 數(shù)據(jù)庫(kù)中設(shè)備實(shí)時(shí)狀態(tài)表水平分表

    Mysql 數(shù)據(jù)庫(kù)中設(shè)備實(shí)時(shí)狀態(tài)表水平分表

    在使用 Mysql 數(shù)據(jù)庫(kù)存儲(chǔ)設(shè)備上報(bào)日志時(shí),存在一張?jiān)O(shè)備實(shí)時(shí)狀態(tài)表,隨著時(shí)間推移,數(shù)據(jù)量變得十分龐大,為了更好地管理和查詢數(shù)據(jù),提高數(shù)據(jù)庫(kù)性能,需要對(duì)該表進(jìn)行水平分表操作,下面就來(lái)介紹一下如何實(shí)現(xiàn)
    2025-06-06

最新評(píng)論

怀安县| 阿克陶县| 盈江县| 新营市| 甘洛县| 呼图壁县| 隆回县| 陕西省| 镇江市| 惠安县| 长岭县| 大埔区| 高邑县| 洛浦县| 黑龙江省| 德江县| 康乐县| 班玛县| 雷州市| 西充县| 西宁市| 万年县| 凌源市| 玉林市| 综艺| 十堰市| 桃园县| 巴中市| 阿坝| 潍坊市| 白城市| 焦作市| 广平县| 樟树市| 巴南区| 宜兴市| 汝州市| 靖远县| 宁夏| 富民县| 大悟县|