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