Centos安装mysql
#查看系统中是否已安装mysql软件
yum list installed | grep mysql
#删除
yum -y remove mysql-libs.x86_64
#下载mysql包
wget http://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.16-linux-glibc2.5-x86_64.tar.gz
#解压
tar -zxvf mysql-5.7.16-linux-glibc2.5-x86_64.tar.gz
#修改目录名
mv mysql-5.7.16-linux-glibc2.5-x86_64 mysql-5.7.16
#创建数据保存目录
mkdir -p /data/datas/mysql/data
#查看mysql用户组
cat /etc/group |grep mysql
#查看mysql用户
cat /etc/passwd |grep mysql
#创建mysql用户组
groupadd mysql
#创建mysql并添加到mysql用户组
useradd mysql -g mysql
#给mysql用户没有登录权限
usermod -s /sbin/nologin mysql
#修改目录的权限为mysql用户
chown -R mysql:mysql /data/apps/mysql-5.7.16
chown -R mysql:mysql /data/datas/mysql
#进入目录
cd /data/app/mysql-5.7.16/bin/
#初始化安装mysql
./mysqld --user=mysql --basedir=/data/app/mysql-5.7.16/ --datadir=/data/datas/mysql/data --initialize
#如果报libaio.so错:yum -y install libaio
#初始化mysql 成功之后记住密码 root@localhost: LIFt4H-lrZQ+
#修改配置文件
cd /data/app/mysql-5.7.16/support-files/
vim mysql.server
basedir=/data/app/mysql-5.7.16
datadir=/data/datas/mysql/data
#将默认生成的my.cnf备份
mv /etc/my.cnf /etc/my.cnf.bak
# 启动mysql成功
./mysql.server start
# 停止mysql
./mysql.server stop
配置mysql
#创建软链接
ln -s /data/app/mysql-5.7.16/bin/mysql /usr/bin/mysql
#查看mysql版本
mysql --version
#复制配置文件
cp my-default.cnf /data/app/mysql-5.7.16/my.cnf
cd /data/app/mysql-5.7.16/
#修改配置文件
vim my.cnf
[client]
default-character-set = utf8mb4
[mysql]
default-character-set = utf8mb4
[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
init_connect='SET NAMES utf8mb4'
basedir = /data/app/mysql-5.7.16
datadir = /data/datas/mysql/data
#设置开机启动
cp /data/app/mysql-5.7.16/support-files/mysql.server /etc/init.d/mysqld
#可执行权限
chmod 755 /etc/init.d/mysqld
# 确认MySQL自启动
chkconfig --list mysqld
#设置MySQL开启自启动
chkconfig mysqld on
# 再查看MySQL自启动
chkconfig --list mysqld
mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off # 如果2--5为on的状态就OK
root密码与远程连接
#启动mysql服务
service mysqld start
#初始化mysql用户root的密码
./bin/mysqladmin -uroot -p'4cSM((-qlNz-' password 'root'
#4cSM((-qlNz-为上面初始化mysql生成的随机密码
#输入密码进入
mysql -uroot -p
#mysql远程授权
#输入密码进入
mysql -uroot -p
grant all privileges on *.* to 'root'@'%' identified by 'root';
FLUSH PRIVILEGES;
#开放端口
vim /etc/sysconfig/iptables
-A INPUT -p tcp -m multiport --dports 3306 -j ACCEPT
service iptables restart
主从配置
主配置
cd /data/app/mysql-5.7.16/
#修改配置
vim my.cnf
port = 3306
server_id = 1 #服务id,一般为ip后三位
binlog-do-db = beyond #要同步的数据库
#binlog-ignore-db = mysql,sys,information_schema,performance_schema #不用同步的数据库,多个以逗号分隔
log-bin = mysql-bin #开启log-bin
#其他配置优化
max_binlog_size = 500M
binlog_cache_size = 2M
max_binlog_cache_size = 4M
expire_logs_days = 30
max_connections = 500
max_connect_errors = 10000
table_open_cache = 256
long_query_time = 1
slow-query-log
#慢sql打印
slow_query_log_file = /data/datas/mysql/data/slow_query_log_file.log
#重启
service mysqld restart
#创建一个主从同步的用户
mysql -uroot -p
create user 'repl'@'%' identified by '123456';
#授权
grant replication slave on *.* to 'repl'@'%' identified by '123456';
flush privileges;
show master status; #查看状态
从配置
cd /data/app/mysql-5.7.16/
#修改配置
vim my.cnf
port = 3306
server_id = 2 #服务id,一般为ip后三位
read_only = 1 #只读
#其他配置优化
log-bin = mysql-bin
max_binlog_size = 500M
binlog_cache_size = 2M
max_binlog_cache_size = 4M
expire_logs_days = 30
max_connections = 500
max_connect_errors = 10000
table_open_cache = 256
long_query_time = 1
slow-query-log
#慢sql打印
slow_query_log_file = /data/datas/mysql/data/slow_query_log_file.log
relay_log = /data/datas/mysql/data/mysqld-relay-bin
relay_log-index = /data/datas/mysql/data/mysqld-relay-bin.index
#重启服务
service mysqld restart
mysql -uroot -p
#设置同步
change master to master_host='主的ip', master_port=3306, master_user='repl', master_password='123456', master_log_file='mysql-bin.000002', master_log_pos=780;
#mysql-bin.000002和780是从主里查的,show master status;命令查看
#启动从库复制线程
start slave;
#查看状态
show slave status;
#主要检查两个参数:Slave_IO_Running和Slave_Sql_Running。这两个值为Yes,OK从库配置好了
#接下来在 beyond数据库的操作都会同步到从数据库
相关文章
暂无评论...