安装依赖包
yum install -y libaio
yum install -y perl perl-devel
解压
mkdir /opt/mysql
mv mysql-5.6.34-linux-glibc2.12-x86_64.tar.gz /opt/mysql/
cd /opt/mysql
tar -zxvf mysql-5.6.34-linux-glibc2.12-x86_64.tar.gz
创建一个链接
ln -s /opt/mysql/mysql-5.6.34-linux-glibc2.12-x86_64 /usr/local/mysql
创建运行的用户
groupadd mysql
useradd -g mysql -d /usr/local/mysql -s /sbin/nologin -M -n mysql
创建所需要的目录
mkdir -p /data/mysql
修改权限
chown -R mysql:mysql /usr/local/mysql/
chown -R mysql:mysql /data/mysql
配置文件内容
#my.cnf
[client]
port = 3306
socket = /data/mysql/mysql.sock
[mysqld]
datadir=/data/mysql
socket=/data/mysql/mysql.sock
tmpdir=/data/mysql
user=mysql
port=3306
server-id=623306
character-set-server=utf8
binlog_format = ROW
transaction_isolation = READ-COMMITTED #事务提交等级
old_passwords=0 #关闭旧密码选项
secure-auth=1 #防止低版本客户端访问
sql-mode="NO_AUTO_CREATE_USER" #禁止创建用户不添加密码
safe-user-create=1 #只有在mysql.user数据库表上拥有INSERT权限的用户才能使用GRANT命令
symbolic-links=0 #是否支持超链接文件
skip_name_resolve=1 #禁用DNS主机名查找
lower_case_table_names=1 #大小写不敏感
local_infile=0 #禁止使用load data
log_bin
log_slave_updates
innodb_open_files = 1000
innodb_adaptive_hash_index = ON #自适应辅助hash索引开启
innodb_file_per_table #innodb单独表文件
innodb_file_format=Barracuda #启用压缩
innodb_buffer_pool_size= 300MB #innodb的buff pool大小
innodb_flush_method=O_DIRECT #避免双缓冲(double buffering)和降低swap的压力
innodb_buffer_pool_dump_at_shutdown=1 #shutdown时dump出buff pool内容
innodb_buffer_pool_load_at_startup=1 #shutdown时load入buff pool内容
sync_binlog = 1
innodb_flush_log_at_trx_commit = 1
delayed_insert_limit = 100 #插入100行后允许select运行
delayed_insert_timeout = 300 #INSERT语句的执行超时时间
delayed_queue_size = 1000 #延迟队列长度
query_cache_size = 0
query_cache_type = 0
sort_buffer_size=2M #每个线程的sort的内存
join_buffer_size=4M #每个线程的join的内存
slow_query_log = 1
long_query_time = 1
slow_query_log_file = /data/mysql/slow.log
max_connections=1000 #最大连接数
max_connect_errors=1000 #最大连接错误数
max_allowed_packet=1G #数据包大小
max_connections = 1000
lock_wait_timeout = 3600
table_definition_cache = 512 #存放表的定义信息
table_open_cache = 200 #存放当前已经打开的表句柄
tmp_table_size = 16777216 #临时表大小
wait_timeout = 2880000 #等待超时
interactive_timeout = 2880000
[mysql]
default-character-set=utf8
修改my.cnf权限
chown mysql:mysql /etc/my.cnf
添加到环境变量
echo "export PATH=$PATH:/usr/local/mysql/bin">>/etc/profile
source /etc/profile
初始化MySQL
/usr/local/mysql/scripts/mysql_install_db --basedir=/data/mysql --datadir=/data/mysql/data/ --user=mysql
启动MySQL
cp /opt/mysql/mysql-5.6.34-linux-glibc2.12-x86_64/support-files/mysql.server /etc/init.d/mysqld
/etc/init.d/mysqld start
MySQL 开机自启动
chkconfig add mysqld
如果是CentOS 7
chkconfig --add mysqld
修改密码
use mysql;
update mysql.user set authentication_string=password('chengce243') where user='root' ;
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY 'chengce243' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'chengce243' WITH GRANT OPTION;
flush privileges;