|NO.Z.00009|——————————|^^ 构建 ^^|——|Mysql&Mariadb&二进制部署配置.V2|

附录一:
一、在虚拟机下添加一块空磁盘并创建逻辑卷(用来作为mysql数据库存放生产数据的目录)
### --- 在虚拟机下添加新磁盘;注册新添加的磁盘:

[root@localhost ~]# echo '- - -' > /sys/class/scsi_host/host2/scan
[root@localhost ~]# lsblk
sdb      8:48   0   10G  0 disk 
### --- 创建逻辑卷(创建PV)

[root@localhost ~]# pvcreate  /dev/sdb          			// sdb创建为物理卷pv
  Physical volume "/dev/sdb" successfully created.
[root@localhost ~]# pvdisplay 
  "/dev/sdb" is a new physical volume of "60.00 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/sdb
### --- 把这块盘添加到卷组里面vg(创建vg)(添加到lv)

[root@localhost ~]# vgcreate vg0 /dev/sdb       
  Volume group "vg0" successfully created
[root@localhost ~]# lvcreate  -n lv_mysql  -l 100%FREE vg0   		// 创建逻辑卷,-n:为该逻辑卷命名为lv_mysql,   -l:指定大小,100%GREE:全部使用
[root@localhost ~]# lvs                                      		// 可以查看到该逻辑卷的大小
  LV       VG  Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  lv_mysql vg0 -wi-a----- <60.00g 
### --- 创建文件系统:
 
[root@localhost ~]# mkfs.xfs  /dev/vg0/lv_mysql    					// 将该逻辑卷格式化为.xfs文件系统
[root@localhost ~]# blkid               						// 对文件系统类型查询
/dev/mapper/vg0-lv_mysql: UUID="9f2bca6b-5748-497a-b6ea-4194b8dcd237" TYPE="xfs" 
### --- 把创建好的逻辑卷挂载到一个目录之下(挂载)
~~~		在vim下直接查询  :r!blkid /dev/vg0/lv_mysql  该语句直接查询它的UID
 
[root@localhost ~]# getent passwd mysql							// 查看mysql数据存放目录位置
mysql:x:996:994::/data/mysqldb:/sbin/nologin
[root@localhost ~]# mkdir /data/
[root@localhost ~]# vim /etc/fstab          						// 挂在的话还是需要写到磁盘里面,配置
UUID=9f2bca6b-5748-497a-b6ea-4194b8dcd237  /data/                 xfs     defaults        0 0
### --- 挂载
[root@localhost ~]# mount -a            							
[root@localhost ~]# df      -h
/dev/mapper/vg0-lv_mysql  62879748   32992  62846756   1% /data

### --- 创建生产数据存放目录mysqdb
[root@localhost ~]# mkdir /data/mysqldb

附录二:
一、配置启动程序脚本:修改二进制文件,发现mysql程序目录没有读写权限
### --- 我们配置huge.cnf环境程序,覆盖到my.cnf我们的配置文件

[root@localhost mysql]# cp support-files/my-huge.cnf /etc/my.cnf    
cp: overwrite ‘/etc/my.cnf’?y               					// 表示同意覆盖
### --- 编辑启动程序配置文件
~~~		配置在此位置,mysql目录没有给mysql用户授予读写权限,需要给mysql目录授予msql用户读写权限。
~~~		或者也可以给它一个MySQL用户可以写的权限的位置(默认位置为/tmp/mysql)

[root@localhost mysql]# vim /etc/my.cnf     					// 修改我们的配置文件
[client]
port            = 3306
socket          = /usr/local/mysql/mysql.sock           


[mysqld]
port            = 3306
datadir         = /data/mysqldb             					// 添加生产数据存储位置
socket          = /usr/local/mysql/mysql.sock   				// 更改mysql.sock文件位置
二、报错解决
### --- 启动时会报错:
### --- 问题现象:

[root@localhost ~]# systemctl  start mysql.service    
'/data/mysqldb/localhost.localdomain.err'       				// 错误日志地址
### --- 错误分析:
 
