liunx mysql 两种方式部署

rpm 方式部署

执行yum install mysql-server
如果报下面的错,则执行下面两个命令
在这里插入图片描述
报上面的错,则执行:
yum install wget
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
rpm -ivh mysql-community-release-el7-5.noarch.rpm
然后再执行:
yum install mysql-server
启动mysql服务:service mysqld start
设置mysql的root账号密码:mysqladmin -u root password 'root’
执行 mysql -uroot -p 然后输入密码,进入到mysql,如下
在这里插入图片描述
出现上面的界面则表示Mysql安装成功,输入exit则退出mysql
一个报错
如果报错 socket …
ps -ef |grep mysql
mysql --socker=/var/lib/mysql/mysql.sock

tar 方式部署

1.上传 tar

[root@sht-sgmhadoopnn-01 ~]# cd /usr/local
[root@sht-sgmhadoopnn-01 local]# rz #通过百度云下载到本地,rz命令上传mysql-5.6.23-linux-glibc2.5-x86_64.tar.gz

2.检查是否安装

[root@sht-sgmhadoopnn-01 local]# ps -ef|grep mysqld
[root@sht-sgmhadoopnn-01 local]# rpm -qa |grep -i mysql

3.tar and mv

[root@sht-sgmhadoopnn-01 local]# tar xzvf mysql-5.6.23-linux-glibc2.5-x86_64.tar.gz
[root@sht-sgmhadoopnn-01 local]# mv mysql-5.6.23-linux-glibc2.5-x86_64 mysql

4.创建组和用户

[root@sht-sgmhadoopnn-01 local]# groupadd -g 101 dba
[root@sht-sgmhadoopnn-01 local]# useradd -u 514 -g dba -G root -d /usr/local/mysql mysqladmin
[root@sht-sgmhadoopnn-01 local]# id mysqladmin
# 选做
	[root@sht-sgmhadoopnn-01 local]# passwd mysqladmin

## 如果用户mysqladmin存在,请执行usermod的以下命令。
##[root@sht-sgmhadoopnn-01 local]# usermod -u 514 -g dba -G root -d /usr/local/mysql mysqladmin 

copy 环境变量配置文件至mysqladmin用户的home目录中,为了以下步骤配置个人环境变量
[root@sht-sgmhadoopnn-01 local]# cp /etc/skel/.* /usr/local/mysql  ###important

5.创建/etc/my.cnf (640 权限) rw-r-----

#defualt start: /etc/my.cnf->/etc/mysql/my.cnf->SYSCONFDIR/my.cnf->$MYSQL_HOME/my.cnf-> --defaults-extra-file->~/my.cnf 
[root@sht-sgmhadoopnn-01 mysql]# cd /etc/
[root@sht-sgmhadoopnn-01 etc]# touch my.cnf
[root@sht-sgmhadoopnn-01 etc]# vi my.cnf
	[client]
	port            = 3306
	socket          = /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 = 600

	# Try number of CPU's*2 for thread_concurrency
	thread_concurrency = 32

	#isolation level and default engine 
	default-storage-engine = INNODB
	transaction-isolation = READ-COMMITTED

	server-id  = 1
	basedir     = /usr/local/mysql
	datadir     = /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


	# 生产上 缓冲值,一般调优就是调这个
	# innodb_buffer_pool_size = 2048M
	
	innodb_buffer_pool_size = 1024M

6.chown和chmod特权,并尝试先安装

[root@sht-sgmhadoopnn-01 local]# chown  mysqladmin:dba /etc/my.cnf 
[root@sht-sgmhadoopnn-01 local]# chmod  640 /etc/my.cnf  
[root@sht-sgmhadoopnn-01 etc]# ll my.cnf
[root@sht-sgmhadoopnn-01 local]# chown -R mysqladmin:dba /usr/local/mysql
[root@sht-sgmhadoopnn-01 local]# chmod -R 755 /usr/local/mysql 

