麒麟V10离线安装mysql
麒麟V10离线安装mysql
1、查看glibc版本,下载对应的MySQL安装包
rpm -qa | grep glibc
官网下载地址:https://dev.mysql.com/downloads/mysql/
2、解压tar.xz文件,移动到对应目录下
tar -xvJf mysql-8.0.40-linux-glibc2.17-x86_64.tar.xz
mv mysql-8.0.40-linux-glibc2.17-x86_64 /data/mysqldata
3、创建一些需要的目录[自己定义]
cd /data/mysqldata/
mkdir logs
4、创建用户和用户组并授权
groupadd mysql
useradd -g mysql mysql
passwd mysql 设置msyql用户的密码
chown -R mysql.mysql /data/mysqldata
5、创建socket链接文件夹,并更改权属
mkdir /var/lib/mysql
chown -R mysql /var/lib/mysql
chgrp -R mysql /var/lib/mysql
6、编辑配置文件
cd /etc
mv my.cnf my-bak.cnf 备份文件
写入自己的配置文件,文件名my.cnf
7、初始化mysql
cd /data/mysqldata/
./bin/mysqld --user=mysql --lower-case-table-names=1 --basedir=/data/mysqldata/ --datadir=/data/mysqldata/data/ --initialize;
报错:./bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
执行:yum install libaio
再初始化
8、# 建立Mysql服务
cp -a ./support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig --list
9、# 启动、停止、重启
service mysqld start
service mysqld stop
service mysqld restart
netstat -anp | grep mysqld //查看3306端口,确认mysql已启动
chkconfig --list [看到3、4、5状态为开或者为 on 则表示成功。 如果是 关或者 off 则执行下面指令] // 开机自启动
chkconfig --level 345 mysqld on
重启计算机:reboot
10、# 创建软连接
ln -s /data/mysqldata/bin/mysql /usr/bin
11、登录并修改密码
mysql -h 127.0.0.1 -p
use mysql
update user set host ='%' where user='root';
alter user 'root'@'%' identified with mysql_native_password by 'new password';
flush privileges;
设置socket连接
ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock
mysql -uroot -p socket登录
12、防火墙开放3306端口
systemctl status firewalld // 查看防火墙状态
firewall-cmd --zone=public --add-port=3306/tcp --permanent // 开放端口
firewall-cmd --reload // 重新加载
firewall-cmd --zone=public --query-port=3306/tcp // 查看结果,返回 yes 代表开启成功
13、设置主从
(1) 主数据库设置
A.创建用户
create user 'gdhwater'@'%' identified with mysql_native_password by 'gdh@water1234';
B.授权
grant replication slave on *.* to 'gdhwater'@'%';
C.刷新权限
flush privileges;
D.从数据库验证用户是否可用(从库服务器连接主数据库)
mysql -ugdhwater -p -h10.26.13.51 -P3306
E.主数据库查询服务ID及Master状态
# 登录
mysql -uroot -p
# 查询server_id是否可配置文件中一致
show variables like 'server_id';
# 若不一致,可设置临时ID(重启失效)
set global server_id = 1;
# 查询Master状态,并记录 File 和 Position 的值
show master status;
# 注意:执行完此步骤后退出主数据库,防止再次操作导致 [File] 和 [Position] 的值发生变化
(2)从数据库中设置主数据库
# 登录
mysql -uroot -p
# 查询server_id是否可配置文件中一致
show variables like 'server_id';
# 若不一致,可设置临时ID(重启失效)
set global server_id = 2;
# 设置主数据库参数
change master to master_host='10.26.13.51',master_port=3306,master_user='gdhwater',master_password='gdh@water1234',master_log_file='mysql-bin.000005',master_log_pos=867;
# 开始同步
start slave;
# 若出现错误,则停止同步,重置后再次启动
stop slave;
reset slave;
start slave;
# 查询Slave状态
show slave status\G
# 查看是否配置成功
# 查看参数 Slave_IO_Running 和 Slave_SQL_Running 是否都为yes,则证明配置成功。若为no,则需要查看对应的 Last_IO_Error 或 Last_SQL_Error 的异常值。
参考文档:
https://www.cnblogs.com/cao-lei/p/13603043.html
https://blog.csdn.net/qq_27054163/article/details/139801918?csdn_share_tail=%7B%22type%22:%22blog%22,%22rType%22:%22article%22,%22rId%22:%22139801918%22,%22source%22:%22qq_27054163%22%7D
部署要求:
10.26.13.51-54 四台服务器都需要安装mysql,我已经上传到8.0.40版本mysql安装包,这个版本修复了漏洞. 文件存放在/home下
10.26.13.51主库 账户:root 密码:GDH@water1234 主从账户:gdhwater 密码:gdh@water1234
10.26.13.52从库 账户:root 密码:GDH@water4321
10.26.13.53主库 账户:root 密码:GDH@water1234 主从账户:gdhwater 密码:gdh@water1234
10.26.13.54从库 账户:root 密码:GDH@water4321

浙公网安备 33010602011771号