下载
这里下载软件是压缩包形式的,由于我们需要搭建主从复制,所有我们需要安装多个Mysql实例,使用压缩包形式的便于管理和安装。
安装
解压下载文件,包含bin目录的为根目录,在根目录下面新建my.ini
文件,
文件内容
1 | [mysqld] |
解释一下,端口不是3306是因为我需要在电脑上装多个Mysql,安装位置和数据存储位置,自己修改。
下面就就是执行安装命令,使用管理员权限打开cmd,然后进入根目录中的bin目录下,执行,mysqld install mysql_11
命令,最后为服务名称,就是我们执行net start
命令时启动的服务,我这里设置成了mysql_11
,那么我执行的命令启动命令就应该是,net start mysql
。
还是 在这个目录下执行初始化命令 mysqld --initialize --console
,留意包含这样内容的输出内容。[Server] A temporary password is generated for root@localhost: 这里是临时密码需要保存起来
操作无误时这个时候就可以启动服务了,命令:net start mysql_11
, 必须使用管理员权限打开cmd执行命令,输出成功启动,则可以登陆
登录
命令:mysql -uroot -p
按回车之后然后会提示你输入密码:
登录mysql
也可以将密码直接填写在-p
后面。例如:对于用户名为root
,密码为abcd
的账号,可以使用如下方式登录:mysql -uroot -pabcd
。注意:-u
和用户名,-p
和密码之间没有空格。
mysql的一些参数:
-u
指定用户名。-p
指定密码。-h
指定主机地址。默认为localhost-P
指定端口号,默认为3306(mysql服务默认的启动端口为3306)。例如:-P13306表示连接端口号为13306的MySQL服务器。(注意:密码为小写的p,端口号为大写的P)
可以在配置文件中指定启动的端口号。
修改密码
登录之后,在输入命令时,前面的提示符为:mysql
>在这后面输入的语句中,默认提交符号为分号(;)
。按回车时只会换行,并不会提交语句。之后输入;
之后按回车才会提交语句。
如果前面对mysql
进行初始化使用的是--initialize-insecure
命令,则密码为空,在输入密码时直接按回车即可。登录之后,不用修改密码即可直接使用MySQL
。例如:创建数据库等操作。
如果前面对mysql
进行初始化使用的是--initialize
命令,则密码为系统随机生成的一个字符串。登录之后需要修改密码才能使用。
若不修改密码,直接操作数据库,会出现如下错误:ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
使用如下命令修改密码:set password='new_password';
注意:新的密码前后有单引号。在mysql
中,单引号之间表示的是字符串。alter user 'root'@'localhost' password expire never;
设置密码永不过期。flush privileges;
刷新权限。
之后退出(使用q
,或者exit
或者quit
都可以退出),然后重新登录即可。
至此,可以正常使用MySQL了。
安装多个
端口不能一致,然后mysql install [服务名]
,服务名不能一致。就酱。
主从复制配置
安装多个数据库
安装教程就是上面在重新装一个即可,改一下端口号以及服务的名称即可。当然这是在一台机器上,实际上主从复制应该是在不同机器上进行的操作。
配置主库
1 | #在mysqld下增加配置 |
重启主库
查看主库状态
1 | show master status; |
主要关注File
和 Position
字段
设置从库
从库设置server_id
和主库不一样就行了,设置后重启。
如果需要设置从库只读则加上这两行
1 | read_only=1 #限定普通用户只读 |
然后在从库客户端配置连接主库相关信息:
1 | change master to |
里面的内容自己修改成对应的主库地址用户以及密码。
开启主从复制
1 | start slave; |
这次操作只是简单的演示了一下,主从操作,还有很多情况并未一一详述,比如主库中有数据时怎么处理,又或者只同步一个库应该怎么配置,还有如何设置从库只读,等等,这些都需要多多去学习,去操作。
卸载
解压版的卸载很简单啊,首先停止服务net stop mysql
,在执行命令mysqld -remove [服务名]
如 mysqld -remove MySQL
, 最后删除文件即可。解压版的不需要清理注册表。