日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > 数据库 >内容正文

数据库

mysql 8.0 集群_集群架构03·MySQL初识,mysql8.0环境安装,mysql多实例

發(fā)布時(shí)間:2024/1/23 数据库 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql 8.0 集群_集群架构03·MySQL初识,mysql8.0环境安装,mysql多实例 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

官方網(wǎng)址

https://dev.mysql.com/downloads/mysql/

社區(qū)版本分析

MySQL5.5:默認(rèn)存儲(chǔ)引擎改為InnoDB,提高性能和可擴(kuò)展性,增加半同步復(fù)制

MySQL5.6:提高InnoDB性能,支持延遲復(fù)制

MySQL5.7:提升性能,增強(qiáng)復(fù)制功能

https://www.jianshu.com/p/6f2cb7874abd MySQL 5.6 ,5.7 ,8.0? ? 在安裝部署的異同

DBA干點(diǎn)啥子?????

初級(jí):各版本、各平臺(tái)安裝搭建、升級(jí)

中級(jí):體系結(jié)構(gòu)原理、基礎(chǔ)管理(啟動(dòng)關(guān)閉、初始化配置文件管理、多實(shí)例管理、用戶(hù)權(quán)限管理、基本SQL(增刪改查))、

日志管理、備份與恢復(fù)、主從復(fù)制(構(gòu)建、狀態(tài)監(jiān)控)

高級(jí):高可用(MGR、InnoDB Cluster)、高性能(優(yōu)化)

常規(guī)安裝MySQL

1、檢查版本和系統(tǒng)的適配度

2、環(huán)境介紹,將軟件包傳輸?shù)?root目錄下,解壓到/usr/local官方推薦安裝路徑

[root@localhost ~]# cat /etc/redhat-release

CentOS Linux release 7.4.1708 (Core)

[root@localhost ~]# uname -a

Linux localhost.localdomain 3.10.0-693.el7.x86_64 #1 SMP Tue Aug 22 21:09:27 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

[root@localhost ~]# ls -sh |grep mysql

376M mysql-8.0.13-linux-glibc2.12-x86_64.tar.xz

[root@localhost ~]# mv /root/mysql-8.0.13-linux-glibc2.12-x86_64.tar.xz /usr/local/

[root@localhost ~]# cd /usr/local/

[root@localhost local]# tar -xvf mysql-8.0.13-linux-glibc2.12-x86_us:m64.tar.xz

[root@localhost local]# mv mysql-8.0.13-linux-glibc2.12-x86_64 mysql

[root@localhost local]# du -h --max-depth=1 #解壓之后文件大小為2G

2.0G./mysql

#MySQL底層是C和C++寫(xiě)的

3、新建用戶(hù),創(chuàng)建數(shù)據(jù)目錄,修改屬性,初始化MySQL

[root@localhost mysql]# tree -L 1 -d

├── bin #可執(zhí)行文件目錄

├── docs

├── include

├── lib

├── man

├── share

└── support-files

[root@localhost mysql]# mkdir data

#support-files中的mysql.server,datadir=/usr/local/mysql/data ,所以才默認(rèn)安裝到/usr/local

[root@localhost mysql]# groupadd mysql? ?#添加用戶(hù)組mysql

[root@localhost mysql]# useradd mysql -g mysql? ? #添加用戶(hù)mysql

[root@localhost local]# cd mysql

[root@localhost mysql]# chown -R mysql:mysql data #增加mysql用戶(hù),修改屬性

[root@localhost mysql]# bin/mysqld --initialize --user=mysql --datadir /usr/local/mysql/data/

#數(shù)據(jù)庫(kù)初始化,指定數(shù)據(jù)目錄位置 9zyH:/491o5Z

2019-10-12T02:14:19.114262Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: R=lxprgpD0oj #臨時(shí)密碼,登錄之后會(huì)讓你修改密碼

2019-10-12T02:14:20.505592Z 0 [System] [MY-013170] [Server] /usr/local/mysql/bin/mysqld (mysqld 8.0.13) initializing of server has completed #初始化已經(jīng)完成

#如果報(bào)錯(cuò)顯示讓你安裝一個(gè)libaio包,yum一個(gè)就OK

#初始化數(shù)據(jù)庫(kù),指定用戶(hù)和數(shù)據(jù)目錄,返回一個(gè)臨時(shí)密碼,如果忘記初識(shí)密碼,重新初始化,報(bào)錯(cuò)是因?yàn)槟銢](méi)有刪除data目錄里下的文件,初始化后data目錄會(huì)從空目錄增加很多目錄

4、啟動(dòng)數(shù)據(jù)庫(kù)

[root@localhost data]# cp ../support-files/mysql.server /etc/init.d/

[root@localhost data]# vim /etc/my.cnf

#系統(tǒng)默認(rèn)數(shù)據(jù)庫(kù)文件,marDB,我們不需要,刪除就可以,否則就會(huì)報(bào)錯(cuò)

