什么?你们项目没用过主从复制和读写分离?,java面试必问

Disabling symbolic-links is recommended to prevent assorted security risks

symbolic-links=0

log-error=/var/log/mysqld.log

pid-file=/var/run/mysqld/mysqld.pid

#跳过密码验证

skip-grant-tables

server-id=2

log-bin=mysql-bin

[mysqld]

datadir=/usr/local/mysql/data

port = 3306

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

symbolic-links=0

max_connections=400

innodb_file_per_table=1

#表名大小写不明感,敏感为

lower_case_table_names=1

第五步启动服务

/usr/local/mysql/mysql-5.7.24-linux-glibc2.12-x86_64/support-files/mysql.server start

#执行该命令,可能会报如下错误,大多是由于权限问题,找到mysql的文件进行赋权即可(不报错直接命令行登录测试,然后跳到第六步)

[root@VM-0-10-centos mysql]# /usr/local/mysql/mysql-5.7.24-linux-glibc2.12-x86_64/support-files/mysql.server start

Starting MySQL… ERROR! The server quit without updating PID file (/var/run/mysqld/mysqld.pid).

这边我们提供一个解决方案的链接: 解決方案鏈接

还可能会出现:

#还可能会出现

Can 't connect to local MySQL server through socket '/tmp/mysql.sock '(2) ";

这边提供另一个解决方案: 解决方案链接

重启服务:

[root@VM-0-10-centos bin]# /usr/local/mysql/mysql-5.7.24-linux-glibc2.12-x86_64/support-files/mysql.server start

Starting MySQL SUCCESS!

#测试下命令行登录

[root@VM-0-10-centos bin]# mysql -u root -p

Enter password:

#到这一步直接回车,不比输入密码,因为刚才已经跳过密码验证了

MySQL [(none)]> exit;

Bye

[root@VM-0-10-centos bin]#

第五步添加软连接,方便重启

ln -s /usr/local/mysql/mysql-5.7.24-linux-glibc2.12-x86_64/bin/mysql /usr/bin/mysql

ln -s /usr/local/mysql/mysql-5.7.24-linux-glibc2.12-x86_64/bin/mysql /usr/bin/mysql

#添加完软连接就可以在任意目录下愉快地重启了

[root@VM-0-10-centos bin]# service mysql restart

Shutting down MySQL… SUCCESS!

Starting MySQL… SUCCESS!

第七步:登录mysql,修改密码

#编辑my.cnf

vim /etc/my.cnf

#注释掉

#skip-grant-tables

#重启mysql

service mysql restart

mysql -u root -p

mysql> use mysql;#使用数据库

mysql> set password for root@localhost = password(‘mysql123’);#修改数据库密码为mysql123

mysql> update user set user.Host=‘%’ where user.User=‘root’;#开放远程连接

mysql>flush privileges;

第七步:设置开机启动

1、将服务文件拷贝到init.d下,并重命名为mysql

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

2、赋予可执行权限

[root@localhost /]# chmod +x /etc/init.d/mysqld

3、添加服务

[root@localhost /]# chkconfig --add mysqld

验证navicat远程连接

2、Slave库搭建(参考主库搭建 ↑ )

=====================

3、绑定主从关系(这一步主要是修改一些配置文件)

========================

(1)开启master的二进制日志

①配置my.cnf配置文件

vi /etc/my.cnf

②添加二进制日志配置,开启二进制(mysql-bin只是二进制日志名称,可以自行指定)

server-id=1 #id是一定要指定的,是唯一的标识(master数据库要比slave数据库的id优先级高才行)

log-bin=mysql-bin #开启二进制日志

③授权 :登录数据库,需要给slave数据库配置一个用户/密码的权限

(允许某个ip地址的某个用户以某个密码对当前数据库的所有库和表进行复制操作配置之后需要刷新权限)

mysql> grant replication slave on . to ‘root’@‘slave数据库ip’ identified by ‘密码’;

