Linux Centos7.9系统下mysql-8.0.23-linux-glibc2.12-x86_64超详细完整安装教程
[重要通告]如您遇疑难杂症,本站支持知识付费业务,扫右边二维码加博主微信,可节省您宝贵时间哦!
这几天折腾泛微ecology9 Linux系统下的安装,搞的真的是身心疲惫,现在已经是第三天了,还在恍恍惚惚的没有解决!
现在只是先写一下教程,仅供大家参考!
在开始安装之前,首先需要满足一些前置条件:
- 已经拥有一台安装好CentOS 7的服务器。
- 确保服务器拥有基本的系统管理权限,包括sudo权限和root用户访问权限。
- 确保服务器已经安装了依赖软件包,如gcc,openssl,cmake等。
下载MySQL
在官网下载MySQL的社区版安装包,下载地址为:https://dev.mysql.com/downloads/mysql/。
在下载页面上,选择适合自己操作系统的版本,比如选择Linux - Generic(tar.gz)。
安装MySQL
- 下载完成后,使用以下命令解压MySQL安装包并进入解压后的目录:
tar -xzvf mysql-8.0.23-linux-glibc2.12-x86_64.tar.xz
cd mysql-8.0.23-linux-glibc2.12-x86_64
- 创建MySQL所需的数据目录和日志文件目录:
sudo mkdir -p /data/mysql/data
sudo mkdir -p /data/mysql/log
- 给MySQL的数据目录和日志文件目录设置权限:
sudo chown -R mysql:mysql /data/mysql
- 初始化MySQL的数据目录:
sudo bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/data
- 指定配置文件路径:
在MySQL的安装目录下创建/etc/my.cnf文件,并添加以下内容:
[mysqld]
basedir=/usr/local/mysql
datadir=/data/mysql/data
socket=/tmp/mysql.sock
log-error=/data/mysql/log/mysql.err
pid-file=/data/mysql/data/mysqld.pid
- 启动MySQL服务:
sudo bin/mysqld_safe --datadir=/data/mysql/data --user=mysql &
- 配置MySQL的root账户密码:
sudo bin/mysql_secure_installation
按照提示一步一步进行设置即可。
登录MySQL
使用以下命令来登录到MySQL:
bin/mysql -u root -p
在提示之后输入上一步中设置的密码即可。
示例
示例一:创建一个新数据库和表
在MySQL中,创建新数据库和表需要通过SQL语句来实现。以下是一个简单的例子:
CREATE DATABASE mytest;
USE mytest;
CREATE TABLE user (
id INT NOT NULL AUTO_INCREMENT,
name VARCHAR(30) NOT NULL,
email VARCHAR(60) NOT NULL,
PRIMARY KEY (id)
);
上面的SQL语句中,首先创建了一个名为“mytest”的新数据库,并将其切换为当前活动数据库。接着,通过“CREATE TABLE”语句创建了一个名为“user”的新数据表,定义了三个列名“id”、“name”和“email”,其中“id”为主键列,并启用了自动编号。
示例二:导入一个SQL文件
在实际应用中,经常需要将一个已经准备好的SQL脚本文件导入到MySQL中。以下是一个例子:
mysql -u root -p mytest < mytest_data.sql
上述命令假设已经在当前目录下准备好了一个名为“mytest_data.sql”的SQL脚本文件,其中包含了批量的INSERT语句用来向“mytest”数据库的“user”表中添加数据。
总结
通过以上步骤,就完成了MySQL 8.0.23在Linux(CentOS 7)上的安装和初步配置。希望这个超详细教程能够对初学者有所帮助。
进入/etc/my.cnf,把里面的内容全部删除后直接全部复制下面内容进去,保存并退出,(前提备份一下cp my.cnf文件)
// 配置my.cnf
vim /etc/my.cnf
//删除原有的全部内容,然后复制下面内容,:wq保存并退出
[client] no-beep socket =/usr/local/mysql/mysql.sock # pipe # socket=0.0 port=3306 [mysql] default-character-set=utf8 [mysqld] basedir=/usr/local/mysql datadir=/usr/local/mysql/data port=3306 pid-file=/usr/local/mysql/mysqld.pid #skip-grant-tables skip-name-resolve socket = /usr/local/mysql/mysql.sock character-set-server=utf8 default-storage-engine=INNODB explicit_defaults_for_timestamp = true # Server Id. server-id=1 max_connections=2000 query_cache_size=0 table_open_cache=2000 tmp_table_size=246M thread_cache_size=300 #限定用于每个数据库线程的栈大小。默认设置足以满足大多数应用 thread_stack = 192k key_buffer_size=512M read_buffer_size=4M read_rnd_buffer_size=32M innodb_data_home_dir = /usr/local/mysql/data innodb_flush_log_at_trx_commit=0 innodb_log_buffer_size=16M innodb_buffer_pool_size=256M innodb_log_file_size=128M innodb_thread_concurrency=128 innodb_autoextend_increment=1000 innodb_buffer_pool_instances=8 innodb_concurrency_tickets=5000 innodb_old_blocks_time=1000 innodb_open_files=300 innodb_stats_on_metadata=0 innodb_file_per_table=1 innodb_checksum_algorithm=0 back_log=80 flush_time=0 join_buffer_size=128M max_allowed_packet=1024M max_connect_errors=2000 open_files_limit=4161 query_cache_type=0 sort_buffer_size=32M table_definition_cache=1400 binlog_row_event_max_size=8K sync_master_info=10000 sync_relay_log=10000 sync_relay_log_info=10000 #批量插入数据缓存大小,可以有效提高插入效率,默认为8M bulk_insert_buffer_size = 64M interactive_timeout = 120 wait_timeout = 120 log-bin-trust-function-creators=1 sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES # # include all files from the config directory # !includedir /etc/my.cnf.d
以上是etc/my.cnf大致配置,但并非是泛微ecology9的相关配置,还在摸索中,先大致记录一次!
问题未解决?付费解决问题加Q或微信 2589053300 (即Q号又微信号)右上方扫一扫可加博主微信
所写所说,是心之所感,思之所悟,行之所得;文当无敷衍,落笔求简洁。 以所舍,求所获;有所依,方所成!