linux 下安装mysql服务,本地navicat 如何能连接上:?
- 设置root的登录权限
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'yourpassword';
- 刷新应用,使其生效
flush privileges;
用以上俩行命令即可。
mysql主从复制配置 ,在window 下操作:
复制俩个版本相同的mysql
- 在 主数据库的my.ini 文件下增加:
1.服务id
2.开启MySQL的日志
3.指定同步的数据库名
- 保存,重启mysql服务。在MySQL的bin目录下执行如下操作:
mysqld -install mysqlmaster --defaults-file="D:\mysql5.5\my.ini"
net start mysqlmaster
- 相同操作:
在从数据库下的my.ini 文件做修改:
1.服务id
2.开启日志(不要求)
3.如果相同机器,要跟换端口号
4.第一次要设置跳过密码。
- 保存并启动:
mysqld -install mysqlslave --defaults-file="D:\mysql5.5-slave\my.ini"
net start mysqlslave
- 登录mysqlslave从数据库:设置用户的登录密码:
use mysql;
update user set password=password("123456") where user="root"
flush privileges;
- 将配置文件中跳过密码删除掉并重启服务。
到此主库和丛库都启动了,那么接下来就要关联主从数据库了。
我们登录主库 执行如下命令查看:
mysql master status
- 我们再去查看丛库信息。执行如下:
mysql slave status
我们发现下面是空的,这是因为主从还没有关联起来。那么如何关联呢?很简单:只需让从库知道主库的地址就行了。
- 首先我们需要在主库创建一个用户 (rootslave) :作用就是用于主库操作从库。
create user rootslave;
grant replication slave on *.* to rootslave@127.0.0.1 identified by '123456';
flush privileges;
- 登录从库,把主库和从库关联起来(这里的master_log_file,master_log_pos就是通过mysql master status 查询到的 ,后面的414就是mysql主库的偏移量):
change master to master_host='127.0.0.1',master_port=3306, \
master_user='rootslave',master_password='123456', \
master_log_file='mysql-bin.000007',master_log_pos=414;
开启主从同步:
start slave;
查看从库状态:
mysql slave status;
- 看到 slave_io_running 和slave_sql_running 都是yes 则表示主从关联成功、
到此在主库写入在从库就会同步显示。(并非立刻,马上,存在延迟。这就导致的数据同步不及时,导致一个线程正在主库写入,另一个线程在从库读取不到现象发生。这种问题,下回讨论)。