CentOS6.5环境下编译安装MySQL5.6.23

时间:2022-11-26 10:27:23

一、MySQL5.6.23镜像文件下载
http://pan.baidu.com/s/1bFuW02

二、编译安装
1.root用户查看主机是否安装过MySQL,若安装过请彻底删除(参考转载blog:Linux下干净卸载mysql详解)

ps -ef|grep mysqld
rpm -qa |grep -i mysql

2.上传镜像文件至:/usr/local,解压,移动

su - root
cd /usr/local
tar -xzvf mysql-5.6.23-linux-glibc2.5-x86_64.tar.gz
mv mysql-5.6.23-linux-glibc2.5-x86_64 mysql

3.root用户创建MySQL的组和用户

groupadd -g 101 dba
useradd -u 514 -g dba -G root -d /usr/local/mysql mysqladmin
id mysqladmin

4.root用户创建/etc/my.cnf,将以下配置内容插入my.cnf,根据主机配置情况修改参数:innodb_buffer_pool_size = 1024M

vi /etc/my.cnf

配置内容:

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

[mysqld]
#add by dingguanyi
user = mysqladmin
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

#need you change
innodb_buffer_pool_size = 1024M
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

5.root用户修改/etc/my.cnf文件和mysql目录的权限及用户组

chown mysqladmin:dba /etc/my.cnf
chmod 640 /etc/my.cnf
ll /etc/my.cnf
chown -R mysqladmin:dba /usr/local/mysql
chmod -R 755 /usr/local/mysql
ll /usr/local/mysql

6.切换到mysqladmin用户,创建目录:arch

su - mysqladmin
mkdir arch

解决切换mysqladmin用户出现-bash-4.1$的情况:

cp -a /etc/skel/. /usr/local/mysql

7.切换到root用户,创建libaio

su - root
yum -y install libaio

8.安装

su - mysqladmin
scripts/mysql_install_db --user=mysqladmin --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

9.切换到root用户/usr/local/mysql目录下,配置mysql服务和开机自启动

su - root
cd /usr/local/mysql
cp support-files/mysql.server /etc/rc.d/init.d/mysql
chmod +x /etc/rc.d/init.d/mysql
chkconfig --del mysql
chkconfig --add mysql
chkconfig --level 345 mysql on

10.启动mysql,查看进程

su - mysqladmin
pwd
rm -rf my.cnf
bin/mysqld_safe &
su - root
ps -ef|grep mysqld
netstat -tulnp | grep mysql
service mysql status

11.登录mysql

su - root
cd /usr/local/mysql
bin/mysql

12.更新root用户密码,删除有安全隐患的数据库用户

show databases;
use mysql
update user set password=password('123456') where user='root';
select host,user,password from user;
delete from user where user='';
select host,user,password from user;
flush privileges;

13.配置环境变量(个人环境变量已经配置)
配置全局环境变量:

vi /etc/profile
#add mysql
export MYSQL_HOME=/usr/local/mysql
export PATH=$MYSQL_HOME/bin:$PATH
source /etc/profile

配置个人环境变量

vi /usr/local/mysql/.bash_profile
#add mysql
export MYSQL_HOME=/usr/local/mysql
export PATH=$MYSQL_HOME/bin:$PATH
source /usr/local/mysql/.bash_profile

14.重启主机,查看mysql服务是否开机自启动,发现报错
(1)查看日志,错误信息:[ERROR] Fatal error: Can’t change to run as user ‘mysql’ ; Please check that the user exists!

cat /usr/local/mysql/data/lostname.err

CentOS6.5环境下编译安装MySQL5.6.23
(2)重新配置/etc/my.cnf,重启正常

#add by dingguanyi
user = mysqladmin
ps -ef|grep mysqld
netstat -tulnp | grep mysql
service mysql status

CentOS6.5环境下编译安装MySQL5.6.23

至此我们在CentOS6.5环境下编译安装MySQL5.6.23就已经完成了