mysql 笔记

mysql配置主从复制的时候,不能将server-id设置成非数字,这样会导致mysqld启动失败。

mysql重启的时候,自动会释放锁(这个锁应该是位于内存的)

执行sql脚本:source /home/mosmith/test.sql

创建数据库/表的时候指定字符编码:create database test default character set utf8 collate utf8_general_ci

debian上通过apt-get 来安装mysql5.6的话,那么配置用户的配置文件将会存放于/etc/mysql/my.cnf而不是/etc/my.cnf

mysql忘记密码:修改配置文件在[mysqld]下面加一行skip-grant-tables然后service mysql restart,再次进入root 将不需要密码,这时候进行修改mysql.user表即可。

mysql查看日志文件位置:show variables like '%log%'

mysql 配置主从复制:

Master主机上:

1、创建复制用户,从机通过这个帐号登录主机同步数据。(这里比较粗糙,有安全隐患)

grant all privileges on *.* to 'replicate'@'%' identified by 'password';
flush privileges;

2、启用主机的Master模式:修改配置文件my.cnf,在[mysqld]下增加以下两项:

·[mysqld]
....
log-bin=mysql-bin
server-id=1

3、重启服务:

service mysql restart # for redhat
/etc/init.d/mysql restart # for debian

4、登录mysql并查看master状态:

# show master status
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+-------------------+
| mysql-bin.000002 |      296 |              |                  |                   |
+------------------+----------+--------------+------------------+-------------------+

5、现在开始不要写数据库了,不然上面的position信息会改变,下面设置从机的同步配置时候需要用到。

Slaver从机上:

1、修改my.cnf配置,增加以下两项:

[mysqld]
...
server-id=111

2、重启服务:

service mysql restart

3、设置同步主机配置:

stop slave;
change master to master_host='192.168.1.2',master_user='replicate',master_password='password',master_log_file=''mysql-bin.000002',master_log_pos='296';
start slave

4、查看同步状态:

show slave status\G

如果发现无法同步或者状态有错误信息,请查看日志。一般需要检查网络是否能连通。一切正常的话,主机端的写操作将同步到从机端。

posted on 2016-04-16 19:44  mosmith  阅读(191)  评论(0编辑  收藏  举报