下载
这里下载软件是压缩包形式的,由于我们需要搭建主从复制,所有我们需要安装多个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, 最后删除文件即可。解压版的不需要清理注册表。
封
