安装部署mysql-5.7.20

本文详细记录了MySQL5.7在Linux上的安装过程,包括上传安装包、解压、移动文件、检查服务状态、创建用户和组、配置my.cnf文件、设置权限、启动服务以及设置开机启动。此外,还涉及到了初始化数据库、设置root用户密码以及问题排查与重新部署的步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.首先上传安装包

[root@localhost local]# rz  

2.解压        

[root@localhost ~]# tar xzvf mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz

3.移动

[root@localhost ~]#         mv mysql-5.7.20-linux-glibc2.12-x86_64 /usr/local/mysql

4.检查本机是否有mysql或者mysql的服务在运行

[root@localhost ~]# ps -ef  | grep mysqld

[root@localhost ~]# rpm -qa | grep -i mysql

5.Create group and user

[root@localhost local]# groupadd -g 101 dba   产生一个组 ID(dba)是 101 的项目。

[root@localhost local]# useradd -u 514 -g dba -G root -d /usr/local/mysql mysql 创建用户

[root@localhost ~]# id mysql
uid=514(mysql) gid=101(dba) groups=101(dba),0(root)

[root@localhost ~]#  su - mysql
Last login: Sun Nov 14 07:21:12 CST 2021 on pts/1
-bash-4.2$                                                   ---样式有问题
-bash4.2$ 
-bash-4.2$ 
-bash-4.2$ su - root 

copy环境变量配置文件至mysql用户的home目录中,为了以下步骤配置个人环境变量

[root@localhost ~]# cp /etc/skel/.* /usr/local/mysql
cp: omitting directory ‘/etc/skel/.’
cp: omitting directory ‘/etc/skel/..’
cp: omitting directory ‘/etc/skel/.mozilla’
[root@localhost ~]# su - mysql
Last login: Sun Nov 14 07:32:25 CST 2021 on pts/1[mysql@localhost ~]6.配置  /etc/my.conf(640)

#defualt start: /etc/my.cnf->/etc/mysql/my.cnf->SYSCONFDIR/my.cnf->$MYSQL_HOME/my.cnf>defaults-extra-file->~/my.cnf   地址所在位置 按优先级顺序查看

[mysql@localhost ~]$ vi /etc/my.cnf

[client]
port            = 3306socket          = /usr/local/mysql/data/mysql.sock
 
[mysqld]
port            = 3306
socket          = /usr/local/mysql/data/mysql.sock

skip-external-locking
key_buffer_size = 256M
sort_buffer_size = 2M
read_buffer_size = 2M
read_rnd_buffer_size = 4M
query_cache_size= 32M
max_allowed_packet = 16M
myisam_sort_buffer_size=128M
tmp_table_size=32M

table_open_cache = 512
thread_cache_size = 8
wait_timeout = 86400
interactive_timeout = 86400
max_connections = 600thread_concurrency = 32#isolation level and default engine 
default-storage-engine = INNODB
transaction-isolation = READ-COMMITTED

server-id  = 1
basedir     = /usr/local/mysqldatadir     = /usr/local/mysql/data
pid-file     = /usr/local/mysql/data/hostname.pid

#open performance schema
log-warnings
sysdate-is-now

binlog_format = MIXED
log_bin_trust_function_creators=1
log-error  = /usr/local/mysql/data/hostname.err
log-bin=/usr/local/mysql/arch/mysql-bin
#other logs
#general_log =1
#general_log_file  = /usr/local/mysql/data/general_log.err
#slow_query_log=1
#slow_query_log_file=/usr/local/mysql/data/slow_log.err

#for replication slave
#log-slave-updates 
#sync_binlog = 1

#for innodb options 
innodb_data_home_dir = /usr/local/mysql/data/
innodb_data_file_path = ibdata1:500M:autoextend
innodb_log_group_home_dir = /usr/local/mysql/arch
innodb_log_files_in_group = 2
innodb_log_file_size = 200M

innodb_buffer_pool_size = 2048M
innodb_additional_mem_pool_size = 50M
innodb_log_buffer_size = 16M

