- 首先连接上服务器之后,需要创建一个放mysql安装包的文件夹。我这里是用root用户登陆的,就在/root路径下创建一个software目录来保存mysql安装包文件:
cd /root
mkdir software
- 这时候可以打开
/root/software
目录,把我们需要的mysql安装包下载进来,或者在本地下载好用其他工具上传上来也可以;
# 下载mysql5.7.17安装包
wget http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz
注意,如果这里没有wget命令的话,需要通过
yum install wget
安装一下
- 这时候我们已经有mysql安装包了,下面进行解压:
tar -zxvf mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz
这时候就得到可以使用的mysql安装包了。
- 把MySQL安装包放到
/usr/local
目录下:
mv /root/software/mysql-5.7.17-linux-glibc2.5-x86_64/ /usr/local/mysql
- 添加用户、组及目录
groupadd mysql
useradd -r -s /sbin/nologin -g mysql mysql -d /usr/local/mysql
- 改变目录所有者
cd /usr/local/mysql
chown -R mysql .
chgrp -R mysql .
chown -R mysql /data/mysql
- 配置mysql运行参数
bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql
我这里报错
这里是说缺文件,安装一下再运行上面的命令就可以了:
yum install -y libaio
之后会生成一个临时密码:
记住这个密码,之后要用。
- 设置mysql远程加密连接
bin/mysql_ssl_rsa_setup --datadir=/data/mysql
- 修改系统配置文件
# mysql提供了一个配置文件的模板,就是这个目录下的my-default.cnf
cd /usr/local/mysql/support-files/
# 把配置文件复制到/etc目录下
cp my-default.cnf /etc/my.cnf
# 把mysql.server复制到/etc/init.d目录下
cp mysql.server /etc/init.d/mysql
接下来有两个工作要做
修改my.cnf文件,进行一些常用的设置,比如支持中文编码之类的,可以参考一下:
[client]
port = 3306
socket = /data/mysql/tmp/mysql.sock
[mysqld]
user = mysql
basedir = /usr/local/mysql
datadir = /data/mysql/data
port = 3306
socket = /data/mysql/tmp/mysql.sock
pid-file = /data/mysql/tmp/mysqld.pid
tmpdir = /data/mysql/tmp
# skip_name_resolve = 1
symbolic-links = 0
max_connections = 2000
group_concat_max_len = 1024000
sql_mode = NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
lower_case_table_names = 1
log_timestamps = SYSTEM
character-set-server = utf8
interactive_timeout = 1800
wait_timeout = 1800
max_allowed_packet = 32M
binlog_cache_size = 4M
sort_buffer_size = 2M
read_buffer_size = 4M
join_buffer_size = 4M
tmp_table_size = 96M
max_heap_table_size = 96M
max_length_for_sort_data = 8096
# logs
server-id = 1003306
log-error = /data/mysql/logs/error.log
slow_query_log = 1
slow_query_log_file = /data/mysql/logs/slow.log
long_query_time = 3
log-bin = /data/mysql/logs/binlog
binlog_format = row
expire_logs_days = 15
log_bin_trust_function_creators = 1
relay-log = /data/mysql/logs/relay-bin
relay-log-recovery = 1
relay_log_purge = 1
# innodb
innodb_file_per_table = 1
innodb_log_buffer_size = 16M
innodb_log_file_size = 256M
innodb_log_files_in_group = 2
innodb_io_capacity = 2000
innodb_io_capacity_max = 4000
innodb_flush_neighbors = 0
innodb_flush_method = O_DIRECT
innodb_autoinc_lock_mode = 2
innodb_read_io_threads = 8
innodb_write_io_threads = 8
innodb_buffer_pool_size = 2G
explicit_defaults_for_timestamp = true
这个复制过去的mysql.server就是mysql的启动文件啦,里面还有一些修改工作,打开看一下:
basedir和datadir需要我们自己配置一下,这里改为
basedir=/usr/local/mysql
datadir=/data/mysql
就可以了
- 启动一下试试
/etc/init.d/mysql start
成功启动!
- 登进去看一下
mysql -u root -p
报错:
简单!建个软连接就可以了:
ln -s /usr/local/mysql/bin/mysql /usr/bin
再次尝试,密码为第7步生成的随机密码。登录成功!
登录之后首先应该修改密码:
# 单引号里面写你想要设置的密码
set password=password('root')
退出重新用新密码登陆试一下
# 退出mysql
quit;
# 用新密码再次登录
mysql -u root -proot
# 登陆成功
- 添加环境变量
export PATH=/usr/local/mysql/bin:$PATH
# 刷新环境变量文件
source /etc/profile
end…