1、下载二进制包Percona-Server-5.7.25-28-Linux.x86_64.ssl101.tar.gz
2、解压,并移至安装目录
tar -zxvf Percona-Server-5.7.25-28-Linux.x86_64.ssl101.tar.gz mv Percona-Server-5.7.25-28-Linux.x86_64.ssl101 /usr/loca/mysql
3、卸载本机自带的数据库
sudo yum remove mariadb-libs
4、编辑配置文件
sudo vim /etc/my.cnf
[mysqld] skip-name-resolve user=mysql port=3306 basedir=/usr/local/mysql #安装目录 datadir=/data/mysql #数据目录 socket=/data/mysql/mysql.sock server-id=20101 # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 #gtid-mode=on #enforce-gtid-consistency=true event_scheduler=1 #event_scheduler=0 #auto_increment_increment=2 #auto_increment_offset=2 ############################################################################################################## #CONNECTION && SESSION CONFIG ############################################################################################################## max_connections = 100 back_log = 500 max_connect_errors = 20 interactive_timeout=1000 connect_timeout=1000 wait_timeout=200 character_set_server=utf8 slow_query_log long_query_time = 2 thread_stack = 192K thread_cache_size=64 ############################################################################################################## #TABLE && QUERY CONFIG ############################################################################################################## table_definition_cache=10240 table_open_cache = 10240 max_allowed_packet = 16M max_heap_table_size = 64M sort_buffer_size = 4M join_buffer_size = 4M query_cache_type = 2 query_cache_size = 32M query_cache_limit = 2M ft_min_word_len = 2 default-storage-engine = innodb transaction_isolation = REPEATABLE-READ tmp_table_size = 64M innodb_open_files=40960 open_files_limit=82930 ############################################################################################################## #MYISAM CONFIG ############################################################################################################## key_buffer_size = 32M read_buffer_size = 2M read_rnd_buffer_size = 16M bulk_insert_buffer_size = 500M myisam_sort_buffer_size = 128M myisam_repair_threads = 2 explicit_defaults_for_timestamp ############################################################################################################## #INNODB CONFIG ############################################################################################################## binlog_format=ROW #innodb_page_cleaners=32 innodb_max_dirty_pages_pct=30 innodb_data_file_path = ibdata1:10M:autoextend innodb_read_io_threads =10 innodb_write_io_threads =10 innodb_thread_concurrency =40 innodb_flush_log_at_trx_commit = 2 innodb_log_buffer_size = 8M innodb_log_files_in_group=5 innodb_log_file_size=500m innodb_flush_method = O_DSYNC innodb_lock_wait_timeout = 120 innodb_file_per_table=1 log_bin=mysql-binlog max_binlog_size=500M #expire_logs_days=2 expire_logs_days=7 ############################################################################################################# #REPLICATION CONFIG ############################################################################################################## replicate-wild-ignore-table=mysql.% replicate-wild-ignore-table=information_schema.% replicate-wild-ignore-table=performance_schema.% replicate-wild-ignore-table=dbcfg.% replicate-wild-ignore-table=test.% #log_slave_updates #skip-slave-start #slave_skip_errors=1270,1271,1062,1032 [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid [client] socket = /data/mysql/mysql.sock [mysql] prompt=DB101@\d>
5、创建相应文件夹,并赋权限
sudo mkdir /data sudo chown mysql. -R /data sudo chown mysql. -R /var/ sudo chown mysql. -R /usr/local/mysql/
6、初始化
cd /usr/local/mysql/
sudo bin/./mysqld --initialize --user=mysql
其中初始化密码打印屏幕中
2019-04-17T02:49:06.361433Z 1 [Note] A temporary password is generated for root@localhost: pp!NIfqgG1ZO
7、配置环境变量
sudo vim /etc/bashrc
添加
export PATH=$PATH:/usr/local/mysql/bin
生效
source /etc/bashrc
8、配置服务
sudo cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
更改其中的
sudo vim /etc/init.d/mysqld ======= basedir=/usr/local/mysql datadir=/data/mysql
9、启动服务
sudo service mysqld start
10、发现连接报错
mysql -uroot -p -S /data/mysql/mysql.sock Enter password: ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/data/mysql/mysql.sock‘ (13)
原因是/data/mysql,我的用户无法连接到该目录中。所以需要赋权
sudo chmod 755 /data/mysql/
ok,问题解决
11、
/usr/local/mysql/bin/mysql --socket=/data/mysql/mysql.sock -uroot -p
输入密码,更改初始密码
alter user root@localhost identified by ‘1234‘;
创建一个主从复制账户
create user ‘DB101‘@‘192.168.20.101‘ identified by ‘1234‘; grant REPLICATION SLAVE on *.* to ‘DB101‘@‘192.168.20.101‘;
12、在192.168.20.101中操作,发现无法连接。
mysql -h192.168.20.100 -uDB101 -p Enter password: ERROR 2003 (HY000): Can‘t connect to MySQL server on ‘192.168.20.100‘ (113)
使用telnet,发现3306端口无法通信。所以需要更改防火墙策略
sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent sudo firewall-cmd --reload
问题解决
原文:https://www.cnblogs.com/binbinyouni/p/10722622.html