[root@localhost ~]# cat /data/mysqldb/localhost.localdomain.err 
[ERROR] Can't start server : Bind on unix socket: Permission denied        // 权限拒绝
[ERROR] Do you already have another mysqld server running on socket: /usr/local/mysql/mysql.sock ?		//没有找到mysql.sock文件
    
[root@localhost ~]# ss -tunlp       						// 查询到3306端口未开启,没有程序监听,
[root@localhost ~]# ll /usr/local/mysql/ -d         			    // 查看到/usr/local/mysql/文件夹没有给mysql授予读写权限
drwxrwxr-x 12 root root 282 Nov  3 02:30 /usr/local/mysql/         
### --- 解决方案:

[root@localhost mysql]# setfacl -R -m  u:mysql:rwx  /usr/local/mysql/        // -R:对任何数据都有写权限;  u:mysql:rwx  :针对用户mysql有读写执行权限;
[root@localhost mysql]# ll /usr/local/mysql/ -d
drwxrwxr-x+ 12 root root 4096 Nov  3 02:30 /usr/local/mysql/            //  x+   可以看到给mysql目录授予了X+权限 

[root@localhost mysql]# systemctl start mysqld.service                  // 现在可以正常启动了
[root@localhost ~]# ss -tunlp       						// 此时可以看到3306端口了
 tcp    LISTEN     0      80         [::]:3306   users:(("mysqld",pid=118467,fd=21))

附录三:
一、配置启动程序脚本:修改二进制文件,发现安全脚本找不到/tmp.my.sock文件位置
### --- 我们配置huge.cnf环境程序,覆盖到my.cnf我们的配置文件

[root@localhost mysql]# cp support-files/my-huge.cnf /etc/my.cnf    
cp: overwrite ‘/etc/my.cnf’?y               					// 表示同意覆盖
### --- 编辑启动程序配置文件
~~~		在配置安全脚本mysql_secure_installation时,默认是/tmp/mysql.sock下;
~~~		更改目录地址后相对应的也需要更改mysql_secure_installation脚本配置信息。

[root@localhost mysql]# vim /etc/my.cnf     					// 修改我们的配置文件
[client]
port            = 3306
socket          = /usr/local/mysql/mysql.sock           


[mysqld]
port            = 3306
datadir         = /data/mysqldb             					// 添加生产数据存储位置
socket          = /usr/local/mysql/mysql.sock   				// 更改mysql.sock文件位置
二、报错解决:
### --- 执行安全脚本时报错:
### --- 问题现象:

[root@localhost ~]# mysql_secure_installation      				// 执行边安全脚本
 MySQL server through socket '/tmp/mysql.sock'      			    // 使用/tmp/mysql.sock文件,我们之前配置是在/usr/local/mysql/mysql.sock
### --- 报错分析:

[root@localhost ~]# less /usr/local/mysql/bin/mysql_secure_installation       // 查看该脚本是不是定义了路径
### --- 解决方案:

[root@localhost ~]# vim /etc/my.cnf         					// 更改mysql.sock文件路径
socket          = /tmp/mysql.sock
[root@localhost my.cnf.d]# /usr/local/mysql/bin/mysqld --print-defaults       // 可以查看到他当时编译时指定的路径
/usr/local/mysql/bin/mysqld would have been started with the following arguments:
--port=3306 --datadir=/data/mysqldb --socket=/tmp/mysql.sock --skip-external-locking --key_buffer_size=384M --max_allowed_packet=1M --table_open_cache=512 --sort_buffer_size=2M --read_buffer_size=2M --read_rnd_buffer_size=8M --myisam_sort_buffer_size=64M --thread_cache_size=8 --query_cache_size=32M --thread_concurrency=8 --log-bin=mysql-bin --server-id=1 

[root@localhost ~]# mysql_secure_installation       			    // 此刻就可以正常执行了





 
 

 
 

Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
                                                                                                                                                   ——W.S.Landor

 

 

posted on   yanqi_vip  阅读(40)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示