MySQL三種安裝方法(yum安裝、編譯安裝、二進制安裝)
切記:一定要關閉防火墻和selinux?。。?br />服務器配置:2C4G即可,一臺
一、yum安裝方式
mysql的官方網站:www.mysql.com
中文官網:https://www.mysql.com/cn/
1、下載mysql的yum源
[root@mysql-server ~]# wget https://dev.mysql.com/get/mysql80-community-release-el7-7.noarch.rpm //或者下載到本地再上傳到服務器
2、安裝mysql的yum倉庫
[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表示開啟,0表示關閉 或者 [root@mysql-server ~]# yum-config-manager --enable mysql57-community //將禁用的yum源庫啟用 [root@mysql-server ~]# yum-config-manager --disable mysql80-community //將啟用的yum源庫禁用 //這種方式可以用在安裝mysql腳本中,非常方便!!
4、安裝數(shù)據(jù)庫
[root@mysql-server ~]# yum install -y mysql-community-server //默認是安裝最新版本的 [root@mysql-server ~]# mysql -V mysql Ver 14.14 Distrib 5.7.43, for Linux (x86_64) using EditLine wrapper //啟動服務 [root@mysql-server ~]# systemctl start mysqld [root@mysql-server ~]# netstat -ntlp|grep mysql tcp6 0 0 :::3306 :::* LISTEN 9948/mysqld //設置開機啟動 [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ù)庫后操作
[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>
第二種:免入庫修改密碼,直接在命令行中修改
mysqladmin -u root -p’舊密碼’ password ‘新密碼’
注:修改密碼必須要有大小寫、數(shù)字和特殊符號,因為mysql默認有密碼策略。
如果忘記密碼了,可以在配置文件中加上一行配置,跳過密碼驗證
[root@localhost ~]# vim /etc/my.cnf [mysqld] //在mysqld標簽下 skip-grant-tables //添加這一行,跳過密碼驗證 //意思就是跳過授權表,即可以跳過密碼驗證直接進入數(shù)據(jù)庫 ? //修改完配置文件需要重啟服務才能生效 [root@localhost ~]# systemctl restart mysqld [root@localhost ~]# mysql -uroot -p Enter password: //直接回車 ... mysql>
二、編譯安裝方式
編譯安裝也叫源碼安裝
與二進制(RPM)發(fā)行版本相比,如果我們選擇了通過源代碼進行安裝,那么在安裝過程中我們能夠對MySQL所做的調整將會更多更靈活一些。因為通過源代碼編譯我們可以:
a、針對自己的硬件平臺選用合適的編譯器來優(yōu)化編譯后的二進制代碼;
b、根據(jù)不同的軟件平臺環(huán)境調整相關的編譯參數(shù);
c、針對我們特定應用場景選擇需要什么組件不需要什么組件;
d、根據(jù)我們的所需要存儲的數(shù)據(jù)內容選擇只安裝我們需要的字符集(utf-8);
e、同一臺主機上面可以安裝多個MySQL;
在源碼安裝給我們帶來更大靈活性的同時,同樣也給我們帶來了可能引入的隱患:
a、對編譯參數(shù)的不夠了解造成編譯參數(shù)使用不當可能使編譯出來的二進制代碼不夠穩(wěn)定;
b、對自己的應用環(huán)境把握失誤而使用的優(yōu)化參數(shù)可能反而使系統(tǒng)性能更差;
c、還有一個并不能稱之為隱患的小問題就是源碼編譯安裝將使安裝部署過程更為復雜,所花費的時間更長;
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。并且會分配高的UID號 mysql 指定要創(chuàng)建的用戶賬號名。
-M 參數(shù)表示不創(chuàng)建用戶主目錄。
-s 參數(shù)指定用戶的登錄shell,/bin/false 表示不允許登錄。
3、從官網下載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,因為高版本mysql需要boots庫的安裝才可以正常運行。否則會報CMake
Error at cmake/boost.cmake:81錯誤
mysql-boost-5.7.27.tar.gz該安裝包里面自帶boost包
7、編譯安裝
//cd 解壓的mysql目錄開始編譯安裝 [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也可以使用如下指令自動下載,如果不下載boost壓縮包,把下面的這一條添加到配置中第二行 -DDOWNLOAD_BOOST=1/ ? 參數(shù)詳解: -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ //安裝目錄 -DSYSCONFDIR=/etc \ //配置文件存放 (默認可以不安裝配置文件) -DMYSQL_DATADIR=/usr/local/mysql/data \ //數(shù)據(jù)目錄,錯誤日志文件也會在這個目錄 -DINSTALL_MANDIR=/usr/share/man \ //幫助文檔 -DMYSQL_TCP_PORT=3306 \ //默認端口 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock \ //sock文件位置,用來做網絡通信的,客戶端連接服務器的時候用 -DDEFAULT_CHARSET=utf8 \ //默認字符集。字符集的支持,可以調 -DEXTRA_CHARSETS=all \ //擴展的字符集支持所有的 -DDEFAULT_COLLATION=utf8_general_ci \ //默認字符集為utf8;默認校對規(guī)則為utf8_general_ci -DWITH_READLINE=1 \ //上下翻歷史命令 -DWITH_SSL=system \ //使用私鑰和證書登陸(公鑰) 可以加密。 適用與長連接。壞處:速度慢 -DWITH_EMBEDDED_SERVER=1 \ //編譯并啟用嵌入式MySQL服務器 -DENABLED_LOCAL_INFILE=1 \ //從本地倒入數(shù)據(jù),不是備份和恢復。 -DWITH_INNOBASE_STORAGE_ENGINE=1 //編譯并啟用InnoDB存儲引擎,支持外鍵 [root@mysql-server mysql-5.7.27]# make && make install 如果安裝出錯,想重新安裝:不用重新解壓,只需要刪除安裝目錄中的緩存文件CMakeCache.txt 需要很長的時間!大約半小時??!
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服務器運行的用戶為mysql //--basedir=/usr/local/mysql:指定MySQL的安裝目錄 //--datadir=/usr/local/mysql/data:指定MySQL數(shù)據(jù)文件存放的目錄 初始化完成之后,一定要記住提示最后的密碼用于登陸或者修改密碼?。?! 編輯mysql配置文件 [root@mysql-server ~]# vim /etc/my.cnf //將文件中所有內容注釋掉在添加如下內容 [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] #客戶端默認連接端口 port = 3306 #用于本地連接的socket套接字 socket = /tmp/mysql.sock #編碼 default-character-set = utf8 ? [mysqld] #服務端口號,默認3306 port = 3306 #mysql啟動用戶 user = mysql #mysql安裝根目錄 basedir = /usr/local/mysql #mysql數(shù)據(jù)文件所在位置 datadir = /usr/local/mysql/data #為MySQL客戶端程序和服務器之間的本地通訊指定一個套接字文件 socket = /tmp/mysql.sock #數(shù)據(jù)庫默認字符集,主流字符集支持一些特殊表情符號(特殊表情符占用4個字節(jié)) character_set_server = utf8
9、啟動mysql
[root@mysql-server ~]# cd /usr/local/mysql [root@mysql-server mysql]# ./bin/mysqld_safe --user=mysql & ? //mysqld_safe腳本的作用是: 先檢查一些參數(shù) 然后使用--user指定的用戶來啟動mysqld服務 并監(jiān)控mysqld服務,一旦mysqld宕機就會自動重新啟動 ? //查看端口 [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' //一定要有引號,單引和雙引都可以?。。∫驗橛幸恍┨厥庾址枰欢x為一個整體的字符串 ? //不加引號的結果: [root@mysql-server mysql]# /usr/local/mysql/bin/mysql -uroot -pzSRB*h)z+58o -bash: 未預期的符號 `)' 附近有語法錯誤 ? //登錄后的界面 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ù)庫版本號 ? 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. //并不是報錯,而是警告,告訴你密碼在命令行中明文顯示有風險
12、添加環(huán)境變量
[root@mysql-server mysql]# vim /etc/profile ---添加如下 PATH=$PATH:$HOME/bin:/usr/local/mysql/bin //參數(shù)解釋:$PATH :表示使用當前已經設置的PATH值。PATH值是系統(tǒng)找可執(zhí)行程序(binaries)和腳本(scripts)的路徑(路徑列表);執(zhí)行這條命令就可以保留當前已經設置的PATH路徑(例如:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin) ? [root@mysql-server bin]# echo $PATH //可以用這個命令查看當前設置路徑值 /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服務器 [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; //注意是復數(shù)形式 +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | sys | +--------------------+ 4 rows in set (0.00 sec) ? mysql>exit //或使用\q也能退出
13、配置mysqld服務的管理工具
[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服務器初始化及啟動、停止腳本 ? //設置開機自啟 [root@mysql-server support-files]# chkconfig --add mysqld //--add 參數(shù)表示添加一個服務到 chkconfig管理中 [root@mysql-server support-files]# chkconfig mysqld on ? //可以使用以下命令查看開機自啟是否設置成功 [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
注:該輸出結果只顯示 SysV 服務,并不包含 原生 systemd 服務。SysV 配置數(shù)據(jù) 可能被原生 systemd 配置覆蓋。
要列出 systemd 服務,請執(zhí)行 ‘systemctl list-unit-files’。查看在具體 target 啟用的服務請執(zhí)行’systemctl list-dependencies [target]'。
mysqld 0:關 1:關 2:開 3:開 4:開 5:開 6:關
表示MySQL已經設為在運行級別2、3、4、5自動啟動。
//先將原來的進程殺掉 [root@mysql-server support-files]# pkill mysqld //或者 [root@mysql-server support-files]# ps -ef|grep mysql //再kill對應的pid ? //啟動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服務管理工具中啟動服務
[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 //設置操作系統(tǒng)默認允許mysql進程最大打開文件的數(shù)量
參數(shù)解釋
[Unit]:以systemd為基礎的Linux系統(tǒng)中每個服務的類別
Description: 給MySQL服務提供一個描述 After: 設置MySQL依賴的服務是network.target,即網絡服務
[Service]:服務配置模塊
Type: 將MySQL服務的類型設置為forking,即有子進程
ExecStart:用/etc/rc.d/init.d/mysqld start來啟動MySQL服務
ExecReload:用/etc/rc.d/init.d/mysqld restart來重啟MySQL服務
ExecStop:用/etc/rc.d/init.d/mysqld stop來停止MySQL服務
PrivateTmp:給MySQL分配私有的臨時文件夾 ?
[Install]:
WantedBy: 設置MySQL服務屬于multi-user.target,即屬于多用戶目標。
重新加載systemd系統(tǒng)和服務管理器。當修改systemd的服務文件時(比如mysqld.service文件),需要使用systemctl daemon-reload
來讓修改生效。
[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ù)庫編譯安裝完成!
三、二進制安裝方式
二進制安裝和編譯安裝的區(qū)別:編譯安裝需要經過自行編譯過后,才能得到二進制(可執(zhí)行)文件,而二進制安裝是直接下載官網已經編譯好的二進制文件(executables和libraries),直接使用即可,無需自己編譯
1、下載二進制包
[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 ? //授權屬主和屬組 [root@mysql-server ~]# chown -R mysql:mysql /usr/local/mysql //創(chuàng)建日志文件并授權 [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服務相關的配置 basedir=/usr/local/mysql #MySQL安裝目錄 datadir=/usr/local/mysql/data #數(shù)據(jù)庫數(shù)據(jù)文件存放目錄 socket=/usr/local/mysql/data/mysql.sock #MySQL使用的Unix socket文件路徑;mysql socket的作用:用于應用程序間的通信。讓本地客戶端優(yōu)先使用socket文件連接,獲得更好的性能。限制只有有權限訪問該socket文件的進程才能連接MySQL,提高安全性 port=3306 #MySQL監(jiān)聽的TCP/IP 端口號 default-storage-engine = innodb #默認的存儲引擎,這里使用的是Innodb innodb_large_prefix=on #啟用Innodb的大VARCHAR和TEXT列,開啟后支持更長的列和索引;不開啟此參數(shù)時,InnoDB支持的VARCHAR最大長度為255字節(jié),TEXT最大長度為65535字節(jié)。開啟此參數(shù)后,InnoDB支持的VARCHAR最大長度提升到65535字節(jié),TEXT最大長度提升到163830字節(jié)。 innodb_file_per_table = on #開啟每個表使用單獨的表空間文件 max_connections = 10000 #最大允許的并發(fā)連接數(shù) collation-server = utf8_general_ci #設置MySQL服務器(全局)的默認字符集和校對規(guī)則。utf8:表示字符集為utf8,可以表示絕大部分的國際字符;_general_ci:表示校對規(guī)則為utf8_general_ci, 其中:general:表示最常用的比較規(guī)則,ci:表示忽略字符大小寫(case insensitive) character_set_server=utf8 #設置了MySQL服務器(整個實例)的默認字符集。 //MySQL支持很多種字符集,例如: utf8:多字節(jié)字符集,支持絕大部分國際字符 latin1:單字節(jié)字符集,只支持西歐語言字符 gbk:支持簡體中文字符 big5:支持繁體中文字符 user=mysql //MySQL服務運行的用戶 ? [client] //客戶端配置 ? port = 3306 #(在[client]部分)表示客戶端連接MySQL時使用的端口 socket = /usr/local/mysql/data/mysql.sock #(在[client]部分)表示客戶端連接MySQL時使用的Unix socket文件路徑 default-character-set = utf8 #(在[client]部分) 表示客戶端連接時使用的默認字符集 ? [mysqld_safe] //[mysqld_safe]部分是針對MySQL的mysqld_safe啟動腳本的配置 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ù)庫,產生隨機初始登錄密碼,在最后一行
[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、添加啟動腳本
[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 #設置操作系統(tǒng)默認允許mysql進程最大打開文件的數(shù)量
7、更新自啟動服務,查看工作端口
#重新加載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'; //設置mysql庫中的user表中的password_expired為No,意思就是設置密碼不過期 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ù)使用,建議將三種安裝方式寫成腳本!
到此這篇關于MySQL三種安裝方法(yum安裝、編譯安裝、二進制安裝)的文章就介紹到這了,更多相關MySQL 安裝內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
淺談sql語句中GROUP BY 和 HAVING的使用方法
GROUP BY語句和HAVING語句,經過研究和練習,終于明白如何使用了,在此記錄一下同時添加了一個自己舉的小例子,通過寫這篇文章來加深下自己學習的效果,還能和大家分享下,同時也方便以后查閱,一舉多得,下面由小編來和大家一起學習2019-05-05MySQL使用命令創(chuàng)建、刪除、查詢索引的介紹
今天小編就為大家分享一篇關于MySQL使用命令創(chuàng)建、刪除、查詢索引的介紹,小編覺得內容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2019-03-03