Linux(centos)系统部署
安装
安装包归档地址:https://downloads.mysql.com/archives/community/
下载
1 2
| cd /usr/local/src wget https://downloads.mysql.com/archives/get/p/23/file/mysql-8.0.15-linux-glibc2.12-x86_64.tar.xz
|
解包
1 2
| tar -Jxvf mysql-8.0.15-linux-glibc2.12-x86_64.tar.xz mv mysql-8.0.15-linux-glibc2.12-x86_64 /usr/local/mysql8.0
|
配置
创建账号
配置文件
配置文件内容
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126
| [client] port = 3306 socket = /usr/local/mysql8.0/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/mysql8.0/data/mysql.sock pid_file = /usr/local/mysql8.0/data/mysqld.pid basedir = /usr/local/mysql8.0 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/mysql8.0/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/mysql8.0/data/ tmpdir = /tmp
# BINARY LOGGING # log_bin = /usr/local/mysql8.0/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/mysql8.0/sql_log/mysql-error.log # log_queries_not_using_indexes = 1 # slow_query_log = 1 slow_query_log_file = /usr/local/mysql8.0/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
|
创建所需的文件目录
1 2 3
| cd /usr/local/mysql8.0 mkdir data sql_log undo chown mysql:mysql -R data/ sql_log/ undo/
|
配置启动命令
1 2 3 4 5 6 7
| vim /etc/profile
# 文件末尾追加 export PATH=$PATH:/usr/local/mysql8.0/bin
# 保存退出 使配置生效 source /etc/profile
|
Mysql初始化
1
| mysqld --initialize --user=mysql --basedir=/usr/local/mysql8.0 --datadir=/usr/local/mysql8.0/data
|
启动命令
1 2 3 4
| cd support-files/ cp mysql.server /etc/init.d/mysql #启动mysql服务 /etc/init.d/mysql start
|
注册服务开机自启
1 2
| chmod +x /etc/init.d/mysql chkconfig --add mysql
|
systemctl status mysql
可看到服务运行状态
修改密码
先找到默认生成的密码
1 2 3
| cd /usr/local/mysql8.0/sql_log grep password mysql-error.log # 找到默认密码
|
登录进mysql
1 2 3
| mysql -u root -p
alter user user() identified by 'zhaoduo';
|
退出用新密码重新进即可
设置允许远程访问
1 2 3 4 5 6 7
| mysql -u root -p
use mysql; # 查看用户信息 select host, user, authentication_string, plugin from user; update user set host='%' where user='root';
|