使用tar.gz文件安装MySQL
1、下载MySQL离线包
下载地址:https://downloads.mysql.com/archives/community/
根据需要下载对应版本tar.gz文件,下载完成后上传到服务器
2、解压tar.gz文件
tar -zxvf mysql-5.7.37-linux-glibc2.12-x86_64.tar.gz
等待解压完成。
解压后文件名太长,为方便使用,重命名。
mv mysql-5.7.37-linux-glibc2.12-x86_64 mysql
3、创建MySQL用户和用户组
这里可以参考官方文档:https://dev.mysql.com/doc/refman/5.7/en/binary-installation.html
#创建mysql用户组
groupadd mysql
#创建一个用户名为mysql的用户,并加入mysql用户组
useradd -s /bin/nologin -g mysql mysql
#设置密码
passwd mysql
4、配置文件
mysql启动时默认加载的配置文件为 /etc/my.cnf,可以在启动命令后使用参数 –defaults-file 来指定自定义配置文件,这里我们就放置在默认目录
自定义配置文件配置项时,需手动创建对应的文件或文件夹,例如设置datadir=/usr/local/mysql/data ,则需先在对应目录下创建 data 文件夹
my.cfg
[client]
port=3306
[mysql]
no-beep
[mysqld]
port=3306
datadir=/usr/local/mysql/data
default-storage-engine=INNODB
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
log-output=FILE
general-log=0
general_log_file="DESKTOP-EI1GSRR.log"
slow-query-log=1
slow_query_log_file="DESKTOP-EI1GSRR-slow.log"
long_query_time=10
log-error="DESKTOP-EI1GSRR.err"
relay_log="DESKTOP-EI1GSRR-relay"
server-id=1
report_port=3306
lower_case_table_names=1
max_connections=151
table_open_cache=2000
tmp_table_size=101M
thread_cache_size=10
myisam_max_sort_file_size=100G
myisam_sort_buffer_size=192M
key_buffer_size=8M
read_buffer_size=64K
read_rnd_buffer_size=256K
innodb_flush_log_at_trx_commit=1
innodb_log_buffer_size=1M
innodb_buffer_pool_size=8M
innodb_log_file_size=48M
innodb_thread_concurrency=17
innodb_autoextend_increment=64
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=256K
max_allowed_packet=4M
max_connect_errors=100
open_files_limit=4161
sort_buffer_size=256K
table_definition_cache=1400
binlog_row_event_max_size=8K
sync_master_info=10000
sync_relay_log=10000
sync_relay_log_info=10000
mysql-server.cnf
[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/var/lib/mysql/mysql.sock
log-error=/var/log/mysql/mysqld.log
pid-file=/run/mysqld/mysqld.pid
user=mysql
tmpdir=/tmp
5、初始化MySQL
cd /usr/local/mysql/bin
mysqld --initialize
如果报如下错,是因为系统默认会查找/usr/bin下的命令,由于mysql没有在这个目录下,所以报not found。因此需要做一个软连接到/usr/bin目录下
-bash: mysqld: command not found
cd /usr/bin
ln -s /usr/local/mysql/bin/mysqld /usr/bin
然后再初始化即可,这里同时会打印数据库初始密码,记下来
6、设置权限
chown -R mysql:mysql mysql
chmod 750 mysql
7、启动MySQL服务
启动文件位于mysql根目录下 support-files/mysql.server ,将该文件拷贝到 init.d 下即可使用centos的 service mysql [option] 来管理mysql的运行。
cp support-files/mysql.server /etc/init.d/mysqld
启动服务
#启动服务
service mysqld start
#停止服务
service mysqld stop
#重启服务
service mysqld restart
如果启动报错如下的话,我们自己创建一个
内容就写上个pid值,比如3666500