Mysql 5.7.18 安装部署
安装好开发环境各种依赖包
yum groupinstall "Development tools"
安装依赖包
yum search libaio # search for info yum install libaio # install library
新建用户组和用户
groupadd mysql useradd mysql -g mysql
建立存放数据库目录
mkdir /data
解压包指定目录
wget http://mirrors.sohu.com/mysql/MySQL-5.7/mysql-5.7.18.tar.gz wget http://mirrors.sohu.com/mysql/MySQL-5.7/mysql-5.7.18-linux-glibc2.5-i686.tar.gz 【625M mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz】 这里使用官网编译好的二进制安装包 tar xf mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz -C /data
重命名
mv mysql-5.7.18-linux-glibc2.5-x86_64 mysql5.7
创建数据目录
mkdir -p /data/mysql/data
更改所有者
chown -R mysql:mysql /data/mysql
初始化数据库
/data/mysql/bin/mysqld --user=mysql --basedir=/data/mysql/ --datadir=/data/mysql/data --initialize
初始化后记下mysql root用户随机产生的密码 pychBtXfV3-A [见底部图片样例]
拷贝启动程序文件到/etc/init.d/下面
cp support-files/mysql.server /etc/init.d/mysqld chmod +x /etc/init.d/mysqld
修改启动脚本文件
vim /etc/init.d/mysqld basedir=/data/mysql datadir=/data/mysql/data
先清理一下内存缓存
sync echo 3 > /proc/sys/vm/drop_caches
配置my.cnf
[client] socket =/data/mysql/mysql.sock default-character-set = utf8mb4 port = 3306 [mysql] default-character-set=utf8mb4 [mysqld] basedir=/data/mysql datadir=/data/mysql/data port=3306 pid-file=/data/mysql/mysqld.pid default-time-zone = '+8:00' log_timestamps=SYSTEM #字符集 character-set-client-handshake = FALSE character_set_filesystem = utf8mb4 character-set-server = utf8mb4 collation-server = utf8mb4_unicode_ci init_connect = 'SET NAMES utf8mb4' skip-character-set-client-handshake = true #skip-grant-tables skip-name-resolve socket = /data/mysql/mysql.sock character-set-server=utf8mb4 default-storage-engine=INNODB explicit_defaults_for_timestamp = true # Server Id server-id=1 log-bin = mysql-bin max_connections=2000 query_cache_size=0 table_open_cache=2000 tmp_table_size=246M thread_cache_size=300 #logs general_log = ON general_log_file = /data/mysql/logs/mysql.log log_error = /data/mysql/logs/mysql-error.log slow_query_log = on slow-query-log-file = /data/mysql/logs/slow-query.log long_query_time = 2 #限定用于每个数据库线程的栈大小。默认设置足以满足大多数应用 thread_stack = 192k key_buffer_size=512M read_buffer_size=4M read_rnd_buffer_size=32M innodb_data_home_dir = /data/mysql/data innodb_flush_log_at_trx_commit=0 innodb_log_buffer_size=16M innodb_buffer_pool_size=256M innodb_log_file_size=128M innodb_thread_concurrency=128 innodb_autoextend_increment=1000 innodb_buffer_pool_instances=8 innodb_concurrency_tickets=5000 innodb_old_blocks_time=1000 innodb_open_files=300 innodb_stats_on_metadata=0 innodb_file_per_table=1 innodb_checksum_algorithm=0 back_log=80 flush_time=0 join_buffer_size=128M max_allowed_packet=64M max_connect_errors=2000 open_files_limit=4161 query_cache_type=0 sort_buffer_size=32M table_definition_cache=1400 binlog_row_event_max_size=8K sync_master_info=10000 sync_relay_log=10000 sync_relay_log_info=10000 #批量插入数据缓存大小,可以有效提高插入效率,默认为8M bulk_insert_buffer_size = 64M interactive_timeout = 28800 wait_timeout = 28800 log-bin-trust-function-creators=1 sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
创建日志目录和文件
mkdir -p /data/mysql/logs/mysql.log mkdir -p /data/mysql/logs/mysql-erros.log
启动mysql
Service mysqld start #如果启动报错请注意下,日志文件要手动建立,给予mysql权限
增加环境变量
vim /etc/profile 最下面加上: export PATH=${PATH}:/data/mysql/bin #使环境变量生效 source /etc/profile 或者 . /etc/profile
修改密码
mysql –uroot –p 【密码为初始化数据库时给出的随机密码】 #修改密码,不然无法执行mysql相关命令操作 mysql>SET PASSWORD = PASSWORD('root');
图片为数据库初始化时候: