本文记录了在LINUX环境安装MYSQL 5.7.18的过程。
一、下载最新的MYSQL软件包,从 https://dev.mysql.com/downloads/mysql/下载,一般选择LINUX-GENERIC通用版即可。
二、检查库文件是否存在,如有则删除。
[root@moghtest5linux /]# rpm -qa|grep mysql
mysql-devel-5.1.66-2.el6_3.x86_64
mysql-5.1.66-2.el6_3.x86_64
mysql-libs-5.1.66-2.el6_3.x86_64
[root@moghtest5linux /]# rpm -e mysql-devel-5.1.66-2.el6_3.x86_64 --nodeps
[root@moghtest5linux /]# rpm -e mysql-5.1.66-2.el6_3.x86_64 --nodeps
[root@moghtest5linux /]# rpm -e mysql-libs-5.1.66-2.el6_3.x86_64 --nodeps
三、安装依赖包
# yum install perl
# yum install libaio
四、创建用户和组
# groupadd mysql
# useradd -r -g mysql -s /bin/false mysql
五、安装步骤
1、创建相关目录和解压
#mkdir /data
#cd /data
# tar -xzf mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz
# mv mysql-5.7.18-linux-glibc2.5-x86_64 mysql
#cd mysql
#mkdir data
# mkdir log
# chown mysql:mysql /data/mysql -R
2、创建MYSQL配置文件my.cnf
vi /etc/my.cnf
注意修改文件内容中的路径
[client]
port = 3306
socket = /tmp/mysql.sock
[mysqld]
server_id=10
port = 3306
user = mysql
character-set-server = utf8mb4
default_storage_engine = innodb
log_timestamps = SYSTEM
socket = /tmp/mysql.sock
basedir = /data/mysql/
datadir = /data/mysql/data/
pid-file = /data/mysql/data/mysql.pid
max_connections = 1000
max_connect_errors = 1000
table_open_cache = 1024
max_allowed_packet = 128M
open_files_limit = 65535
#####====================================[innodb]==============================
innodb_buffer_pool_size = 1024M
innodb_file_per_table = 1
innodb_write_io_threads = 4
innodb_read_io_threads = 4
innodb_purge_threads = 2
innodb_flush_log_at_trx_commit = 1
innodb_log_file_size = 512M
innodb_log_files_in_group = 2
innodb_log_buffer_size = 16M
innodb_max_dirty_pages_pct = 80
innodb_lock_wait_timeout = 30
innodb_data_file_path=ibdata1:1024M:autoextend
#####====================================[log]==============================
log_error = /data/mysql/log/mysql-error.log
slow_query_log = 1
long_query_time = 1
slow_query_log_file = /data/mysql/log/mysql-slow.log
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
3、安装MYSQL
[root@moghtest5linux mysql]# bin/mysqld --initialize --user=mysql --basedir=/data/mysql --datadir=/data/mysql/data --explicit_defaults_for_timestamp --innodb_undo_tablespaces=3
如果配置了my.cnf的log_error,那么初始密码在log_error文件中,否则会打印出来。
4、配置ssl加密相关:
#bin/mysql_ssl_rsa_setup --datadir=/data/mysql/data
5、再次修改目录文件权限
# chown mysql:mysql /data/mysql -R
6、设置MYSQL启动脚本
# cp -a /data/mysql/support-files/mysql.server /etc/init.d/mysqld
vi /etc/init.d/mysqld
修改如下两项:
basedir=/data/mysql
datadir=/data/mysql/data
7、设置MYSQL以服务的形式随系统启动
chkconfig --add mysqld
chkconfig mysqld on
8、设置用户环境变量
vi .bash_profile
mysql_home=/data/mysql
PATH=$PATH:$HOME/bin:$mysql_home/bin
六、数据的一些初始化
1、
修改初始的root密码
# bin/mysql -u root -p
注意初始密码在log_error文件中
SET PASSWORD=PASSWORD('password123');
flush privileges;
2、创建一个账号,以免经常用ROOT登录
CREATE USER 'test1'@'10.13.%' IDENTIFIED BY 'password123';
GRANT ALL ON *.* TO 'test1'@'10.13.%'
PS:如果在安装过程中遇到BUG可以参考如下链接
https://bugs.mysql.com/bug.php?id=84427
# touch /data/mysql/log/mysql-error.log
# chown mysql:mysql /data/mysql/log/mysql-error.log