问题一:
Slave_SQL_Running = No
(安装数据库的过程中,会出现各种各样奇奇怪怪的问题,直接裂开,一个小问题就能解决几个小时,但是我觉得这就是学习的过程,不经历这个过程,下次碰到还是解决不了。我的心得就是碰到问题不要慌,稳住,然后百度,大部分问题都可以解决。)
如果在从服务器上面进行写操作,会造成下面错误
Slave_SQL_Running=No
解决1:
mysql> SET GLOBALSQL_SLAVE_SKIP_COUNTER=1; START SLAVE;
解决2:
查看master状态
show master status;
将slave状态中变化的值进行修改
change master to
master_host='192.168.83.153',
master_user='root',
master_password='qwe123!@#MJ',
master_port=3306,
master_log_file='锚点一',
master_log_pos=锚点二;
问题二:Slave_IO_Running: No
这里可能还会出现Slave_IO_Running: connecting
出现这个的原因是master没有给远程登录权限,在master中执行以下命令,
mysql>grant all privileges on *.* to 'root'@'%' identified by '密码' with grant option;
mysql>flush privileges; #刷新
回到最初的问题Slave_IO_Running: No,这里所有的配置都没有问题,但是就是显示No,
问题在于:mysql只在一台机器上安装,而另一台机器是克隆出来的,所以会导致Slave_IO_Running: NO,
mysql有一个uuid,而uuid是唯一标识,所以当你克隆过来的话,两台机器的uuid是一样的,所以只需要修改一下uuid即可,(我是随便改了一个数字)
解决:
找到auto.cnf文件
find / -name auto.cnf
#一般auto.cnf文件在 /var/lib/mysql/auto.cnf
vi/var/lib/mysql/auto.cnf
#将uuid修改一个值即可
#重启mysql服务
service mysqld restart
#登录msyql
#停止线程
stop slave
#启动线程
startslave
#查看线程
show slave status\G
问题三:ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
在安装完成mysql之后,在my.cof中添加跳过密码验证:skip-grant-tables,重启数据库
登录数据库
修改密码
退出
删除密码验证 skip-grant-tables
重启
用新修改的密码登录mysql之后,执行操作会报错:
ERROR1820(HY000): You must reset your password using ALTER USER statement before executing this statement.
解决:
再次修改密码,如果执行以下命令还是报错,有可能是密码复杂的太低,
alter user'root'@'localhost'identified by'qwe123!@#MJ';
问题四 :scp 报错 not a regular file
两台 linux 服务器之间拷贝文件;
从 A服务器(192.168.82.157) 拷贝到B服务器(192.168.83.158):
命令:
scp demo.sql root@192.168.83.158:/root/
报错:
demo.sql: not a regular file
原因:这样相当于下载文件夹,而非文件
解决办法:添加参数 -r
正确命令:
scp -r demo.sql root@192.168.83.158:/root/