Msql8.0安装步骤
#------------------------------------------
#如果您之前使用操作系统本机包管理系统(如 Yum 或 APT)安装了 MySQL,
#则在使用本机二进制文件进行安装时可能会遇到问题。确保您以前的MySQL安装已被完全删除(使用您的包管理系统),
#并且任何其他文件(例如旧版本的数据文件)也已被删除。
#您还应该检查配置文件(如 或目录)并将其删除。/etc/my.cnf/etc/mysql
#________________________________________
#1.安装mysql的一个依赖库 libaio
#search for info # install library
yum search libaio
yum install libaio
#2.Oracle Linux 8 / Red Hat 8 默认不会下载这些文件,所有需要安装这个包
yum install ncurses-compat-libs
#3.创建一个mysql用户和组
groupadd mysql
useradd -r -g mysql -s /bin/false mysql
#如果这里添加权限不被允许,
lsattr passwd
chattr -ia passwd
lsattr shadow
chattr -ia shadow
chattr +ia passwd
chattr +ia shadow
#4.进入到mysql安装包要安装的位置
cd /usr/local
#5.解压压缩包
tar -xvf mysql-8.0.18-linux-glibc2.12-x86_64.tar.xz
#6.创建软链接
ln -s mysql-8.0.18-linux-glibc2.12-x86_64 mysql
#7.在/home/.bashrc下添加环境变量
export PATH=$PATH:/usr/local/mysql/bin
#8.secure_file_priv系统变量将导入和导出操作限制为特定目录。创建一个目录,其位置可以指定为该变量的值:
cd /usr/local/mysql
mkdir mysql-files
#向用户和组授予目录用户和组所有权,并相应地设置目录权限:mysqlmysql
chown mysql:mysql mysql-files
chmod 750 mysql-files
#9.初始化数据库
bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/home/mysql
#10.初始化后 root 密码分配
#10.1使用 --initialize 做的初始化的话,去/home/mysql/erro.log中去找密码,然后使用mysql -uroot -p加找到的密码
#10.2如果是使用 --initialize-insecure 去初始化的话可以直接输入下面这句
mysql -u root --skip-password
#10.3初始化失败后如果datadir(/home/mysql)下存在目录文件了,再次初始化之前要把这个datadir清空
rm -rf /home/mysql
#10.4如果出错去看/home/mysql/erro.log
#11.连接后,使用 ALTER 用户语句分配新密码:root
ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘root-password’;
flush privileges;
flush hosts;
#12.启动服务器
#如果您的安装包括mysqld_safe,请像这样启动MySQL服务器:
bin/mysqld_safe --user=mysql &
#如果您的安装包含系统支持,请像这样启动服务器:
systemctl start mysqld
–如果在启动mysql服务时报找不到mysql.service服务
find / -name mysql.server
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
–如果报:
Authentication plugin ‘caching_sha2_password’ cannot be loaded: /usr/lib64/mysql
在my.cnf中mysqld下面加上
default_authentication_plugin = mysql_native_password
重新初始化服务器即可
以下是我的.cnf文件
[client]
port = 3306
socket = /home/mysql/mysql.sock
default-character-set=utf8
[mysql]
prompt="(\u:BJ-0-47:\D)[\d]> "
pager=“less -i -n -S”
tee=/home/mysql/query.log
no-auto-rehash
[mysqld]
default_authentication_plugin = mysql_native_password
user = mysql
basedir = /usr/local/mysql
datadir = /home/mysql
port = 3306
socket = /home/mysql/mysql.sock
character_set_server=utf8
slow_query_log=ON
slow_query_log_file=/home/mysql/slow.log
log_error=/home/mysql/error.log
log_error_verbosity=3
pid-file=/home/mysql/mysql.pid
lower_case_table_names=1
performance_schema=ON
secure_file_priv=“”
general_log=on
explicit_defaults_for_timestamp=on
sql_mode = “NO_ENGINE_SUBSTITUTION”
open_files_limit = 8192
back_log = 150
max_connections = 1000
max_connect_errors = 100000
wait_timeout=28800
interactive_timeout=28800
table_open_cache=256
external-locking = FALSE
max_allowed_packet = 1G
max_heap_table_size = 16M
sort_buffer_size = 512K
join_buffer_size = 256K
thread_cache_size = 256
net_buffer_length=8192
net_read_timeout = 60
#query_cache_type=OFF
#query_cache_size = 64M
#query_cache_limit = 2M
#query_cache_min_res_unit = 2k
ft_min_word_len = 4
default_storage_engine=InnoDB
thread_stack = 512K
transaction_isolation = READ-COMMITTED
tmp_table_size = 96M
long_query_time = 10
log_queries_not_using_indexes=OFF
log_slow_admin_statements=OFF
log_timestamps=SYSTEM
server-id = 120
log-bin=/home/mysql/mysql-bin
log_bin_index=mysql-bin.index
binlog_cache_size = 4M
binlog_checksum=CRC32
binlog_format=ROW
binlog_row_image=FULL
log_bin_trust_function_creators=on
max_binlog_cache_size = 128M
max_binlog_size = 1G
expire_logs_days = 1
sync_binlog = 1
gtid_mode=on
enforce_gtid_consistency=on
key_buffer_size = 16M
read_buffer_size = 128K
read_rnd_buffer_size = 512K
bulk_insert_buffer_size = 64M
myisam_sort_buffer_size = 128M
myisam_max_sort_file_size = 10G
myisam_repair_threads = 1
myisam_recover_options=DEFAULT
innodb_buffer_pool_size=20G
innodb_buffer_pool_instances=8
innodb_autoinc_lock_mode=1
innodb_data_file_path = ibdata1:1024M:autoextend
innodb_thread_concurrency = 0
innodb_flush_log_at_trx_commit = 1
innodb_log_buffer_size = 64M
innodb_log_file_size = 256M
innodb_log_files_in_group = 2
innodb_max_dirty_pages_pct = 75
innodb_flush_method=O_DIRECT
innodb_lock_wait_timeout = 7200
innodb_default_row_format=dynamic
innodb_file_per_table=1
innodb_rollback_on_timeout=on
innodb_status_file = 1
innodb_read_io_threads = 12
innodb_write_io_threads = 12
innodb_io_capacity = 1000
innodb_adaptive_flushing=1
innodb_status_output_locks=1
[mysqldump]
quick
max_allowed_packet = 32M
本文档详述了在Linux系统中安装MySQL8.0的步骤,包括删除旧版MySQL、安装依赖库、创建用户和组、解压安装包、设置环境变量、初始化数据库、设置root密码以及启动和配置MySQL服务。特别提到了解决启动问题和配置my.cnf文件的方法。
108

被折叠的 条评论
为什么被折叠?



