MySQL 二进制安装部署
第一步去官网选择自己合适的版本下载
官网地址:
https://downloads.mysql.com/archives/community/
上传包 或者直接下载到服务器上
第二步解压
tar -zxvf mysql-8.0.15-el7-x86_64.tar.gz -C /usr/local/mysql-8.0.15 //解压到 /usr/local下叫mysql-8.0.15
第三步 做个软连接
ln -s /usr/local/mysql-8.0.15 /usr/local/mysql //方便以后升级
第四步 添加MySQL的启动用户
groupadd mysql 和 useradd -r -g mysql mysql
第五步 修改权限
cd /usr/local/mysql //进入/usr/local/mysql 目录
chown -R mysql:mysql ./ //修改当前目录为mysql用户
第六步初始化数据库
bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data //运行完成会生成一个暂时的密码。
结果如下 这个密码记住了 等会登录需要用到
第七步 查看配置文件有没有生成
cd /etc/ //进入/etc/目录下
ls | grep my.cnf //查看是否有my.cnf 文件。有则会产生结果。
初始化生成了my.cnf 文件,跳至第八步,修改my.cnf 文件的信息。
如果没有生成请执行如下
touch my-defalut.cnf //新建一个文件
chmod 755 my-defalut.cnf // 赋予权限
cp my-defalut.cnf /etc/my.cnf // 将文件复制到/etc/ 目录下,并更名为my.cnf 文件名。
**在/etc/my.cof 配置如下 **
[mysqld]
server_id=1 #mysql5.6中可以不加,但是mysql5.7中必须加
log_bin=mysql-bin
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
port=3306
socket=/tmp/mysql.sock
pid-file=/usr/local/mysql/localhost.pid
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
#一般错误日志
log_error=/usr/local/mysql/data/mysql.err
#一般查询日志
general_log=on
general_log_file=/usr/local/mysql/data/db01.log
#指定是否开启慢查询日志
slow_query_log = 1
#指定慢日志文件存放位置(默认在data)
slow_query_log_file=/usr/local/mysql/data/slow.log
#设定慢查询的阀值(默认10s)
long_query_time=5
#这个就是用之前的身份认证插件
#default-authentication-plugin = mysql_native_password
##保证日志的时间正确
log_timestamps = SYSTEM
##server-1
#slave_parallel_workers = 4
#slave_parallel_type = LOGICAL_CLOCK
#open_files_limit = 65535
#back_log = 1024
#最大连接数
max_connections = 1024
#最大错误连接数
max_connect_errors = 1000000
#打开表缓存
#table_open_cache = 1024
#最大连接队列
back_log=1024
#超时时间
wait_timeout=60
interactive_timeout=7200
#索引缓冲区
key_buffer_size=16M
#查询缓冲区 query_cache_size
#query_cache_size=64M
#query_cache_type=1 #开启查询缓存
#query_cache_limit=50M
#错误连接最大次数
max_connect_errors=20
#数据需要进行排序时,查询结果的缓冲区
sort_buffer_size=2M
#数据包限制 (指代mysql服务器端和客户端在一次传送数据包的过程当中最大允许的数据包大小)
max_allowed_packet=32M
#数据需要使用join语句时,查询结果的缓冲区(链表查询时)
join_buffer_size=2M
#当客户端断开之后,服务器处理此客户的线程将会缓存起来以响应下一个客户而不是销毁
thread_cache_size=200
#innodb_buffer_pool_size参数对于innodb存储引擎的库设置缓存(数据库服务器总内存的70%-80%)
innodb_buffer_pool_size=2048M
#innodb_flush_log_at_trx_commit=1,用于控制redo log buffer中数据写入磁盘redo log文件的。
innodb_flush_log_at_trx_commit=1
sync_binlog=1
#日志文件的缓冲区大小
innodb_log_buffer_size=32M
#磁盘上日志文件的大小
innodb_log_file_size=128M
#将log文件分组,循环的方式写入多个文件,值是多少就有几个ib_logfile文件
innodb_log_files_in_group=3
#mysql读数据的缓冲区大小
read_buffer_size=2M
read_rnd_buffer_size=2M
[mysqld_safe]
log-error=/var/log/mysql.log
第九步 配置环境变量
vim /etc/profile // 打开profile文件。
export MYSQL_HOME
MYSQL_HOME=/usr/local/mysql
export PATH=$PATH:$MYSQL_HOME/lib:$MYSQL_HOME/bin
** 保存退出后 source /etc/profile **
第十步设置开机自启动
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
chmod +x /etc/init.d/mysql //添加可执行权限。
chkconfig --add mysql // 注册启动服务
输入chkconfig --list //查看是否添加成功。
十一部 开启服务器,登录进入mysql
service mysql start //开启服务器。
mysql -uroot -p //登录进入mysql,然后提示输入密码。输入第六步初始化的密码
到此,说明已经安装成功了
十二步
进入mysql后,修改密码。不然你什么也做不了
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '密码'
然后 exit; 退出,重新进入,进行测试