一.准备两台服务器
二.在主服务器和从服务器安装mysql
1.去mysql官网找到自己需要的mysql版本(我这里使用的是5.7.23)
2.我这里使用的是解压tar.gz为例
3.把mysql解压出来(我解压的路径是/home/mysql)
4.cd /home/mysql进入mysql目录 使用mkdir mysqldb 创建存放数据库的文件夹
5.给mysql文件夹和mysqldb文件夹授权
chmod -R 777 /home/mysql
chmod -R 777 /home/mysql/mysqldb
- 配置安装参数
vi /etc/my.cnf
- 下面是文件的内容
[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=/home/mysql
# 设置mysql数据库的数据的存放目录
datadir=/home/mysql/mysqldb
# 允许最大连接数
max_connections=10000
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10
# 服务端使用的字符集默认为UTF8
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8
- 保存退出后进入bin目录 cd /home/mysql/bin
- 执行命令并记住密码
./mysqld --initialize --console
- 启动mysql服务
cd /home/mysql/support-files #进入support-files
./mysql.server start #启动mysql服务
如果启动失败,重新进行授权
chmod -R 777 /home/mysql
chmod -R 777 /home/mysql/mysqldb
继续启动
./mysql.server start #启动mysql服务
这个时候mysql就启动成功了。
- 将mysql加入到系统进程中并重启
cp mysql.server /etc/init.d/mysqld
service mysqld restart # 然后重启MySQL服务
- 创建软链接
ln -s /home/mysql/bin/mysql /usr/bin
至此,Mysql安装完毕!
三.修改mysql密码
1.启动mysql程序
mysql -uroot -p
- 修改密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
#mysql8.0以后的版本修改密码可以使用:
ALTER USER 'root'@'%' IDENTIFIED WITH 'mysql_native_password' BY '新密码';
- 设置允许远程登录
1.use mysql;
update user set user.Host='%' where user.User='root';
flush privileges;
- 退出并重启mysql
quit;
service mysqld restart
- 设置mysql开机自启
- 将服务文件拷贝到init.d下,并重命名为mysqld
cp /home/mysql/support-files/mysql.server /etc/init.d/mysqld
输入y继续执行就行
- 赋予可执行的权限
chmod +x /etc/init.d/mysqld
- 添加服务
chkconfig --add mysqld
- 显示服务列表
chkconfig --list
如果2345是off就执行 chkconfig --level 2345 mysqld on
- 重启服务器 reboot
- ps -ef | grep mysql #查看mysql服务的启动情况
- 查看端口是否开发 firewall-cmd --zone=public --list-ports
开放端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
配置立即生效
firewall-cmd --reload
- mysql安装结束,可以使用navicat连接mysql
- 主从复制
1.修改主服务器的my.cnf
server_id=1
log-bin=mysql-bin
- 进入mysql服务
创建一个用于复制的用户,并赋予权限
GRANT REPLICATION SLAVE ON *.* TO 'replication_user'@'%' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
- 查看主服务的二进制状态
SHOW MASTER STATUS;
保存file和position的值
- 在从服务器上修改my.cnf
[mysqld]
server-id=2
relay-log=mysql-relay-bin
read-only=1
注意:server-id不能跟主服务器一致
- 在从服务器上进入mysql服务器
执行以下命令
CHANGE MASTER TO
MASTER_HOST='主服务器IP',
MASTER_USER='主服务器账号',
MASTER_PASSWORD='主服务器密码',
MASTER_LOG_FILE='上面保存的file',
MASTER_LOG_POS=上面保存的position
- 在从服务器上执行以下命令
Start slave;
- 检查复制复制状态
SHOW SLAVE STATUS\G;
确保Slave_IO_Running和Slave_SQL_Running的值都是Yes。
如果不是yes,检查步骤5的参数是否正确或者看server-id是否不一致。
标签:--,server,一主一,mysqld,服务器,mysql,home,主从 From: https://blog.csdn.net/weixin_53598217/article/details/140490944