标签:orm restart ssl 修改密码 conf ons 服务 服务配置 erro
// Ubuntu 18.04.1 LTS apt-get 安装 $sudo apt-get install mysql-server
apt会自动安装依赖库和client。默认安装目录 /etc/mysql。 安装后可以 service mysql status 查看MySQL状态
安装MySQL没有提示设置密码,有时会出现进不去MySQL客户端的情况,一是密码不对,二是没有设置默认密码
报错:ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES)
两种办法登录后修改密码
// 1.停止服务 $sudo /etc/init.d/mysqld stop // 2.跳过验证 在[mysql]组下添加一行:skip-grant-tables $sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf // 3.启动服务 $sudo /etc/init.d/mysqld start // 4.免密码登录后设置密码 $use mysql $update user set authentication_string=password(‘123456‘) where User=‘root‘ $flush privileges // 5.删除:skip-grant-tables $sudo vim /etc/mysql/mysql.conf.d/msyqld.cnf // 6.重启服务 $sudo /etc/init.d/mysqld restart
// Ubuntu默认密码所在文件
// 找到password对应的值 登录数据库 然后修改密码 退出重启(重复方法一456步) sudo cat /etc/mysql/debian.cnf
方法三:版本较高的mysql可能第一次不需要输入密码
mysql -u root
默认情况下 MySQL不允许远程链接,程序交互时可能需要开启。
// 打开配置文件,注释掉绑定IP(bind-address) 或 指定可链接的ip或 bind-address=*. $sudo vim /etc/mysql/my.cnf // 登录MySQL 修改数据表,授权root用户在任意ip(‘%‘)访问任意数据库(*.*)的任意权限(all privileges).生产环境可以指定固定用户名和固定的ip地址。 mysql> grant all privileges on *.* to ‘root‘@‘%‘ identified by ‘123456‘ with grant option;
// 退出重启数据库
$sudo service mysqld restart
数据库备份原理主要是是读取其他数据库变更的语句,然后在本地执行一遍,保证内容一致。在主备模式下,主数据库将操作写入一个log文件中,从数据库创建一个channel,开启一个读文件线程,读取主的log变动保存到本地文件,另一个执行语句线程执行拉取来的log文件中的sql语句来同步。开始配置前先保证双方MySQL都允许远程访问。先配置主从模式,主主反向再配置一遍即可。
假定两台服务器:192.168.10.100为主,192.168.10.101为备。
配置同步前,最好保证主从数据库的初始状态一致。
同步初态步骤 //1、将主服务器要同步的数据库加锁,避免同步时发生改变。 mysql> use database_name; mysql> flush tables with read lock;
//2、使用mysqldump工具导出数据:
msyql> mysqldump -uroot -pxxx database_name >database_name.sql
//3、备份完成后,解锁数据库:
mysql> unlock tables;
//4、将初始数据导入从数据库:
mysql> create database database_name;
mysql>use database_name;
mysql>source database_name.sql;
配置前,登录100的MySQL输入: show master status\G; 显示 Empty set;
//编辑MySQL配置文件,在[mysqld]下面添加一些配置信息,保存后重启MySQL。
$sudo vim /etc/mysql/my.cnf
#主数据库id为1,不能相同。
server-id=1
#开启二进制日志,指定名字为mysql-bin
log-bin=mysql-bin
#中继日志名,复制线程先把远程变化复制到此日志,再执行
relay_log=mysqld-relay-bin
#中继日志执行后,变化是否需要计入自己的bianary-log,当此服务器做另一个服务器的主服务器,需要打开。
log-slave-updates=1
#需要同步的库,不指定默认同步全部库
binlog-do-db=dh_sign
#主库支持读写操作,若读写分离可配置1
#read-only=0
##也可以配置不需要同步的库,其他库同步
#binlog-ignore-db=information_schema
#binlog-ignore-db=sys
#binlog-ignore-db=perfromance_schema
##最安全的设置,每次提交事务之前会将二进制同步到磁盘上,保证服务器崩溃时不会丢失事件
sync_binlog=1
##自增设置,在双主都可以写入时,会产生自增主键的冲突问题,配置错落自增。自增间隔n是可写的mysql实例数量
auto-increment-increment=2
auto-increment-offset=1
#GTID模式
gtid-mode=on
enforce-gtid-consistency=1
## slave并发优化
slave-parallel-type=LOGICAL_CLOCK
slave-parallel-workers=16
master_info_repository=TABLE
relay_log_info_repository=TABLE
relay_log_recovery=ON
保存退出,并重启MySQL。 service mysqld restart;
再次登录MySQL,输出主的状态。 mysql> show master status\G; 显示为:
mysql> show masterstatus\G;
*************************** 1. row ***************************
File: mysql-bin.000059
Position: 1046
Binlog_Do_DB: dh_sign
Binlog_Ignore_DB:
Executed_Gtid_Set: e18aca99-033b-11e9-a3d7-90f1b0f14435:1-46,
f6ea3916-feb6-11e8-9084-04d3b0eb5843:1-71
1 row in set (0.00 sec)
ERROR:
No query specified
可以看到log文件名,同步log的起始位置、log记录的库和忽略库、Gtid编号信息,说明配置成功。关于Gtid可以查看:
登录从服务器(101)的mysql,查看从服务的状态: show slave status\G; 同样显示为空。
// 如果开启了Gtid,直接执行此条语句,指定主服务即可。
mysql> change master to master_host=‘192.168.10.100‘,master_user=‘root‘,master_password=‘123456‘,master_port=3306,master_auto_position=1;
// 如果没有开启,需要指定log文件位置等。master_log_file和master_log_pos为刚查看的主库的log文件和位置。
# mysql> change master to master_host=‘192.168.10.100‘,master_user=‘root‘,master_password=‘123456‘,master_log_file=‘mysql-bin.000059‘,master_log_pos=1046;
// 设置主服务可能会有报错信息,按相关提示输入指令即可,可能涉及到如下指令:
# STOP SLAVE IO_THREAD FOR CHANNEL ‘‘;
# START SLAVE IO_THREAD FOR CHANNEL ‘‘;
# STOP SLAVE;
# RESET SLAVE;// 内存中依然保存主库ip,port等
# RESET SLAVE ALL; // 清空所有slave配置,show slave status\G,为空。
退出mysql后再次进入(或重启),再次查看从状态: show slave status\G; 显示为:
mysql> show slave status\G; *************************** 1. row *************************** Slave_IO_State: Waiting for master to send event Master_Host: 192.168.10.239 Master_User: root Master_Port: 3306 Connect_Retry: 60 Master_Log_File: mysql-bin.000016 Read_Master_Log_Pos: 36050 Relay_Log_File: mysqld-relay-bin.000231 Relay_Log_Pos: 454 Relay_Master_Log_File: mysql-bin.000016 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: 36050 Relay_Log_Space: 915 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: 0 Master_SSL_Verify_Server_Cert: No Last_IO_Errno: 0 Last_IO_Error: Last_SQL_Errno: 0 Last_SQL_Error: Replicate_Ignore_Server_Ids: Master_Server_Id: 2 Master_UUID: e18aca99-033b-11e9-a3d7-90f1b0f14435 Master_Info_File: mysql.slave_master_info SQL_Delay: 0 SQL_Remaining_Delay: NULL Slave_SQL_Running_State: Slave has read all relay log; waiting for more updates Master_Retry_Count: 86400 Master_Bind: Last_IO_Error_Timestamp: Last_SQL_Error_Timestamp: Master_SSL_Crl: Master_SSL_Crlpath: Retrieved_Gtid_Set: e18aca99-033b-11e9-a3d7-90f1b0f14435:46 Executed_Gtid_Set: e18aca99-033b-11e9-a3d7-90f1b0f14435:1-46, f6ea3916-feb6-11e8-9084-04d3b0eb5843:1-71 Auto_Position: 1 Replicate_Rewrite_DB: Channel_Name: Master_TLS_Version: 1 row in set (0.00 sec) ERROR: No query specified
Slave_IO_Running和Slave_SQL_Running的值都为Yes时证明可以从主库自动同步了,可以在主库100 insert,在101 select或delete验证是否同步。
至此主从配置完成,要配置双主,只要将步骤反过来再做一遍即可,注意主从server-id配置不能相同。
配置时发现有时会出现主服务在重启时会改变log文件和位置信息,可能导致从服务配置失效。应按顺序来配置。如出现错误,尝试从服务配置后不重启,重新登录即可。
标签:orm restart ssl 修改密码 conf ons 服务 服务配置 erro
原文地址:https://www.cnblogs.com/sunkaikees/p/10245481.html