Mysql官网二进制包下载地址
https://dev.mysql.com/downloads/mysql/
选择对应版本下载
根据操作系统选择
会有一步让注册的 点击“No thanks, just start my download.” 即可直接下载
常用目录介绍
#笔者自己的习惯
/data/ /data/mysql 安装目录 /data/mysql33306 数据目录 /data/mysql3306/mysql.sock /data/mysql/ini/my.cnf /data/mysql3306/error.log /data/mysql3306/mysql3306.pid
安装所需组件
yum install libaio
解压并创建数据目录
mkdir -p /data/mysql mkdir -p /data/mysql3306/ tar -zxvf mysql-5.7.16-linux-glibc2.5-x86_64.tar.gz mv mysql-5.7.16-linux-glibc2.5-x86_64 /data/mysql
添加mysql环境变量
##注意 将自己安装的mysql的环境变量添加在前边,否则直接使用mysql的相关命令的时候如果用的是系统自带的有时候会报错 echo 'export PATH=/data/mysql/bin:$PATH' >>/etc/profile source /etc/profile which mysql 查看时候生效 #/data/mysql/bin/mysql
添加mysql用户
groupadd mysql useradd -r -g mysql -s /bin/false mysql
添加目录权限
chown mysql:mysql /data/mysql3306 -R
chown mysql:mysql /data/mysql -R
配置myql文件
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
[client] default-character-set = utf8mb4 [mysql] default-character-set = utf8mb4 [mysqld] character-set-server=uft8mb4 basedir = /data/mysql datadir = /data/mysql3306/ port = 3306 socket = /data/mysql3306/mysql.sock pid-file = /data/mysql3306/mysql3306.pid log-error = /data/mysql3306/error.log server-id=1 slow-query-log = 1 long_query_time = 0.2 slow-query-log-file = /data/mysql3306/slow-queries.log max_connections = 800 max_connect_errors = 100000 table_open_cache = 256 query_cache_size = 2M character_set_server=utf8 init_connect='SET NAMES utf8' innodb_file_per_table=1 innodb_buffer_pool_size = 2048M innodb_data_file_path = ibdata1:1024M:autoextend innodb_flush_log_at_trx_commit=1 innodb_log_buffer_size = 16M innodb_log_file_size = 256M innodb_log_files_in_group = 2 innodb_max_dirty_pages_pct = 50 log-bin = mysql-bin sync_binlog=1 binlog-format=row expire_logs_days = 10 interactive_timeout = 1800 wait_timeout = 1800 log_timestamps = system
初始化
/data/mysql/bin/mysqld --defaults-file=/data/mysql/ini/my.cnf --initialize-insecure --explicit_defaults_for_timestamp --basedir=/data/mysql --datadir=/data/mysql3306/ --user=mysql
# --initialize-insecure 设置root 空密码
启动服务
/data/mysql/bin/mysqld_safe --defaults-file=/data/mysql/ini/my.cnf --user=mysql &
ps -ef|grep mysql 检查进程是否启动
登陆mysql
/data/mysql/bin/mysql -uroot -p --socket = /data/mysql3306/mysql.sock
安装完毕后的操作
设置root密码(如果使用root的话,应该删除root,创建一个新的特权用户) mysqladmin -u root password 123 --socket=/data/mysql3306/mysql.sock 创建特权用户admin 删除root grant all privileges on *.* to 'admin'@'%' identified by '123' with grant option; flush privileges; drop user 'root'@'localhost'; 查看所有用户 SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user; 关闭mysql的方法 /data/mysql/bin/mysqladmin -u root –p’123’ -S /data/mysql3306/mysql.sock shutdown /data/mysql/bin/mysqladmin -u admin -p -S /data/mysql3306/mysql.sock shutdown (如果root用户已经被删除的话) 重设密码 update mysql.user set authentication_string=password('YfD18$d079f!#DA') where user='root' and Host = 'localhost'; flush privileges; alias mysql='mysql --socket=/data/mysql3306/mysql.sock -uadmin -p123'
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
#!/bin/bash
/data/mysql/bin/mysqld_safe --defaults-file=/data/mysql/ini/my.cnf --user=mysql &
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
#!/bin/bash
/data/mysql/bin/mysqladmin -u admin -p -S /data/mysql3306/mysql.sock shutdown
关于my.cnf里安装完毕后需要重新加一句
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
在线修改方式
#查看 SELECT @@sql_mode; #修改 set GLOBAL sql_mode ='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION ';
在线修改完毕后 开发的navicat需要重新连接一下