innodb_lock_wait_timeout = 100
#innodb_thread_concurrency = 0
innodb_flush_log_at_trx_commit = 1
innodb_locks_unsafe_for_binlog=1

#innodb io features: add for mysql5.5.8
performance_schema
innodb_read_io_threads=4
innodb-write-io-threads=4
innodb-io-capacity=200
#purge threads change default(0) to 1 for purge
innodb_purge_threads=1
innodb_use_native_aio=on

#case-sensitive file names and separate tablespace
innodb_file_per_table = 1
lower_case_table_names=1

[mysqldump]
quick
max_allowed_packet = 16M

[mysql]
no-auto-rehash

[mysqlhotcopy]
interactive-timeout

[myisamchk]
key_buffer_size = 256M
sort_buffer_size = 256M
read_buffer = 2M
write_buffer = 2M

6.改变权限

[root@localhost ~]# chown mysql:dba /etc/my.cnf                
[root@localhost ~]# chmod 640 /etc/my.cnf
[root@localhost ~]# chown -R mysql:dba /usr/local/mysql
[root@localhost ~]# chmod -R 755 /usr/local/mysql

[root@localhost mysql]# su - mysql
Last login: Sun Nov 14 08:02:33 CST 2021 on pts/1
[mysql@localhost ~]$ pwd
/usr/local/mysql
[mysql@localhost ~]$ mkdir arch

[mysql@localhost ~]$ vim /usr/local/mysql/.bashrc

export MYSQL_HOME=/usr/local/mysql
export PATH=${MYSQL_HOME}/bin:$PATH

unset USERNAME

set umask to 022
umask 022

# 修改用户的 显示样式
PS1=`uname -n`":"'$USER'":"'$PWD'":>"; export PS1

[root@localhost ~]#vim /etc/profile

export MYSQL_BASE=/usr/local/mysql
export PATH=${MYSQL_BASE}/bin:$PATH

将服务文件拷贝到init.d下,并重命名为mysql

[root@localhost ~]# cd /usr/local/mysql

[root@localhost mysql]#ls support-files/mysql.server

support-files/mysql.server

[root@localhost mysql]#cp support-files/mysql.server /etc/rc.d/init.d/mysql

[root@localhost mysql]#chmod +x /etc/rc.d/init.d/mysql

[root@localhost mysql]#chkconfig --add mysql

[root@localhost mysql]#chkconfig --level 345 mysql on

开机启动

[root@localhost mysql]#vim /etc/rc.local
su - mysql -c "/etc/init.d/mysql start --federated"

[root@localhost mysql]#yum -y install libaio
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirrors.163.com
 * extras: mirrors.163.com
 * updates: mirrors.163.com
base                                                                         | 3.6 kB  00:00:00     
extras                                                                       | 2.9 kB  00:00:00     
updates                                                                      | 2.9 kB  00:00:00     
(1/4): base/7/x86_64/group_gz                                                | 153 kB  00:00:00     
(2/4): extras/7/x86_64/primary_db                                            | 224 kB  00:00:00     
(3/4): base/7/x86_64/primary_db                                              | 6.1 MB  00:00:00     
(4/4): updates/7/x86_64/primary_db                                           | 5.6 MB  00:00:00     
Package libaio-0.3.109-13.el7.x86_64 already installed and latest version
Nothing to do
 

初始化:
localhost.localdomain:mysql:/usr/local/mysql:>bin/mysqld --defaults-file=/etc/my.cnf --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ --initialize 

localhost.localdomain:mysql:/usr/local/mysql:> cd /usr/local/mysql/data ; cat hostname.err |grep password
2021-02-19T08:04:25.320136Z 1 [Note] A temporary password is generated for root@localhost: *,p4Ln:gso)t

#输入:service mysql start 启动
或者执行下面命令启动:
/usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf &

[root@localhost ~]#  mysql -uroot -p
输入临时密码:
*,p4Ln:gso)t

alter user root@localhost identified by 'mysql123';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'mysql123' ;
flush privileges;
exit;

重启mysql
service mysql restart
 

出了问题重新部署的话:

rm -rf arch/*

rm -rf data/*

bin/mysqld --defaults-file=/etc/my.cnf --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ --initialize 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值