centos7安装mysql-8.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.将/user/local/mysql/bin路径添加到/etc/profile中
export PATH=$PATH:/user/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.修改密码,这里密码设置为123456
alter user user() identified by '123456';
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;