安装mysql:
wget http://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
rpm -ivh mysql57-community-release-el7-9.noarch.rpm
yum clean all
yum makecache
yum -y install mysql-community-client.x86_64 mysql-community-common.x86_64 mysql-community-devel.x86_64 mysql-community-libs.x86_64 mysql-community-server.x86_64
or rpm install mysql-server
启动MySQL:
systemctl start mysqld #启动MySQLDB
systemctl stop mysqld #停止MySQLDB
systemctl restart mysqld #重启MySQLDB
systemctl enable mysqld #设置开机启动`
查看初始密码: grep 'temporary password' /var/log/mysqld.log
使用初始密码登录: mysql -u root -p**** # 更改初始密码
配置多实例
初始化实例目录
/usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/home/data/mysql_3306
/usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/home/data/mysql_3307
/usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/home/data/mysql_3308
/usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/home/data/mysql_3309
修改配置: vi /etc/my.cnf
[client]
default-character-set = utf8
[mysqld_multi]
mysqld = /usr/local/mysql/bin/mysqld_safe
mysqladmin =/usr/local/mysql/bin/mysqladmin
log =/home/data/logs/mysqld_multi.log
[mysqld6]
basedir=/usr/local/mysql
datadir=/home/data/mysql_3306
port=3306
server_id=6
socket=/home/data/mysql_3306/mysql.sock
symbolic-links=0
character_set_server=utf8
pid-file=/home/data/mysql_3306/mysql.pid
wait_timeout=1814400
max_connections = 1500
[mysqld7]
basedir=/usr/local/mysql
datadir=/home/data/mysql_3307
port=3307
server_id=7
socket=/home/data/mysql_3307/mysql.sock
symbolic-links=0
character_set_server=utf8
pid-file=/home/data/mysql_3307/mysql.pid
wait_timeout=1814400
max_connections = 1500
[mysqld8]
basedir=/usr/local/mysql
datadir=/home/data/mysql_3308
port=3308
server_id=8
socket=/home/data/mysql_3308/mysql.sock
symbolic-links=0
character_set_server=utf8
pid-file=/home/data/mysql_3308/mysql.pid
wait_timeout=1814400
max_connections = 1500
[mysqld9]
basedir=/usr/local/mysql
datadir=/home/data/mysql_3309
port=3309
server_id=9
socket=/home/data/mysql_3309/mysql.sock
symbolic-links=0
character_set_server=utf8
pid-file=/home/data/mysql_3309/mysql.pid
wait_timeout=1814400
max_connections = 1500
启动多实例:
/etc/init.d/mysqld_multi start 6,7,8,9
mysql --socket=/home/data/mysql_3306/mysql.sock
mysql --socket=/home/data/mysql_3307/mysql.sock
mysql --socket=/home/data/mysql_3308/mysql.sock
mysql --socket=/home/data/mysql_3309/mysql.sock
--
set password =password('bnh1923');
grant all on *.* to 'root'@'%' IDENTIFIED BY 'bnh1923' with grant option;
flush privileges;
--
mysqladmin -uroot -pbnh1923 --socket=/home/data/mysql_3314/mysql.sock shutdown
mysqld_multi --defaults-extra-file=/etc/my.cnf report
开放端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --zone=public --add-port=3307/tcp --permanent
firewall-cmd --reload
连接主库
grant replication slave on *.* to 'reply'@'localhost' identified by 'reply';
FLUSH PRIVILEGES;
连接从库
change master to master_host='localhost',master_user='repl',master_password='repl',master_port=3306;
start slave;
show slave status;## Slave_IO_Running:Yes, Slave_SQL_Running:Yes
测试