CentOS 7安装MySQL8.0.15,并设置外网连接

CentOS 7安装MySQL8.0.15,并设置外网连接

1.获取mysql

wget https://cdn.mysql.com/archives/mysql-8.0/mysql-8.0.15-linux-glibc2.12-x86_64.tar.xz
(安装wget命令:yum install wget -y)

2.解压mysql

xz -d mysql-8.0.15-linux-glibc2.12-x86_64.tar.xz
tar -xvf mysql-8.0.15-linux-glibc2.12-x86_64.tar

3.移动文件到安装目录/usr/local/mysql

mv mysql-8.0.15-linux-glibc2.12-x86_64 /usr/local/mysql

4.添加mysql用户

adduser mysql

5.添加编辑/etc/my.cnf配置文件

[client]
port = 3306
socket = /usr/local/mysql/data/mysql.sock
[mysqld]
# Skip #
skip_name_resolve = 1
skip_external_locking = 1 
skip_symbolic_links = 1
# GENERAL #
user = mysql
default_storage_engine = InnoDB
character-set-server = utf8
socket = /usr/local/mysql/data/mysql.sock
pid_file = /usr/local/mysql/data/mysqld.pid
basedir = /usr/local/mysql
port = 3306
bind-address = 0.0.0.0
explicit_defaults_for_timestamp = off
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
#read_only=on
# MyISAM #
key_buffer_size = 32M
#myisam_recover = FORCE,BACKUP

# undo log #
innodb_undo_directory = /usr/local/mysql/undo
innodb_undo_tablespaces = 8

# SAFETY #
max_allowed_packet = 100M
max_connect_errors = 1000000
sysdate_is_now = 1
#innodb = FORCE
#innodb_strict_mode = 1
secure-file-priv='/tmp'
default_authentication_plugin='mysql_native_password'
# Replice #
server-id = 1001
relay_log = mysqld-relay-bin
gtid_mode = on
enforce-gtid-consistency
log-slave-updates = on
master_info_repository =TABLE
relay_log_info_repository =TABLE


# DATA STORAGE #
datadir = /usr/local/mysql/data/
tmpdir = /tmp

# BINARY LOGGING #
log_bin = /usr/local/mysql/sql_log/mysql-bin
max_binlog_size = 1000M
binlog_format = row
binlog_expire_logs_seconds=86400
# sync_binlog = 1

# CACHES AND LIMITS #
tmp_table_size = 32M
max_heap_table_size = 32M
max_connections = 4000
thread_cache_size = 2048
open_files_limit = 65535
table_definition_cache = 4096
table_open_cache = 4096
sort_buffer_size = 2M
read_buffer_size = 2M
read_rnd_buffer_size = 2M
# thread_concurrency = 24
join_buffer_size = 1M
# table_cache = 32768
thread_stack = 512k
max_length_for_sort_data = 16k


# INNODB #
innodb_flush_method = O_DIRECT
innodb_log_buffer_size = 16M
innodb_flush_log_at_trx_commit = 2
innodb_file_per_table = 1
innodb_buffer_pool_size = 256M
#innodb_buffer_pool_instances = 8
innodb_stats_on_metadata = off
innodb_open_files = 8192
innodb_read_io_threads = 16
innodb_write_io_threads = 16
innodb_io_capacity = 20000
innodb_thread_concurrency = 0
innodb_lock_wait_timeout = 60
innodb_old_blocks_time=1000
innodb_use_native_aio = 1
innodb_purge_threads=1
innodb_change_buffering=all
innodb_log_file_size = 64M
innodb_log_files_in_group = 2
innodb_data_file_path = ibdata1:256M:autoextend

innodb_rollback_on_timeout=on
# LOGGING #
log_error = /usr/local/mysql/sql_log/mysql-error.log
# log_queries_not_using_indexes = 1
# slow_query_log = 1
slow_query_log_file = /usr/local/mysql/sql_log/slowlog.log

# TimeOut #
#interactive_timeout = 30
#wait_timeout = 30
#net_read_timeout = 60

[mysqldump]
quick
max_allowed_packet = 100M

[mysql]
no-auto-rehash
# Remove the next comment character if you are not familiar with SQL
#safe-updates

[myisamchk]
key_buffer_size = 256M
sort_buffer_size = 256M
read_buffer = 2M
write_buffer = 2M

[mysqlhotcopy]
interactive-timeout

6.生成data sql_log undo目录,并修改属主

mkdir data sql_log undo ->三个目录
chown mysql:mysql -R data/ sql_log/ undo/

7.将/usr/local/mysql/bin路径添加到/etc/profile中

export PATH=$PATH:/usr/local/mysql/bin
执行命令source /etc/profile重启

8.初始化mysql

mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

9.拷贝support-files目录下的mysql.server到/etc/init.d/mysqld

cd /usr/etc/mysql/support-files
cp mysql.server /etc/init.d/mysqld

10.启动mysql服务

/etc/init.d/mysqld start
查看mysql进程:ps -ef | grep mysql

  • 设置开机启动:
    赋予可执行权限:chmod +x /etc/init.d/mysqld
    添加服务:chkconfig --add mysqld
    显示服务列表:chkconfig --list
    如果看到mysql的服务,并且3,4,5都是开的话则成功,如果是关,则键入:chkconfig --level 345 mysqld on

11.查询初试密码sql_log/mysql-error.log

cd /usr/local/mysql/sql_log
grep password mysql-error.log

12.使用上面的初试密码登录mysql

mysql -uroot -p

13.修改密码,这里密码设置为root

alter user 'root'@'localhost' identified by 'root';

或者 :

alter user user() identified by 'root';

14.设置外网可以连接

mysql -u root -p
进入mysql数据库:use mysql;
查看user表中的数据:select Host, User from user;
修改user表中的Host:update user set Host='%' where User='root';
最后刷新一下:flush privileges;

15.外网工具连接测试

image.png

你可能感兴趣的:(CentOS 7安装MySQL8.0.15,并设置外网连接)