分别为两台x86服务器安装MySQL。为方便主从部署和主从数据一致性校验,主库和从库安装MySQL完成后,还需要修改MySQL配置文件,然后重新初始化MySQL。
请根据实际情况选择MySQL的版本,建议选择8.0.34或以上版本,本文以8.0.36为例。
- 分别为两台x86服务器安装MySQL。安装MySQL的详细操作步骤请参考MySQL官网的《MySQL安装指导》。
- 分别修改两台x86服务器的MySQL配置文件。
- 删除默认的MySQL配置文件“/etc/my.cnf”,并创建一个新的“/etc/my.cnf”文件。
| rm -f /etc/my.cnf
vi /etc/my.cnf
|
- 按“i”进入编辑模式,在文件中添加以下内容。
[mysqld_safe]
log-error=/data/mysql/log/mysql.log
pid-file=/data/mysql/run/mysqld.pid
[mysqldump]
quick
[mysql]
no-auto-rehash
[client]
default-character-set=utf8
[mysqld]
basedir=/usr/local/mysql
socket=/data/mysql/run/mysql.sock
tmpdir=/data/mysql/tmp
datadir=/data/mysql/data
default_authentication_plugin=caching_sha2_password
port=3306
user=mysql
server-id=1 #主库的server-id为1;从库1(x86从库)的server-id为2
log-bin=/data/mysql/data/mysql-bin
relay_log=/data/mysql/relaylog/relay-bin
report_host=x.x.x.x #请将x.x.x.x修改为实际的IP地址,在本文中主库的IP地址为192.168.0.1;从库1(x86从库)的IP地址为192.168.0.2
- 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。
- 重新初始化并重启MySQL服务。
| systemctl stop mysqld
mysqld --defaults-file=/etc/my.cnf --initialize #记录初始密码
mysqld --defaults-file=/etc/my.cnf &
|
若通过源码编译方式安装MySQL,也可以分别使用以下命令初始化、启动、关闭MySQL服务。
- 初始化:
| /usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf --initialize #记录初始密码
|
- 启动:
| /usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf
|
- 关闭:
| /usr/local/mysql/bin/mysqladmin shutdown -uroot -p -S /data/mysql/run/mysql.sock #输入初始密码
|
若通过RPM包方式安装MySQL,也可以分别使用以下命令初始化、启动、关闭MySQL服务。
- 初始化:
| /usr/sbin/mysqld --defaults-file=/etc/my.cnf --initialize #记录初始密码
|
- 启动:
| /usr/sbin/mysqld --defaults-file=/etc/my.cnf &
|
- 关闭:
| /usr/bin/mysqladmin shutdown -uroot -p -S /data/mysql/run/mysql.sock #输入初始密码
|
- 登录MySQL。
| mysql -uroot -p -S /data/mysql/run/mysql.sock #输入初始密码
|
- 若通过MySQL源码编译方式安装MySQL,则使用以下命令登录MySQL客户端。
| /usr/local/mysql/bin/mysql -uroot -p -S /data/mysql/run/mysql.sock #输入初始密码
|
- 若通过RPM包方式安装MySQL,则使用以下命令登录MySQL客户端。
| /usr/bin/mysql -uroot -p -S /data/mysql/run/mysql.sock #输入初始密码
|
- 在MySQL数据库客户端中创建一个远程管理的用户,例如用户名和密码分别为root和123456,并为新创建的root用户授予所有数据库的所有权限,然后退出数据库。
| alter user 'root'@'localhost' identified by "123456";
create user 'root'@'%' identified by '123456';
grant all privileges on *.* to 'root'@'%';
flush privileges;
exit
|
本例中的数据库用户名和密码仅供参考,请根据实际情况进行配置。