mysql> flush privileges;

④修改完重启服务,查询master状态

[root@VM_0_10_centos ~]# service mysqld restart

登录数据库,查询master状态,如下图所示:

mysql> show master status;

file:是日志文件名称

position:日志所在位置

(2) 开启slave的二进制日志

①修改my.cnf

vi /etc/my.cnf

添加slave二进制日志配置,开启二进制(mysql-bin只是二进制日志名称,可以自行指定)

server-id=2

log-bin=mysql-bin

注意:每一台指定唯一的一个server-id标识

修改完配置服务需重启服务

[root@VM_0_16_centos ~]# service mysqld restart

②配置slave指向master,登录数据库

mysql> change master to master_host=‘10.0.33.18’,master_port=3306,master_user=‘root’,master_password=‘mysql123’,master_log_file=‘mysql-bin.000002’,master_log_pos=154;

mysql>flush privileges;

mysql>start slave;

mysql> show slave status\G;

*************************** 1. row ***************************

Slave_IO_State:

Master_Host: 10.0.3x.xx

Master_User: root

Master_Port: 3306

Connect_Retry: 60

Master_Log_File: mysql-bin.000002

Read_Master_Log_Pos: 154

Relay_Log_File: localhost-relay-bin.000002

Relay_Log_Pos: 4

Relay_Master_Log_File: mysql-bin.000002

Slave_IO_Running: YES

Slave_SQL_Running: YES

Replicate_Do_DB:

Replicate_Ignore_DB:

Replicate_Do_Table:

Replicate_Ignore_Table:

Replicate_Wild_Do_Table:

Replicate_Wild_Ignore_Table:

Last_Errno: 0

Last_Error:

Skip_Counter: 0

Exec_Master_Log_Pos: 154

Relay_Log_Space: 154

Until_Condition: None

Until_Log_File:

Until_Log_Pos: 0

Master_SSL_Allowed: No

Master_SSL_CA_File:

Master_SSL_CA_Path:

Master_SSL_Cert:

Master_SSL_Cipher:

Master_SSL_Key:

Seconds_Behind_Master: NULL

Master_SSL_Verify_Server_Cert: No

Last_IO_Errno: 2003

Last_IO_Error: error connecting to master ‘root@10.0.33.18:3306’ - retry-time: 60 retries: 9

Last_SQL_Errno: 0

Last_SQL_Error:

Replicate_Ignore_Server_Ids:

Master_Server_Id: 0

Master_UUID:

Master_Info_File: /usr/local/mysql/data/master.info

SQL_Delay: 0

SQL_Remaining_Delay: NULL

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注Java)
img

最后

经过日积月累, 以下是小编归纳整理的深入了解Java虚拟机文档,希望可以帮助大家过关斩将顺利通过面试。
由于整个文档比较全面,内容比较多,篇幅不允许,下面以截图方式展示 。







由于篇幅限制,文档的详解资料太全面,细节内容太多,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!
ava)**
[外链图片转存中…(img-3sI67FQw-1712055819414)]

最后

经过日积月累, 以下是小编归纳整理的深入了解Java虚拟机文档,希望可以帮助大家过关斩将顺利通过面试。
由于整个文档比较全面,内容比较多,篇幅不允许,下面以截图方式展示 。

[外链图片转存中…(img-Eym6txz6-1712055819415)]
[外链图片转存中…(img-tq4oAHHD-1712055819416)]
[外链图片转存中…(img-9GEtNba6-1712055819416)]
[外链图片转存中…(img-cLs5mqqn-1712055819417)]
[外链图片转存中…(img-cRMnm0VW-1712055819417)]
[外链图片转存中…(img-8Edwasau-1712055819417)]
[外链图片转存中…(img-ra4JWKgJ-1712055819418)]

由于篇幅限制,文档的详解资料太全面,细节内容太多,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值