计算机网络/计算机科学与应用/系统/运维/开发

CentOS7安装MySQL8.0并初始化环境

下载MySQL8

wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.15-linux-glibc2.12-x86_64.tar.xz


解压缩

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


查看mysql包 ls -lh

解压tar包

tar xf mysql-8.0.15-linux-glibc2.12-x86_64.tar.xz
ls -lh
[root@localhost ~]# mv mysql-8.0.15-linux-glibc2.12-x86_64 /usr/local/mysql
[root@localhost ~]# cd /usr/local/mysql/
[root@localhost mysql]# ls
bin   include  LICENSE         man     README.router  support-files
docs  lib      LICENSE.router  README  share


建立mysql账号

adduser mysql


配置mysql

vi /etc/my.cnf



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


创建配置文件中的目录并授权给mysql用户:

[root@localhost mysql]# mkdir data sql_log undo
[root@localhost mysql]# ls -lh
total 448K
drwxr-xr-x.  2 root root  4.0K Jul  6 00:55 bin
drwxr-xr-x.  2 root root     6 Jul  6 01:08 data
drwxr-xr-x.  2 root root    86 Jul  6 00:55 docs
drwxr-xr-x.  3 root root   266 Jul  6 00:55 include
drwxr-xr-x.  6 root root  4.0K Jul  6 00:55 lib
-rw-r--r--.  1 7161 31415 328K Jan 26  2019 LICENSE
-rw-r--r--.  1 7161 31415 100K Jan 26  2019 LICENSE.router
drwxr-xr-x.  4 root root    30 Jul  6 00:55 man
-rw-r--r--.  1 7161 31415  687 Jan 26  2019 README
-rw-r--r--.  1 7161 31415  700 Jan 26  2019 README.router
drwxr-xr-x. 28 root root  4.0K Jul  6 00:55 share
drwxr-xr-x.  2 root root     6 Jul  6 01:08 sql_log
drwxr-xr-x.  2 root root    90 Jul  6 00:55 support-files
drwxr-xr-x.  2 root root     6 Jul  6 01:08 undo
[root@localhost mysql]# chown mysql:mysql -R data/ sql_log/ undo/
[root@localhost mysql]# ls -lh
total 448K
drwxr-xr-x.  2 root  root  4.0K Jul  6 00:55 bin
drwxr-xr-x.  2 mysql mysql    6 Jul  6 01:08 data
drwxr-xr-x.  2 root  root    86 Jul  6 00:55 docs
drwxr-xr-x.  3 root  root   266 Jul  6 00:55 include
drwxr-xr-x.  6 root  root  4.0K Jul  6 00:55 lib
-rw-r--r--.  1  7161 31415 328K Jan 26  2019 LICENSE
-rw-r--r--.  1  7161 31415 100K Jan 26  2019 LICENSE.router
drwxr-xr-x.  4 root  root    30 Jul  6 00:55 man
-rw-r--r--.  1  7161 31415  687 Jan 26  2019 README
-rw-r--r--.  1  7161 31415  700 Jan 26  2019 README.router
drwxr-xr-x. 28 root  root  4.0K Jul  6 00:55 share
drwxr-xr-x.  2 mysql mysql    6 Jul  6 01:08 sql_log
drwxr-xr-x.  2 root  root    90 Jul  6 00:55 support-files
drwxr-xr-x.  2 mysql mysql    6 Jul  6 01:08 undo
[root@localhost mysql]#


为mysql添加环境变量

vi /etc/profile


文件末尾添加

export PATH=$PATH:/usr/local/mysql/bin

重新加载配置文件

# source /etc/profile

初始化mysql

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


将脚本mysql.server 拷贝到/etc/init.d/mysqld

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


使用脚本启动mysql服务

/etc/init.d/mysqld start


查看mysql进程

ps -ef|grep mysql


查看mysql初始密码

mysql# cd sql_log
sql_log# grep password mysql-error.log

会得到一串字符串


# 登录mysql

mysql -uroot -p


修改密码

alter  user user() identified by '123456';

重新登录MySqL,完成安装并初始化操作


所有的努力,不是为了让别人觉得你了不起,而是为了能让自己打心眼里看得起自己。

评论

^