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文件
[client]default-character-set =utf8mb4
[mysql]default-character-set =utf8mb4
[mysqld]
character-set-server=uft8mb4
basedir= /data/mysql
datadir= /data/mysql3306/port= 3306socket= /data/mysql3306/mysql.sock
pid-file = /data/mysql3306/mysql3306.pid
log-error = /data/mysql3306/error.log
server-id=1slow-query-log = 1long_query_time= 0.2slow-query-log-file = /data/mysql3306/slow-queries.log
max_connections= 800max_connect_errors= 100000table_open_cache= 256query_cache_size=2M
character_set_server=utf8
init_connect='SET NAMES utf8'innodb_file_per_table=1innodb_buffer_pool_size=2048M
innodb_data_file_path=ibdata1:1024M:autoextend
innodb_flush_log_at_trx_commit=1innodb_log_buffer_size=16M
innodb_log_file_size=256M
innodb_log_files_in_group= 2innodb_max_dirty_pages_pct= 50log-bin = mysql-bin
sync_binlog=1binlog-format=row
expire_logs_days= 10interactive_timeout= 1800wait_timeout= 1800log_timestamps= system
my.cnf 参考内容
初始化
/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.userset authentication_string=password('YfD18$d079f!#DA') where user='root' and Host = 'localhost';
flush privileges;
alias mysql='mysql --socket=/data/mysql3306/mysql.sock -uadmin -p123'
#!/bin/bash/data/mysql/bin/mysqld_safe --defaults-file=/data/mysql/ini/my.cnf --user=mysql &
start.sh
#!/bin/bash/data/mysql/bin/mysqladmin -u admin -p -S /data/mysql3306/mysql.sock shutdown
stop.sh
关于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需要重新连接一下