文章目录
1.mysql数据库的安装部署
lftp 172.25.254.250
cd pub/docs/lamp
get mysql-boost-5.7.31.tar.gz #下载压缩包
tar zxf mysql-boost-5.7.31.tar.gz #解压
cd mysql-5.7.31/
yum install cmake #安装cmake
mkdir build
cd build
cmake ../ -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql -DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock -DWITH_INNOBASE_STORAGE_ENGINE=1 -DSYSCONFDIR=/etc -DENABLED_LOCAL_INFILE=1 -DWITH_EXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8mb4 -DDEFAULT_COLLATION=utf8mb4_unicode_ci -DWITH_BOOST=/root/mysql-5.7.31/boost/boost_1_59_0 #配置测试
缺少两个插件,下载安装
yum install bison.x86_64
yum install gcc-c++ -y
cmake ../ -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql -DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock -DWITH_INNOBASE_STORAGE_ENGINE=1 -DSYSCONFDIR=/etc -DENABLED_LOCAL_INFILE=1 -DWITH_EXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8mb4 -DDEFAULT_COLLATION=utf8mb4_unicode_ci -DWITH_BOOST=/root/mysql-5.7.31/boost/boost_1_59_0 ##再次测试
make #编译
make install #安装
安装完成!
cd #切换环境到家目录
vim .bash_profile #配置全局文件,添加mysql路径
\\\
PATH=$PATH:$HOME/bin:/usr/local/lnmp/php/bin:/usr/local/mysql/bin
\\\
source .bash_profile #文件生效
mkdir -p /data/mysql #建立mysql目录
useradd -M -d /data/mysql -s /sbin/nologin mysql #建立mysql用户
chown mysql.mysql /data/mysql/ #设置目录的用户及用户组
vim /etc/my.cnf #修改mysql文件的路径,具体见下图
\\\
[mysqld]
datadir=/data/mysql
socket=/data/mysql/mysql.sock
[mysqld_safe]
log-error=/data/mysql/mariadb.log
pid-file=/var/run/mariadb.pid
\\\
cd data/mysql/
mysqld --initialize --user=mysql #mysql初始化,初始化后最后会显示初始化后的密码,登陆时需要使用
cd /usr/local/mysql/support-files/
ls
cp mysql.server /etc/init.d/mysqld #将mysql数据库服务拷贝到指定目录下
/etc/init.d/mysqld start #指定路径启动服务
mysql_secure_installation #更改密码登陆数据库
首次登陆需要时定一些参数,我这里设定如下:
\\\
Press y|Y for Yes, any other key for No: n
Change the password for root ? ((Press y|Y for Yes, any other key for No) : n
Remove anonymous users? (Press y|Y for Yes, any other key for No) : y
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : y
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y
\\\
更改全剧配置文件修改路径界面:

初始化界面:

mysql数据库安装配置完毕!
可以使用mysql -p 登陆
2.网页版数据库mysql
下载 phpMyAdmin-5.0.2-all-languages.zip 压缩包
我这里直接本地文件拿到压缩包
unzip phpMyAdmin-5.0.2-all-languages.zip #解压
mv phpMyAdmin-5.0.2-all-languages /usr/local/nginx/html/phpadmin #移动到nginx的html目录下
systemctl start php-fpm.service #开启php-fpm服务
systemctl enable php-fpm.service #设置开机自启
vim /usr/local/lnmp/php/etc/php.ini #编辑php文件,添加mysql文件的路径
systemctl reload php-fpm #修改完文件,重载
编辑php.ini文件界面如下:


此时确保nginx开启的情况下,浏览器访问172.25.7.1/phpadmin

建立一个westos库,linux表,插入一组数据

进入数据库查看westos.linux表数据

3.MySQL异步复制

异步复制:配置文件/etc/my.cnf最后写了同步方式,是使用二进制日志的方式进行复制,master做的任何操作都会记录在日志里,master不会等待slave复制完之后再开始下一步,一直都是自己做自己的,不会管slave的状态,自己做好了就写在自己的日志里,能否同步成功取决于slave自身,而slave能否同步成功取决于两个线程,I/O线程和sql线程,I/O线程不是yes,则获取不到master的日志,(master的dumper线程会和slave的I/O线程进行通信),slave把二进制日志拿过来之后,先把master所作的事情写在中继日志relay_log里,然后sql线程回放(replay),把relay_log日志里的事再做一次,所以异步复制slave的数据比master稍慢一些。master主机不会管slave两个线程的状态异常,如果状态异常,这就会导致数据不同步。
异步复制失败的原因可能是两台主机数据不同步,master数据比slave数据多太多。同步之

本文详细介绍了MySQL数据库的安装部署、网页版数据库的配置、异步复制、GTID复制、半同步复制、组复制以及MySQL路由器和MHA高可用方案。通过实例演示了主从复制、多主模式配置、延迟同步、并行复制和故障切换过程,展示了MySQL在高可用性和数据一致性方面的多种策略和技术实践。
最低0.47元/天 解锁文章

1149

被折叠的 条评论
为什么被折叠?