[root@localhost data]# /etc/init.d/mysql.server start #臥槽,居然真的報(bào)錯(cuò)

Starting MySQL.2019-10-12T02:24:24.836889Z mysqld_safe error: log-error set to '/var/log/mariadb/mariadb.log', however file don't exists. Create writable for user 'mysql'.

ERROR! The server quit without updating PID file (/var/lib/mysql/localhost.localdomain.pid).

[root@localhost data]# cp /etc/my.cnf{,.bak} #習(xí)慣性的備份一下,說(shuō)不定以后會(huì)用到

[root@localhost data]# rm -fr /etc/my.cnf

[root@localhost data]# /etc/init.d/mysql.server start #重新啟動(dòng),成功!!!

Starting MySQL.Logging to '/usr/local/mysql/data/localhost.localdomain.err'.. SUCCESS!

5、查看端口和進(jìn)程,添加環(huán)境變量

[root@localhost data]# ps -ef |grep mysql

[root@localhost data]# netstat -lnatup|grep mysqld #端口查看一下 3306和33060? ,33060mysqlx的一個(gè)服務(wù)

tcp6 0 0 :::33060 :::* LISTEN 1808/mysqld

tcp6 0 0 :::3306 :::* LISTEN 1808/mysqld

[root@localhost bin]# cd

[root@localhost ~]# vi .bash_profile

PATH=$PATH:$HOME/bin:/usr/local/mysql/bin

#把命令路徑加入到PATH 。如果命令位置變了,重新添加,基礎(chǔ)的基礎(chǔ)

[root@localhost ~]# source .bash_profile #修改之后加載一下

6、測(cè)試,重置密碼,顯示數(shù)據(jù)庫(kù)

5.7 修改密碼:set password=password('mysql');

8.0修改密碼:alter user user() identified by 'mysql';

[root@localhost ~]# mysqladmin -uroot -p password #命令交互式修改管理員密碼

Enter password:

New password:

Confirm new password:

Warning: Since password will be sent to server in plain text, use ssl connection to ensure password safety.

[root@localhost ~]# mysql -u root -p

Enter password: #把初始化的那個(gè)密碼寫(xiě)到這里就OK

mysql> show databases;

ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement. #報(bào)錯(cuò)提示讓你修改密碼

mysql> alter user user() identified by 'mysql';? ?#突然覺(jué)得英語(yǔ)學(xué)得好的人,學(xué)SQL肯定快,因?yàn)镾QL語(yǔ)句就是用英語(yǔ)的幾個(gè)

Query OK, 0 rows affected (0.11 sec) #修改密碼成功

mysql> show databases; #用一下,試一試

| Database |

+--------------------+

| information_schema |

| mysql |

| performance_schema |

| sys |

#修改配 置文件之前先把數(shù)據(jù)庫(kù)關(guān)了

systemctl start/stop/restart/status mysqld

7、本地管理員用戶(hù)密碼忘記

版本8重置密碼流程:在配置文件中添加免密碼登錄,登錄系統(tǒng),修改系統(tǒng)庫(kù)中user表的密碼數(shù)據(jù),

刪除配置文件的密碼登錄,重啟服務(wù),登錄即可

實(shí)踐

在【mysqld】模塊添加:skip-grant-tables

或者/etc/init.d/mysql.server start --skip-grant-tables

#我感覺(jué)意思就是說(shuō)啟動(dòng)的時(shí)候跳過(guò)權(quán)限這個(gè)表,就實(shí)現(xiàn)無(wú)密碼登錄了

mysql>mysql -u root -p #直接回車(chē)就可以進(jìn)入數(shù)據(jù)庫(kù)

mysql>use mysql

mysql> update user set authentication_string ='' where user ='root';

最后刪除免密碼登錄就OK

mysql 常用參數(shù):

-u 用戶(hù)

-p 密碼

-h IP

-P 端口

-S socket文件

-e 免交互執(zhí)行命令

< 導(dǎo)入SQL腳本

非常規(guī)安裝

1、將數(shù)據(jù)文件位置轉(zhuǎn)移,添加/etc/my.cnf的模塊

修改數(shù)據(jù)目錄到其他目錄,先把原來(lái)的/usr/local/mysql/data 整個(gè)目錄移動(dòng)到 /data ,最在/etc/my.cnf 中添加一個(gè)模塊

[mysqld]

datadir=/data/mysql/data

[root@localhost init.d]# /etc/init.d/mysql.server start

Starting MySQL.. SUCCESS!

[root@localhost mysql]# ls #把原來(lái)的data目錄搬到了外面/data

bin docs include lib LICENSE LICENSE.router man README README.router share support-files

也可以把整個(gè)mysql目錄搬到其他地方,最后只需要在/etc/my.cnf中宣告basedir=/data/mysql/

