ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

Linux学习8-mysql数据库,主从复制及常用命令

Linux学习8-mysql数据库,主从复制及常用命令 MySQL数据库mysql安装官网下载链接https://downloads.mysql.com/archives/community/注意版本和操作系统wget下载最好是在虚拟机里复制一份解压缩删除之前的cmake软链接下载新的cmake压缩包修改bash档案把其中的路径后加上:/usr/local/cmake-3.28.4-linux-x86 64/bin重新加载查看cmake版本安装额外软件仓库切目录编辑文件修改配置文件yum源改为aliyun再修改下图文件yum源同样改为aliyun检查安装列表安装gcc工具链启动gcc工具查看gcc与g版本安装编译依赖切到mysql目录新建目录并且切入配置cmake ..-DCMAKE_C_COMPILER$(which gcc) -DCMAKE_CXX_COMPILER$(which g)-DCMAKE_INSTALL_PREFIX/usr/local/mysql -DMYSQL_DATADIR/data/mysql -DSYSCONFDIR/etc/mysql -DMYSQL_UNIX_ADDR/data/mysql/mysql.sock -DMYSQL_TCP_PORT3306 -DWITH_INNOBASE_STORAGE_ENGINE1 -DWITH_MYISAM_STORAGE_ENGINE1 -DWITH_PARTITION_STORAGE_ENGINE1 -DENABLED_LOCAL_INFILE1 -DCMAKE_CXX_FLAGS-O2 -DCMAKE_C_FLAGS-O2 -DWITH_BOOST../boost/boost_1_77_0 -DWITH_SYSTEMD1 -DWITH_SSL/usr/local/openssl -DWITH_ZLIBbundled -DWITH_LIBAIO1 -DDEFAULT_CHARSETutf8mb4 -DDEFAULT_COLLATIONutf8mb4_unicode_ci -DMYSQL_MAINTAINER_MODE0 -DWITH_DEBUG0 -DINSTALL_TESTS0 -DINSTALL_DOCS0以cpu核心数并行任务耗时较长make install安装初始化添加新用户且设置为无法登录系统提高安全性编辑文件[mysqld]basedir/usr/local/mysqldatadir/data/mysqlsocket/data/mysql/mysql.sockport3306usermysqlpid-file/data/mysql/mysql.pidcharacter-set-serverutf8mb4collation-serverutf8mb4_unicode_cilog-error/data/mysql/mysql-error.loginnodb_buffer_pool_size1Gmax_connections1000[client]socket/data/mysql/mysql.sock初始化从日志中查看临时密码在.bash_profile文件中的路径后加上新路径切目录到scripts复制mysqld服务到指定目录重新加载启用服务设置开机自启安全安装输入之前的临时密码选择如下图中未出现的一律回车跳过其中移除了匿名用户禁止root远程登录删除了测试数据库刷新了权限表启动mysql查看databases部署phpmyadmin官网下载5.2.3压缩包解压缩到指定目录切目录移动至指定目录相当于做软链接编辑文件新增index.php重新加载nginx修改php-fpm配置重新加载浏览器访问登录成功主从复制master与slave配置sever1作为mastersever2作为slave这里应该为/etc/mysql/my.cnfserver id为1先停止mysqld服务将/usr/local/下的mysql远程复制到sever2递归复制整个目录保留源文件的修改时间、访问时间和权限模式这里笔者犯了路径上的错误应该是etc下的mysql目录先确保已经在sever2上创建了mysql目录切目录这里只要保证sever2与sever1的uid gid相同即可不做修改也可创建新文件夹提升权限修改.bash_profile路径更新加载初始化查看临时密码再次输入刚才生成的临时密码之后的选择与之前相同登录验证是否成功这里才是正确修改了server id重新启动服务启动mysql在sever2客户端上测试查看mastersever1状态更直观的查看sever2上指定masterLOG_FILE和LOG_POS从sever1中的SHOW MASTER STATUS中查看启动slave注意IO和SQL两处需为yes表示成功记得slave与master之间的server id需不同可以在etc下mysql的my.cnf中修改IO负责网络确保从master复制日志文件成功SQL控制数据是否同步登录网站新建数据库参数如下添加也可以在虚拟机直接使用命令插入slave上查看databases出现test代表slave从master上复制成功第二台slave数据流向sever1-sever2-sever3新slave配置基本与原先配置slave的过程相同先下载rsync使用rsync命令将mysql增量负责查看同步成功最好slave与master的MySQL id相同创建文件夹拷贝my.cnf拷贝mysqld服务修改.bash_profile路径初始化查看临时密码选项与之前相同sever1备份数据复制到sever3sever3创建数据库备份导入sever3成功sever2上添加用户授权sever3访问sever2成功sever3上设置master为sever2记得在/etc/mysql/my.cnf下修改server id测试成功主从同步测试在网站中新插入也可以在虚拟机中使用命令插入sever1查看sever2同步成功查看sever3同步成功一些常见mysql命令
返回列表