创建MySQL单实例和主从复制实例需要分别进行配置
创建MySQL单实例:
a. 安装MySQL服务器。在Ubuntu上,可以使用以下命令安装:
sudo apt-get update
sudo apt-get install mysql-server
b. 启动MySQL服务器并设置开机自启动:
sudo systemctl start mysql
sudo systemctl enable mysql
c. 登录到MySQL命令行客户端:
mysql -u root -p
d. 创建一个新的数据库和用户,并授予该用户对新数据库的访问权限:
CREATE DATABASE my_database;
CREATE USER 'my_user'@'localhost' IDENTIFIED BY 'my_password';
GRANT ALL PRIVILEGES ON my_database.* TO 'my_user'@'localhost';
FLUSH PRIVILEGES;
e. 退出MySQL命令行客户端:
exit
创建MySQL主从复制实例:
a. 在主服务器上,编辑/etc/mysql/mysql.conf.d/mysqld.cnf
文件,添加以下内容:
[mysqld]
server-id=1
log-bin=mysql-bin
bind-address = 0.0.0.0
b. 重启MySQL服务器:
sudo systemctl restart mysql
c. 登录到MySQL命令行客户端:
mysql -u root -p
d. 为复制创建一个专用用户,并授予该用户复制权限:
CREATE USER 'repl_user'@'%' IDENTIFIED BY 'repl_password';
GRANT REPLICATION SLAVE ON *.* TO 'repl_user'@'%';
FLUSH PRIVILEGES;
e. 查看主服务器的状态:
SHOW MASTER STATUS;
f. 记下File
和Position
的值,稍后在配置从服务器时需要用到。
g. 在从服务器上,编辑/etc/mysql/mysql.conf.d/mysqld.cnf
文件,添加以下内容(使用主服务器的IP地址替换<master_ip>
):
[mysqld]
server-id=2
relay-log=relay-bin
bind-address = 0.0.0.0
h. 重启MySQL服务器:
sudo systemctl restart mysql
i. 登录到MySQL命令行客户端:
mysql -u root -p
j. 配置从服务器连接到主服务器:
CHANGE MASTER TO
MASTER_HOST='<master_ip>',
MASTER_USER='repl_user',
MASTER_PASSWORD='repl_password',
MASTER_LOG_FILE='mysql-bin.000001', -- 使用主服务器的File值
MASTER_LOG_POS= 701; -- 使用主服务器的Position值
k. 启动从服务器复制进程:
START SLAVE;
l. 查看从服务器状态,确认复制正常运行:
SHOW SLAVE STATUS\G
现在,您已经成功创建了MySQL单实例和主从复制实例。