另外也可以在初始化的時(shí)候指定這兩個(gè)目錄的位置,就不用搬來(lái)搬去了,

環(huán)境變量也需要添加

2、MySQL多實(shí)例

配置文件復(fù)制一份,添加一個(gè)新的端口3307

連接方式不同,需要指定sock文件 -S /tmp/mysql3307.sock

拷貝之后修改文件所屬者和所屬組

mysql> show variables like '%sock%';

+-----------------------------------------+------------------+

| Variable_name | Value |

+-----------------------------------------+------------------+

| mysqlx_socket | /tmp/mysqlx.sock |

| performance_schema_max_socket_classes | 10 |

| performance_schema_max_socket_instances | -1 |

| socket | /tmp/mysql.sock |

+-----------------------------------------+------------------+

[root@localhost mysql2]# cat /etc/my3307.cnf

[mysqld]

basedir=/data/mysql2

datadir=/data/mysql2/data

port=3307

socket=/tmp/mysql3307.sock

mysqlx_port=33070

mysqlx_socket=/tmp/mysqlx33070.sock

[root@localhost mysql2]# bin/mysqld --defaults-file=/etc/my3307.cnf --user=mysql & #后臺(tái)啟動(dòng)該實(shí)例進(jìn)程

2019-10-12T06:23:49.364951Z 0 [System] [MY-010116] [Server] /data/mysql2/bin/mysqld (mysqld 8.0.13) starting as process 16877

2019-10-12T06:23:50.692041Z 0 [System] [MY-011323] [Server] X Plugin ready for connections. Socket: '/tmp/mysqlx33070.sock' bind-address: '::' port: 33070

3、查看端口和臨時(shí)文件夾

[root@localhost ~]# netstat -lntup |grep mysql

tcp6 0 0 :::3307 :::* LISTEN 16877/bin/mysqld

tcp6 0 0 :::33070 :::* LISTEN    16877/bin/mysqld

tcp6 0 0 :::33060 :::* LISTEN 16821/mysqld

tcp6 0 0 :::3306 :::* LISTEN 16821/mysqld

[root@localhost ~]# ls /tmp/

ks-script-TlWukQ mysqlx.sock

mysql3307.sock mysqlx.sock.lock

mysql3307.sock.lock mysql.sock mysql.sock.lock

mysqlx33070.sock mysqlx33070.sock.lock

4、指定socket文件啟動(dòng)mysql實(shí)例

[root@localhost ~]# mysql -u root -S /tmp/mysql3307.sock -p

Enter password:

5、測(cè)試,添加數(shù)據(jù)庫(kù),查看3307實(shí)例的data目錄

mysql> create database course;#創(chuàng)建數(shù)據(jù)庫(kù)course

Query OK, 1 row affected (0.03 sec)

mysql> show databases; #另一個(gè)數(shù)據(jù)庫(kù)對(duì)比,說(shuō)明實(shí)例添加成功

[root@localhost ~]# ll /data/mysql2/data/ -t

#新建的數(shù)據(jù)庫(kù)在該進(jìn)程的數(shù)據(jù)目錄下會(huì)有一個(gè)新的目錄

drwxr-x---. 2 mysql mysql 6 Oct 12 14:29 course

6、錯(cuò)誤日志,數(shù)據(jù)文件目錄

mysql> show variables like '%log_error%';

[root@localhost ~]# tail -1 /data/mysql/data/localhost.localdomain.err

2019-10-12T06:16:59.715604Z 0 [System] [MY-011323] [Server] X Plugin ready for connections. Socket: '/tmp/mysqlx.sock' bind-address: '::' port: 33060

可以修改錯(cuò)誤日志文件目錄位置在/etc/my.cnf

log_error=/data/mysql/data/abc.log

7、指定允許的連接 地址

bind-address(默認(rèn)是*)

*代表接受所有來(lái)自IPV4、 IPV6主機(jī)網(wǎng)卡的TCP/IP連接

0.0.0.0代表接受所有來(lái)自IPV4主機(jī)網(wǎng)卡的TCP/IP的連接

指定的IP如127.0.0.1,代表只接受此地址請(qǐng)求的TCP/IP連接,只接受本地

8、參數(shù)

default-storage-engine(默認(rèn)是InnoDB):指定MySQL的默認(rèn)存儲(chǔ)引擎

default- time -zone:指定默認(rèn)時(shí)區(qū),如果沒(méi)有指定則和系統(tǒng)默認(rèn)時(shí)區(qū)一致

9、關(guān)閉防火墻

[root@localhost mysql]# systemctl stop firewalld

[root@localhost mysql]# systemctl status firewalld

Active: inactive (dead) since Sun 2019-10-13 15:13:52 CST; 7s ago

總結(jié)

以上是生活随笔為你收集整理的mysql 8.0 集群_集群架构03·MySQL初识,mysql8.0环境安装,mysql多实例的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。