关于文件夹的修改 修改完成后 一定要cd进去 ll再看一下
chown -R mysqladmin:dba /usr/local/mysql/*
chown  mysqladmin:dba  mysql-5.6.23-linux-glibc2.5-x86_64


[root@sht-sgmhadoopnn-01 local]# su - mysqladmin 
[mysqladmin@sht-sgmhadoopnn-01 ~]$ pwd

创建binlog日志存储的文件夹
[mysqladmin@sht-sgmhadoopnn-01 ~]$ mkdir arch 

[mysqladmin@sht-sgmhadoopnn-01 ~]$ scripts/mysql_install_db 
	Installing MySQL system tables..../bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory #缺少libaio.so 包


[root@sht-sgmhadoopnn-01 local]# cat /proc/version


[root@sht-sgmhadoopnn-01 local]# rpm -qa |grep gcc
[root@sht-sgmhadoopnn-01 local]# yum -y install libaio

7.再次安装

真正安装命令
[mysqladmin@sht-sgmhadoopnn-01 ~]$ scripts/mysql_install_db  --user=mysqladmin --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data 

8.配置mysql服务并启动自动启动

[root@sht-sgmhadoopnn-01 ~]# cd /usr/local/mysql
#将服务文件拷贝到init.d下,并重命名为mysql
[root@sht-sgmhadoopnn-01 mysql]# cp support-files/mysql.server /etc/rc.d/init.d/mysql 
#赋予可执行权限
[root@sht-sgmhadoopnn-01 mysql]# chmod +x /etc/rc.d/init.d/mysql
#删除服务
[root@sht-sgmhadoopnn-01 mysql]# chkconfig --del mysql
#添加服务
[root@sht-sgmhadoopnn-01 mysql]# chkconfig --add mysql
[root@sht-sgmhadoopnn-01 mysql]# chkconfig --level 345 mysql on
[root@sht-sgmhadoopnn-01 mysql]# vi /etc/rc.local
	在后面加上
		su - mysqladmin -c "/etc/init.d/mysql start"

9.启动mysql,查看进程和监听

[root@sht-sgmhadoopnn-01 mysql]# su - mysqladmin
[mysqladmin@sht-sgmhadoopnn-01 ~]$ pwd
[mysqladmin@sht-sgmhadoopnn-01 ~]$ rm -rf my.cnf
mysqladmin@sht-sgmhadoopnn-01 ~]$ mysqld_safe &

[mysqladmin@sht-sgmhadoopnn-01 ~]$ ps -ef|grep mysqld

[mysqladmin@sht-sgmhadoopnn-01 ~]$ netstat -tulnp | grep mysql

[root@sht-sgmhadoopnn-01 local]# service mysql status

10.登陆 mysql

[mysqladmin@sht-sgmhadoopnn-01 ~]$ mysql

11.更新密码并清除用户

mysql> use mysql
mysql> update user set password=password('password') where user='root';
mysql> select host,user,password from user;
mysql> delete from user where user='';
mysql> select host,user,password from user;
只要关于用户操作 这是最后一步 不要忘记
mysql> flush privileges;

12.配置 .bash_profile

[mysqladmin@sht-sgmhadoopnn-01 ~]$ cat .bash_profile 
	# .bash_profile
	# Get the aliases and functions

	if [ -f ~/.bashrc ]; then
			. ~/.bashrc
	fi

	# User specific environment and startup programs
	MYSQL_BASE=/usr/local/mysql
	export MYSQL_BASE
	PATH=$PATH:${MYSQL_BASE}/bin:/usr/kerberos/bin:/opt/bin:/bin:/usr/bin:/usr/local/bin:/usr/bin/X11:/usr/X11R6/bin:/usr/local/mysql
	export PATH

	unset USERNAME

	#stty erase ^H
	set umask to 022
	umask 022
	PS1=`uname -n`":"'$USER'":"'$PWD'":>"; export PS1

	## end

13.重新部署

service mysql stop
rm -rf /usr/local/mysql/arch/*
rm -rf /usr/local/mysql/data/*
scripts/mysql_install_db  \
--user=mysqladmin \
--basedir=/usr/local/mysql \
--datadir=/usr/local/mysql/data 

关于其他报错问题

Installing MySQL system tables…2019-07-26 11:45:24 0 [Warning] ‘THREAD_CONCURRENCY’ is deprecated and will be removed in a future release.
只需要在/etc/my.cnf 中注释掉 thread_concurrency
2019-07-26 11:45:24 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
在/etc/my.cnf [mysqld] 下面加上
explicit_defaults_for_timestamp=true

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值